Changeset 9732e98 in mainline for kernel/arch/amd64
- Timestamp:
 - 2009-08-08T09:30:33Z (16 years ago)
 - Branches:
 - lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
 - Children:
 - 586cd56
 - Parents:
 - 121966e
 - File:
 - 
      
- 1 edited
 
- 
          
  kernel/arch/amd64/src/userspace.c (modified) (1 diff)
 
 
Legend:
- Unmodified
 - Added
 - Removed
 
- 
      
kernel/arch/amd64/src/userspace.c
r121966e r9732e98 54 54 55 55 asm volatile ( 56 "pushq %[udata_des]\n"57 "pushq %[stack_size]\n"58 "pushq %[ipl]\n"59 "pushq %[utext_des]\n"60 "pushq %[entry]\n"61 "movq %[uarg], %%rax\n"56 "pushq %[udata_des]\n" 57 "pushq %[stack_size]\n" 58 "pushq %[ipl]\n" 59 "pushq %[utext_des]\n" 60 "pushq %[entry]\n" 61 "movq %[uarg], %%rax\n" 62 62 63 /* %rdi is defined to hold pcb_ptr - set it to 0 */64 "xorq %%rdi, %%rdi\n"65 "iretq\n"66 :: [udata_des] "i" (gdtselector(UDATA_DES) | PL_USER),67 [stack_size] "r" (kernel_uarg->uspace_stack + THREAD_STACK_SIZE),68 [ipl] "r" (ipl),69 [utext_des] "i" (gdtselector(UTEXT_DES) | PL_USER),70 [entry] "r" (kernel_uarg->uspace_entry),71 [uarg] "r" (kernel_uarg->uspace_uarg)72 : "rax"73 );63 /* %rdi is defined to hold pcb_ptr - set it to 0 */ 64 "xorq %%rdi, %%rdi\n" 65 "iretq\n" 66 :: [udata_des] "i" (gdtselector(UDATA_DES) | PL_USER), 67 [stack_size] "r" (kernel_uarg->uspace_stack + THREAD_STACK_SIZE), 68 [ipl] "r" (ipl), 69 [utext_des] "i" (gdtselector(UTEXT_DES) | PL_USER), 70 [entry] "r" (kernel_uarg->uspace_entry), 71 [uarg] "r" (kernel_uarg->uspace_uarg) 72 : "rax" 73 ); 74 74 75 75 /* Unreachable */ 76 while (1); 76 while (1) 77 ; 77 78 } 78 79  
  Note:
 See   TracChangeset
 for help on using the changeset viewer.
  