lfn
serial
ticket/834-toolchain-update
topic/msim-upgrade
topic/simplify-dev-export
Last change
on this file since 650cd22 was f66c203d, checked in by Martin Decky <martin@…>, 13 years ago |
explicitly load default BIOS IDT for real-mode VESA BIOS access (GRUB 2.00 setups an empty IDT for bootstrap)
always use an empty IDT during bootstrap (for consistency)
make sure the interrupts are disabled during bootstrap
make sure correct GDT is set after returning from VESA BIOS
|
-
Property mode
set to
100644
|
File size:
477 bytes
|
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.