Changeset ae7d03c in mainline for kernel/arch/amd64/src/userspace.c
- Timestamp:
- 2018-05-10T13:39:19Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e8975278
- Parents:
- b277bef
- git-author:
- Jiri Svoboda <jiri@…> (2018-05-10 07:38:12)
- git-committer:
- Jiri Svoboda <jiri@…> (2018-05-10 13:39:19)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/amd64/src/userspace.c
rb277bef rae7d03c 55 55 56 56 asm volatile ( 57 58 59 60 61 62 57 "pushq %[udata_des]\n" 58 "pushq %[stack_top]\n" 59 "pushq %[rflags]\n" 60 "pushq %[utext_des]\n" 61 "pushq %[entry]\n" 62 "movq %[uarg], %%rax\n" 63 63 64 65 66 67 68 69 70 71 72 73 74 64 /* %rdi is defined to hold pcb_ptr - set it to 0 */ 65 "xorq %%rdi, %%rdi\n" 66 "iretq\n" 67 :: [udata_des] "i" (GDT_SELECTOR(UDATA_DES) | PL_USER), 68 [stack_top] "r" ((uint8_t *) kernel_uarg->uspace_stack + 69 kernel_uarg->uspace_stack_size), 70 [rflags] "r" (rflags), 71 [utext_des] "i" (GDT_SELECTOR(UTEXT_DES) | PL_USER), 72 [entry] "r" (kernel_uarg->uspace_entry), 73 [uarg] "r" (kernel_uarg->uspace_uarg) 74 : "rax" 75 75 ); 76 76 77 77 /* Unreachable */ 78 while (true); 78 while (true) 79 ; 79 80 } 80 81
Note:
See TracChangeset
for help on using the changeset viewer.