gdt[SEG_UCODE] and gdt[SEG_UDATA] for init, the first user-space process? (You can
use Bochs to answer this question.)
3695 10300a: 8b 45 e4 mov -0x1c(%ebp),%eax
3696 10300d: 88 90 b3 00 00 00 mov %dl,0xb3(%eax) ==> (0x0010aca4~0x0010aca8) = 0x00c0fa00
3697 103013: eb 2e jmp 103043 <setupsegs+0x578>
3698 103015: 8b 45 e4 mov -0x1c(%ebp),%eax ==> (0x0010acac~0x0010acb0) = 0x00c0f200
Reference:
<bochs:3> regs
eax: 0x0010ac00 1092608
ecx: 0xffffffc0 -64
edx: 0x00000000 0
ebx: 0x00000000 0
esp: 0x0010ae2c 1093164
ebp: 0x0010ae64 1093220
esi: 0x00000000 0
edi: 0x00000000 0
eip: 0x00103013
<bochs:4> print-stack
Stack address size 4
| STACK 0x0010ae2c [0x0000000a]
| STACK 0x0010ae30 [0x00000000]
| STACK 0x0010ae34 [0x0010ae64]
| STACK 0x0010ae38 [0x00103b9c]
| STACK 0x0010ae3c [0x0010ae6c]
| STACK 0x0010ae40 [0x0010e46c]
| STACK 0x0010ae44 [0x00000000]
| STACK 0x0010ae48 [0x0010ac00]
| STACK 0x0010ae4c [0x00000000]
| STACK 0x0010ae50 [0x0010aebc]
| STACK 0x0010ae54 [0x00105056]
| STACK 0x0010ae58 [0x00010094]
| STACK 0x0010ae5c [0x000e0000]
| STACK 0x0010ae60 [0x0000ffac]
| STACK 0x0010ae64 [0x0010ae94]
| STACK 0x0010ae68 [0x001033cf]
<bochs:6> x/ux 0x10aca4
[bochs]:
0x0010aca4 <bogus+ 0>: 0x00000000
<bochs:7> x/ux 0x10aca8
[bochs]:
0x0010aca8 <bogus+ 0>: 0x00c0fa00
<bochs:8> x/ux 0x10acac
[bochs]:
0x0010acac <bogus+ 0>: 0x00000000
<bochs:9> x/ux 0x10acb0
[bochs]:
0x0010acb0 <bogus+ 0>: 0x00c0f200