Author: tkreuzer
Date: Tue Sep 27 19:29:52 2011
New Revision: 53875
URL:
http://svn.reactos.org/svn/reactos?rev=53875&view=rev
Log:
[FREELDR]
Add ebp to the bios register set.
Modified:
trunk/reactos/boot/freeldr/freeldr/arch/amd64/int386.S
trunk/reactos/boot/freeldr/freeldr/arch/i386/entry.S
trunk/reactos/boot/freeldr/freeldr/arch/i386/int386.S
trunk/reactos/boot/freeldr/freeldr/arch/realmode/int386.inc
trunk/reactos/boot/freeldr/freeldr/include/arch/pc/pcbios.h
trunk/reactos/boot/freeldr/freeldr/include/arch/pc/x86common.h
Modified: trunk/reactos/boot/freeldr/freeldr/arch/amd64/int386.S
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/arch/amd64/int386.S [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/arch/amd64/int386.S [iso-8859-1] Tue Sep 27
19:29:52 2011
@@ -19,6 +19,7 @@
#include <asm.inc>
#include <arch/pc/x86common.h>
+#include <arch/pc/pcbios.h>
.code64
EXTERN CallRealMode:PROC
Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/entry.S
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/arch/i386/entry.S [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/arch/i386/entry.S [iso-8859-1] Tue Sep 27 19:29:52
2011
@@ -19,6 +19,7 @@
#include <asm.inc>
#include <arch/pc/x86common.h>
+#include <arch/pc/pcbios.h>
EXTERN _BootMain:PROC
EXTERN _InitIdt:PROC
Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/int386.S
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/arch/i386/int386.S [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/arch/i386/int386.S [iso-8859-1] Tue Sep 27 19:29:52
2011
@@ -44,6 +44,8 @@
Int386_esi:
.long 0
Int386_edi:
+ .long 0
+Int386_ebp:
.long 0
Int386_ds:
Modified: trunk/reactos/boot/freeldr/freeldr/arch/realmode/int386.inc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/arch/realmode/int386.inc [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/arch/realmode/int386.inc [iso-8859-1] Tue Sep 27
19:29:52 2011
@@ -1,4 +1,5 @@
+#include "../../include/arch/pc/pcbios.h"
Int386:
/* Save all registers + segment registers */
Modified: trunk/reactos/boot/freeldr/freeldr/include/arch/pc/pcbios.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/inclu…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/include/arch/pc/pcbios.h [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/include/arch/pc/pcbios.h [iso-8859-1] Tue Sep 27
19:29:52 2011
@@ -10,6 +10,7 @@
unsigned long esi;
unsigned long edi;
+ unsigned long ebp;
unsigned short ds;
unsigned short es;
@@ -29,6 +30,7 @@
unsigned short si, _upper_si;
unsigned short di, _upper_di;
+ unsigned short bp, _upper_bp;
unsigned short ds;
unsigned short es;
@@ -56,6 +58,7 @@
unsigned short si, _upper_si;
unsigned short di, _upper_di;
+ unsigned short bp, _upper_bp;
unsigned short ds;
unsigned short es;
@@ -96,3 +99,19 @@
VOID DetectHardware(VOID); // Implemented in hardware.c
#endif /* ! __ASM__ */
+
+/* Layout of the REGS structure */
+#define REGS_EAX 0
+#define REGS_EBX 4
+#define REGS_ECX 8
+#define REGS_EDX 12
+#define REGS_ESI 16
+#define REGS_EDI 20
+#define REGS_EBP 24
+#define REGS_DS 28
+#define REGS_ES 30
+#define REGS_FS 32
+#define REGS_GS 34
+#define REGS_EFLAGS 36
+#define REGS_SIZE 40
+
Modified: trunk/reactos/boot/freeldr/freeldr/include/arch/pc/x86common.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/inclu…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/include/arch/pc/x86common.h [iso-8859-1]
(original)
+++ trunk/reactos/boot/freeldr/freeldr/include/arch/pc/x86common.h [iso-8859-1] Tue Sep 27
19:29:52 2011
@@ -23,25 +23,10 @@
#define BIOSCALLBUFSEGMENT (BIOSCALLBUFFER/16) /* Buffer to store temporary data for any
Int386() call */
#define BIOSCALLBUFOFFSET HEX(0000) /* Buffer to store temporary data for any Int386()
call */
-/* Layout of the REGS structure */
-#define REGS_EAX 0
-#define REGS_EBX 4
-#define REGS_ECX 8
-#define REGS_EDX 12
-#define REGS_ESI 16
-#define REGS_EDI 20
-#define REGS_DS 24
-#define REGS_ES 26
-#define REGS_FS 28
-#define REGS_GS 30
-#define REGS_EFLAGS 32
-#define REGS_SIZE 36
-
/* These addresses specify the realmode "BSS section" layout */
#define BSS_RealModeEntry (BSS_START + 0)
-#define BSS_CallbackAddress (BSS_START + 4)
-#define BSS_CallbackReturn (BSS_START + 8)
-#define BSS_RegisterSet (BSS_START + 16) /* size = 36 */
+#define BSS_CallbackReturn (BSS_START + 4)
+#define BSS_RegisterSet (BSS_START + 8) /* size = 40 */
#define BSS_IntVector (BSS_START + 52)
#define BSS_PxeEntryPoint (BSS_START + 56)
#define BSS_PxeBufferSegment (BSS_START + 60)