Changes in kernel/arch/amd64/src/userspace.c [811770c:2902e1bb] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/amd64/src/userspace.c
r811770c r2902e1bb 48 48 void userspace(uspace_arg_t *kernel_uarg) 49 49 { 50 uint64_t rflags = read_rflags();50 ipl_t ipl = interrupts_disable(); 51 51 52 rflags &= ~RFLAGS_NT;53 rflags |= RFLAGS_IF;52 ipl &= ~(RFLAGS_CF | RFLAGS_PF | RFLAGS_AF | RFLAGS_ZF | RFLAGS_SF | 53 RFLAGS_DF | RFLAGS_OF); 54 54 55 55 asm volatile ( 56 56 "pushq %[udata_des]\n" 57 57 "pushq %[stack_top]\n" 58 "pushq %[ rflags]\n"58 "pushq %[ipl]\n" 59 59 "pushq %[utext_des]\n" 60 60 "pushq %[entry]\n" … … 67 67 [stack_top] "r" ((uint8_t *) kernel_uarg->uspace_stack + 68 68 kernel_uarg->uspace_stack_size), 69 [ rflags] "r" (rflags),69 [ipl] "r" (ipl), 70 70 [utext_des] "i" (GDT_SELECTOR(UTEXT_DES) | PL_USER), 71 71 [entry] "r" (kernel_uarg->uspace_entry),
Note:
See TracChangeset
for help on using the changeset viewer.