1. fixed InbvPutPixels() to save the ebx register which caused bootvid
to crash when built with optimizations
2. build bootvid with optimizations when enabled
Modified: trunk/reactos/drivers/dd/bootvid/bootvid.c
Modified: trunk/reactos/drivers/dd/bootvid/pixelsup_i386.S
Modified: trunk/reactos/tools/helper.mk
_____
Modified: trunk/reactos/drivers/dd/bootvid/bootvid.c
--- trunk/reactos/drivers/dd/bootvid/bootvid.c 2005-01-28 06:10:01 UTC
(rev 13345)
+++ trunk/reactos/drivers/dd/bootvid/bootvid.c 2005-01-28 11:37:09 UTC
(rev 13346)
@@ -66,7 +66,6 @@
/* Must be 4 bytes per entry */
long maskbit[640];
-static HANDLE BitmapThreadHandle;
static CLIENT_ID BitmapThreadId;
static PUCHAR BootimageBitmap;
@@ -556,6 +555,7 @@
VidInitialize(VOID)
{
NTSTATUS Status;
+ HANDLE BitmapThreadHandle;
InbvMapVideoMemory();
InbvInitVGAMode();
@@ -574,7 +574,7 @@
return FALSE;
}
- NtClose(BitmapThreadHandle);
+ ZwClose(BitmapThreadHandle);
return TRUE;
}
_____
Modified: trunk/reactos/drivers/dd/bootvid/pixelsup_i386.S
--- trunk/reactos/drivers/dd/bootvid/pixelsup_i386.S 2005-01-28
06:10:01 UTC (rev 13345)
+++ trunk/reactos/drivers/dd/bootvid/pixelsup_i386.S 2005-01-28
11:37:09 UTC (rev 13346)
@@ -28,6 +28,7 @@
_InbvPutPixels:
pushl %ebp
movl %esp, %ebp
+ pushl %ebx
/* Compute mask and put it in EBX
mask = maskbit[x] */
@@ -66,7 +67,7 @@
(UCHAR) READ_REGISTER_UCHAR(VideoMemory + offset+0); */
movl (_VideoMemory), %esi
addl %ebx, %esi
- movb 0x0(%esi), %bl
+ movb 0x0(%esi), %bl
/* Write color index for first pixel
*((PUCHAR)(VideoMemory + offset+0)) = (c >> 0*8) & 0xff; */
movl 0x10(%ebp), %eax
@@ -96,6 +97,7 @@
shrl $0x8, %eax
movb %al, 0x3(%esi)
+ popl %ebx
popl %ebp
ret
_____
Modified: trunk/reactos/tools/helper.mk
--- trunk/reactos/tools/helper.mk 2005-01-28 06:10:01 UTC (rev
13345)
+++ trunk/reactos/tools/helper.mk 2005-01-28 11:37:09 UTC (rev
13346)
@@ -618,10 +618,8 @@
# if needed, until their problems can be found
#
ifeq ($(OPTIMIZED), 1)
- ifneq ($(TARGET_NAME), bootvid)
- MK_CFLAGS += -O2 -Wno-strict-aliasing
- MK_CPPFLAGS += -O2 -Wno-strict-aliasing
- endif
+ MK_CFLAGS += -O2 -Wno-strict-aliasing
+ MK_CPPFLAGS += -O2 -Wno-strict-aliasing
endif
ifneq ($(TARGET_LIBS),)