source: mainline/kernel/arch/amd64/src/boot/vesa_ret.inc@ 650cd22

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
2vesa_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.