Rev 4127 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4127 | Rev 4156 | ||
---|---|---|---|
1 | .code32 |
1 | .code32 |
2 | vesa_init_protected: |
2 | vesa_init_protected: |
3 | movw $gdtselector(KDATA_DES), %cx |
3 | movw $gdtselector(KDATA_DES), %cx |
4 | movw %cx, %es |
4 | movw %cx, %es |
5 | movw %cx, %ds # kernel data + stack |
5 | movw %cx, %ds # kernel data + stack |
6 | movw %cx, %ss |
6 | movw %cx, %ss |
7 | 7 | ||
8 | # |
8 | # |
9 | # Simics seems to remove hidden part of GS on entering user mode |
9 | # Simics seems to remove hidden part of GS on entering user mode |
10 | # when _visible_ part of GS does not point to user-mode segment. |
10 | # when _visible_ part of GS does not point to user-mode segment. |
11 | # |
11 | # |
12 | 12 | ||
13 | movw $gdtselector(UDATA_DES), %cx |
13 | movw $gdtselector(UDATA_DES), %cx |
14 | movw %cx, %fs |
14 | movw %cx, %fs |
15 | movw %cx, %gs |
15 | movw %cx, %gs |
16 | 16 | ||
17 | movl $START_STACK, %esp # initialize stack pointer |
17 | movl $START_STACK, %esp # initialize stack pointer |
18 | 18 | ||
19 | jmpl $gdtselector(KTEXT32_DES), $vesa_meeting_point |
19 | jmpl $gdtselector(KTEXT32_DES), $vesa_meeting_point |
20 | 20 |