[ros-diffs] [tkreuzer] 53875: [FREELDR] Add ebp to the bios register set.

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Tue Sep 27 19:29:52 UTC 2011


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/amd64/int386.S?rev=53875&r1=53874&r2=53875&view=diff
==============================================================================
--- 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/i386/entry.S?rev=53875&r1=53874&r2=53875&view=diff
==============================================================================
--- 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/i386/int386.S?rev=53875&r1=53874&r2=53875&view=diff
==============================================================================
--- 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/realmode/int386.inc?rev=53875&r1=53874&r2=53875&view=diff
==============================================================================
--- 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/include/arch/pc/pcbios.h?rev=53875&r1=53874&r2=53875&view=diff
==============================================================================
--- 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/include/arch/pc/x86common.h?rev=53875&r1=53874&r2=53875&view=diff
==============================================================================
--- 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)




More information about the Ros-diffs mailing list