TLS and thread_child_tid (Shimada-san)
This commit is contained in:
@@ -12,6 +12,12 @@ struct malloc_header {
|
||||
unsigned long size;
|
||||
};
|
||||
|
||||
#include <aal/lock.h>
|
||||
#define CPU_STATUS_DISABLE (0)
|
||||
#define CPU_STATUS_IDLE (1)
|
||||
#define CPU_STATUS_RUNNING (2)
|
||||
extern aal_spinlock_t cpu_status_lock;
|
||||
|
||||
struct cpu_local_var {
|
||||
/* malloc */
|
||||
struct malloc_header free_list;
|
||||
@@ -26,6 +32,9 @@ struct cpu_local_var {
|
||||
|
||||
struct syscall_params scp;
|
||||
struct ikc_scd_init_param iip;
|
||||
|
||||
int status;
|
||||
int fs;
|
||||
} __attribute__((aligned(64)));
|
||||
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ struct vm_regions {
|
||||
unsigned long brk_start, brk_end;
|
||||
unsigned long map_start, map_end;
|
||||
unsigned long stack_start, stack_end;
|
||||
unsigned long tlsblock_base, tlsblock_limit;
|
||||
};
|
||||
|
||||
struct process_vm {
|
||||
@@ -45,6 +46,10 @@ struct process {
|
||||
|
||||
aal_mc_kernel_context_t ctx;
|
||||
aal_mc_user_context_t *uctx;
|
||||
|
||||
struct thread {
|
||||
int *clear_child_tid;
|
||||
} thread;
|
||||
};
|
||||
|
||||
struct process *create_process(unsigned long user_pc);
|
||||
|
||||
Reference in New Issue
Block a user