X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=reactos%2Fhal%2Fhalx86%2Fgeneric%2Ftrap.S;h=2ad319bfb6e05dacd4a108f65b7246169579cbe7;hp=00fc256387e42f37c25d12491aa284fe926fda39;hb=b69e24713a4ae49efb6a65ca1eea4fbd0890bdab;hpb=d58b5895963fe865fd29f5d68ecfc8e6e02cc68d diff --git a/reactos/hal/halx86/generic/trap.S b/reactos/hal/halx86/generic/trap.S index 00fc256387e..2ad319bfb6e 100644 --- a/reactos/hal/halx86/generic/trap.S +++ b/reactos/hal/halx86/generic/trap.S @@ -20,4 +20,26 @@ TRAP_ENTRY HalpApcInterrupt, KI_SOFTWARE_TRAP TRAP_ENTRY HalpClockInterrupt, KI_PUSH_FAKE_ERROR_CODE TRAP_ENTRY HalpProfileInterrupt, KI_PUSH_FAKE_ERROR_CODE +PUBLIC @HalpExitToV86@4 +@HalpExitToV86@4: + /* Point esp to the iret frame and return */ + lea esp, [ecx + KTRAP_FRAME_EIP] + iret + +/* Here starts the real mode code */ +.code16 +PUBLIC _HalpRealModeStart +_HalpRealModeStart: + /* INT 0x10: AH = 0 (Set video Mode), AL = 0x12 (Mode 12) */ + mov eax, HEX(12) + int HEX(10) + + /* BOP */ + .byte HEX(C4), HEX(C4) + +/* The real mode stack */ +.align 4 +.space 2048 +_HalpRealModeEnd: +PUBLIC _HalpRealModeEnd