merge from amd64 branch:
authorTimo Kreuzer <timo.kreuzer@reactos.org>
Thu, 25 Mar 2010 05:25:07 +0000 (05:25 +0000)
committerTimo Kreuzer <timo.kreuzer@reactos.org>
Thu, 25 Mar 2010 05:25:07 +0000 (05:25 +0000)
34741 (tkreuzer)
[BOOTVID]
- make bootvid build for PLATFORM=PC instead of ARCH=i386 to share the files between i386 and amd64
- fix ULONG <-> pointer casts

svn path=/trunk/; revision=46432

reactos/drivers/base/bootvid/bootvid.rbuild
reactos/drivers/base/bootvid/i386/bootvid.c
reactos/drivers/base/bootvid/i386/vga.c

index fc9f3ec..0c99631 100644 (file)
@@ -6,7 +6,7 @@
        <include base="bootvid">.</include>
        <library>ntoskrnl</library>
        <library>hal</library>
-       <if property="ARCH" value="i386">
+       <if property="PLATFORM" value="PC">
                <directory name="i386">
                        <file>bootvid.c</file>
                        <file>bootdata.c</file>
index c55ffc1..3d0ae50 100644 (file)
@@ -355,7 +355,7 @@ BOOLEAN
 NTAPI
 VidInitialize(IN BOOLEAN SetMode)
 {
-    ULONG Context = 0;
+    ULONG_PTR Context = 0;
     PHYSICAL_ADDRESS TranslatedAddress;
     PHYSICAL_ADDRESS NullAddress = {{0, 0}}, VgaAddress;
     ULONG AddressSpace = 1;
index e11aae7..eeb06fe 100644 (file)
@@ -319,8 +319,8 @@ VgaScroll(ULONG Scroll)
             do
             {
                 /* Write value in the new position so that we can do the scroll */
-                WRITE_REGISTER_UCHAR((PUCHAR)j,
-                                     READ_REGISTER_UCHAR((PUCHAR)j + i));
+                WRITE_REGISTER_UCHAR(UlongToPtr(j),
+                                     READ_REGISTER_UCHAR(UlongToPtr(j + i)));
 
                 /* Move to the next memory location to write to */
                 j++;
@@ -1197,7 +1197,7 @@ VidSolidColorFill(IN ULONG Left,
     __outpw(0x3CE, 7);
 
     /* Calculate pixel position for the read */
-    Offset = VgaBase + (Top * 80) + (PUCHAR)LeftOffset;
+    Offset = VgaBase + (Top * 80) + (PUCHAR)(ULONG_PTR)LeftOffset;
 
     /* Select the bitmask register and write the mask */
     __outpw(0x3CE, (USHORT)lMask);
@@ -1221,7 +1221,7 @@ VidSolidColorFill(IN ULONG Left,
     if (Distance)
     {
         /* Calculate new pixel position */
-        Offset = VgaBase + (Top * 80) + (PUCHAR)RightOffset;
+        Offset = VgaBase + (Top * 80) + (PUCHAR)(ULONG_PTR)RightOffset;
         Distance--;
 
         /* Select the bitmask register and write the mask */
@@ -1247,7 +1247,7 @@ VidSolidColorFill(IN ULONG Left,
         if (Distance)
         {
             /* Calculate new pixel position */
-            Offset = VgaBase + (Top * 80) + (PUCHAR)(LeftOffset + 1);
+            Offset = VgaBase + (Top * 80) + (PUCHAR)(ULONG_PTR)(LeftOffset + 1);
 
             /* Set the bitmask to 0xFF for all 4 planes */
             __outpw(0x3CE, 0xFF08);