[ros-diffs] [tkreuzer] 52305: [FREELDR] Fix build with MSVC

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Fri Jun 17 11:31:05 UTC 2011


Author: tkreuzer
Date: Fri Jun 17 11:31:05 2011
New Revision: 52305

URL: http://svn.reactos.org/svn/reactos?rev=52305&view=rev
Log:
[FREELDR]
Fix build with MSVC

Modified:
    trunk/reactos/boot/freeldr/freeldr/arch/i386/i386pnp.cmake.S
    trunk/reactos/boot/freeldr/freeldr/arch/i386/realmode.S

Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/i386pnp.cmake.S
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/i386/i386pnp.cmake.S?rev=52305&r1=52304&r2=52305&view=diff
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/arch/i386/i386pnp.cmake.S [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/arch/i386/i386pnp.cmake.S [iso-8859-1] Fri Jun 17 11:31:05 2011
@@ -20,8 +20,9 @@
 #include <asm.inc>
 #include <arch/pc/x86common.h>
 
+EXTERN i386CallRealMode:PROC
+
 .code32
-
 
 /*
  * U32 PnpBiosSupported(VOID);
@@ -74,13 +75,13 @@
 
 	/* Calculate the bios entry point (far pointer) */
 	xor eax, eax
-	mov ax, [esi + 15]
+	mov ax, [esi + HEX(0F)]
 	shl eax, 16
-	mov ax, [esi + 0x0D]
-	mov [BSS_PnpBiosEntryPoint], eax
+	mov ax, [esi + HEX(0D)]
+	mov dword ptr ds:[BSS_PnpBiosEntryPoint], eax
 
 	/* Store bios data segment */
-	mov ax, [esi + 0x1B]
+	mov ax, [esi + HEX(1B)]
 	mov word ptr ds:[BSS_PnpBiosDataSegment], ax
 
 pnp_not_found:
@@ -137,7 +138,8 @@
  *
  * RETURNS:
  */
-EXTERN(_PnpBiosGetDeviceNode)
+PUBLIC _PnpBiosGetDeviceNode
+_PnpBiosGetDeviceNode:
 	.code32
 
 	push ebp
@@ -149,23 +151,23 @@
 	/* get current node number */
 	mov esi, [ebp + 8]
 	mov al, [esi]
-	mov [BSS_PnpNodeNumber], al
+	mov byte ptr ds:[BSS_PnpNodeNumber], al
 
 	/* convert pointer to node buffer to segment/offset */
 	mov eax, [ebp + 12]
 	shr eax, 4
-	and eax, 0xf000
-	mov word ptr [BSS_PnpBiosBufferSegment], ax
+	and eax, HEX(0f000)
+	mov word ptr ds:[BSS_PnpBiosBufferSegment], ax
 	mov eax, [ebp + 12]
-	and eax, 0xffff
-	mov [BSS_PnpBiosBufferOffset], ax
+	and eax, HEX(0ffff)
+	mov word ptr ds:[BSS_PnpBiosBufferOffset], ax
 
     mov bx, FNID_PnpBiosGetDeviceNode
     call i386CallRealMode
 
 	/* update node number */
 	mov esi, [ebp + 8]
-	mov al, [BSS_PnpNodeNumber]
+	mov al, byte ptr ds:[BSS_PnpNodeNumber]
 	mov [esi], al
 
 	pop es
@@ -178,4 +180,5 @@
 
 	ret
 
+END
 /* EOF */

Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/realmode.S
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/i386/realmode.S?rev=52305&r1=52304&r2=52305&view=diff
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/arch/i386/realmode.S [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/arch/i386/realmode.S [iso-8859-1] Fri Jun 17 11:31:05 2011
@@ -38,13 +38,4 @@
 PUBLIC _DriveMapInt13HandlerMapList
 _DriveMapInt13HandlerMapList:
 
-PUBLIC _PnpBiosGetDeviceNode
-_PnpBiosGetDeviceNode:
-
-PUBLIC _PnpBiosGetDeviceNodeCount
-_PnpBiosGetDeviceNodeCount:
-
-PUBLIC _PnpBiosSupported
-_PnpBiosSupported:
-
 END




More information about the Ros-diffs mailing list