Line | |
---|
1 | .code32
|
---|
2 | vesa_init_protected:
|
---|
3 | cli
|
---|
4 | cld
|
---|
5 |
|
---|
6 | /* Initialize stack pointer */
|
---|
7 | movl $START_STACK, %esp
|
---|
8 |
|
---|
9 | /* Kernel data + stack */
|
---|
10 | movw $GDT_SELECTOR(KDATA_DES), %cx
|
---|
11 | movw %cx, %es
|
---|
12 | movw %cx, %ds
|
---|
13 | movw %cx, %ss
|
---|
14 |
|
---|
15 | /*
|
---|
16 | * Simics seems to remove hidden part of GS on entering user mode
|
---|
17 | * when _visible_ part of GS does not point to user-mode segment.
|
---|
18 | */
|
---|
19 |
|
---|
20 | movw $GDT_SELECTOR(UDATA_DES), %cx
|
---|
21 | movw %cx, %fs
|
---|
22 | movw %cx, %gs
|
---|
23 |
|
---|
24 | jmpl $GDT_SELECTOR(KTEXT32_DES), $vesa_meeting_point
|
---|
Note:
See
TracBrowser
for help on using the repository browser.