67,8 → 67,15 |
#define NORM_EXC ((char *) 0x80000180) |
#define CACHE_EXC ((char *) 0x80000100) |
|
bootinfo_t bootinfo; |
|
/* Why the linker moves the variable 64K away in assembler |
* when not in .text section ???????? |
*/ |
__address supervisor_sp __attribute__ ((section (".text"))); |
/* Stack pointer saved when entering user mode */ |
/* TODO: How do we do it on SMP system???? */ |
bootinfo_t bootinfo __attribute__ ((section (".text"))); |
|
void arch_pre_main(void) |
{ |
/* Setup usermode */ |
133,14 → 140,6 |
{ |
} |
|
/* Stack pointer saved when entering user mode */ |
/* TODO: How do we do it on SMP system???? */ |
|
/* Why the linker moves the variable 64K away in assembler |
* when not in .text section ???????? |
*/ |
__address supervisor_sp __attribute__ ((section (".text"))); |
|
void userspace(uspace_arg_t *kernel_uarg) |
{ |
/* EXL=1, UM=1, IE=1 */ |