- 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
This commit is contained in:
Timo Kreuzer
2008-07-24 14:15:12 +00:00
parent af63b172fe
commit 0088ce62be
4 changed files with 23 additions and 8 deletions
+2 -2
View 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>
@@ -14,7 +14,7 @@
</directory>
</if>
<if property="ARCH" value="arm">
<directory name="arm">
<directory name="arm">
<file>bootvid.c</file>
<file>bootdata.c</file>
</directory>
@@ -0,0 +1,15 @@
LIBRARY BOOTVID.DLL
EXPORTS
VidBitBlt
VidBufferToScreenBlt
VidCleanUp
VidDisplayString
VidDisplayStringXY
VidInitialize
VidResetDisplay
VidScreenToBufferBlt
VidSetScrollRegion
VidSetTextColor
VidSolidColorFill
+1 -1
View 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}};
ULONG AddressSpace = 1;
+5 -5
View File
@@ -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);