From 0088ce62be6bdbd46b0c196a5be3bcc8dcfec6b0 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Thu, 24 Jul 2008 14:15:12 +0000 Subject: [PATCH] - make bootvid build for PLATFORM=PC instead of ARCH=i386 to share the files between i386 and amd64 - fix ULONG <-> pointer casts - add bootvid_amd64.def svn path=/branches/ros-amd64-bringup/; revision=34741 --- reactos/drivers/base/bootvid/bootvid.rbuild | 4 ++-- reactos/drivers/base/bootvid/bootvid_amd64.def | 15 +++++++++++++++ reactos/drivers/base/bootvid/i386/bootvid.c | 2 +- reactos/drivers/base/bootvid/i386/vga.c | 10 +++++----- 4 files changed, 23 insertions(+), 8 deletions(-) create mode 100644 reactos/drivers/base/bootvid/bootvid_amd64.def diff --git a/reactos/drivers/base/bootvid/bootvid.rbuild b/reactos/drivers/base/bootvid/bootvid.rbuild index fcd44ebb09c..4a733a2f947 100644 --- a/reactos/drivers/base/bootvid/bootvid.rbuild +++ b/reactos/drivers/base/bootvid/bootvid.rbuild @@ -6,7 +6,7 @@ . ntoskrnl hal - + bootvid.c bootdata.c @@ -14,7 +14,7 @@ - + bootvid.c bootdata.c diff --git a/reactos/drivers/base/bootvid/bootvid_amd64.def b/reactos/drivers/base/bootvid/bootvid_amd64.def new file mode 100644 index 00000000000..7d3aacc1367 --- /dev/null +++ b/reactos/drivers/base/bootvid/bootvid_amd64.def @@ -0,0 +1,15 @@ +LIBRARY BOOTVID.DLL + +EXPORTS +VidBitBlt +VidBufferToScreenBlt +VidCleanUp +VidDisplayString +VidDisplayStringXY +VidInitialize +VidResetDisplay +VidScreenToBufferBlt +VidSetScrollRegion +VidSetTextColor +VidSolidColorFill + diff --git a/reactos/drivers/base/bootvid/i386/bootvid.c b/reactos/drivers/base/bootvid/i386/bootvid.c index aaf11a38f9b..1ade54a4fd1 100644 --- a/reactos/drivers/base/bootvid/i386/bootvid.c +++ b/reactos/drivers/base/bootvid/i386/bootvid.c @@ -355,7 +355,7 @@ BOOLEAN NTAPI VidInitialize(IN BOOLEAN SetMode) { - ULONG Context = 0; + ULONG_PTR Context = 0; PHYSICAL_ADDRESS TranslatedAddress; PHYSICAL_ADDRESS NullAddress = {{0}}; ULONG AddressSpace = 1; diff --git a/reactos/drivers/base/bootvid/i386/vga.c b/reactos/drivers/base/bootvid/i386/vga.c index 83405ee13a9..6ace318acf5 100644 --- a/reactos/drivers/base/bootvid/i386/vga.c +++ b/reactos/drivers/base/bootvid/i386/vga.c @@ -314,8 +314,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++; @@ -1192,7 +1192,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); @@ -1216,7 +1216,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 */ @@ -1242,7 +1242,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);