mirror of
https://github.com/reactos/reactos.git
synced 2026-05-24 00:00:41 +08:00
committed by
Hermès BÉLUSCA - MAÏTO
parent
16f9ad2f46
commit
3964c936cb
@@ -29,15 +29,18 @@ Startup:
|
||||
mov byte ptr ds:[BSS_BootPartition], dh
|
||||
|
||||
/* Setup a real mode stack */
|
||||
mov sp, word ptr ds:[stack16]
|
||||
mov sp, STACK16ADDR
|
||||
|
||||
/* Enable A20 address line */
|
||||
call EnableA20
|
||||
|
||||
/* Relocate FreeLdr if necessary */
|
||||
call RelocateFreeLdr
|
||||
|
||||
/* Output first status */
|
||||
mov si, offset Msg_Starting
|
||||
call writestr
|
||||
|
||||
/* Enable A20 address line */
|
||||
call EnableA20
|
||||
|
||||
/* Check the CPU */
|
||||
call CheckFor64BitSupport
|
||||
test al, al
|
||||
@@ -361,12 +364,13 @@ CallbackTable:
|
||||
.word PnpBiosGetDeviceNode
|
||||
.word PnpBiosGetDockStationInformation
|
||||
|
||||
/* 16-bit stack pointer */
|
||||
/* 16-bit stack pointer (the code must change it to the current stack pointer later) */
|
||||
stack16:
|
||||
.word STACK16ADDR
|
||||
.word 0
|
||||
|
||||
|
||||
#include "int386.inc"
|
||||
#include "relocator.inc"
|
||||
#include "helpers.inc"
|
||||
#include "pxe.inc"
|
||||
#include "pnp.inc"
|
||||
|
||||
@@ -25,11 +25,18 @@ RealModeEntryPoint:
|
||||
mov ss, ax
|
||||
|
||||
/* Setup the stack */
|
||||
mov sp, word ptr ds:[stack16]
|
||||
mov sp, STACK16ADDR
|
||||
|
||||
/* Enable A20 address line */
|
||||
call EnableA20
|
||||
|
||||
/* Relocate FreeLdr if necessary */
|
||||
call RelocateFreeLdr
|
||||
|
||||
/* Output first status */
|
||||
mov si, offset Msg_Starting
|
||||
call writestr
|
||||
|
||||
/* Save real mode entry point in shared memory */
|
||||
mov dword ptr ds:[BSS_RealModeEntry], offset switch_to_real16
|
||||
|
||||
@@ -54,6 +61,8 @@ RealModeEntryPoint:
|
||||
|
||||
jmp exit_to_protected
|
||||
|
||||
Msg_Starting:
|
||||
.ascii "Starting FreeLoader...", CR, LF, NUL
|
||||
|
||||
/* This is the entry point from protected mode */
|
||||
switch_to_real16:
|
||||
@@ -143,9 +152,9 @@ CallbackTable:
|
||||
.word PnpBiosGetDockStationInformation
|
||||
|
||||
|
||||
/* 16-bit stack pointer */
|
||||
/* 16-bit stack pointer (the code must change it to the current stack pointer later) */
|
||||
stack16:
|
||||
.word STACK16ADDR
|
||||
.word 0
|
||||
|
||||
|
||||
.align 4 /* force 4-byte alignment */
|
||||
@@ -191,6 +200,7 @@ rmode_idtptr:
|
||||
.long 0 /* Base Address */
|
||||
|
||||
#include "int386.inc"
|
||||
#include "relocator.inc"
|
||||
#if defined(SARCH_PC98)
|
||||
#include "helpers_pc98.inc"
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user