mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
1. fixed InbvPutPixels() to save the ebx register which caused bootvid to crash when built with optimizations
2. build bootvid with optimizations when enabled svn path=/trunk/; revision=13346
This commit is contained in:
parent
c6e6ddf2d4
commit
fef48ab3fa
3 changed files with 7 additions and 7 deletions
|
@ -66,7 +66,6 @@ PUCHAR VideoMemory;
|
||||||
/* Must be 4 bytes per entry */
|
/* Must be 4 bytes per entry */
|
||||||
long maskbit[640];
|
long maskbit[640];
|
||||||
|
|
||||||
static HANDLE BitmapThreadHandle;
|
|
||||||
static CLIENT_ID BitmapThreadId;
|
static CLIENT_ID BitmapThreadId;
|
||||||
static PUCHAR BootimageBitmap;
|
static PUCHAR BootimageBitmap;
|
||||||
|
|
||||||
|
@ -556,6 +555,7 @@ STATIC BOOLEAN STDCALL
|
||||||
VidInitialize(VOID)
|
VidInitialize(VOID)
|
||||||
{
|
{
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
|
HANDLE BitmapThreadHandle;
|
||||||
|
|
||||||
InbvMapVideoMemory();
|
InbvMapVideoMemory();
|
||||||
InbvInitVGAMode();
|
InbvInitVGAMode();
|
||||||
|
@ -574,7 +574,7 @@ VidInitialize(VOID)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
NtClose(BitmapThreadHandle);
|
ZwClose(BitmapThreadHandle);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
_InbvPutPixels:
|
_InbvPutPixels:
|
||||||
pushl %ebp
|
pushl %ebp
|
||||||
movl %esp, %ebp
|
movl %esp, %ebp
|
||||||
|
pushl %ebx
|
||||||
|
|
||||||
/* Compute mask and put it in EBX
|
/* Compute mask and put it in EBX
|
||||||
mask = maskbit[x] */
|
mask = maskbit[x] */
|
||||||
|
@ -66,7 +67,7 @@ _InbvPutPixels:
|
||||||
(UCHAR) READ_REGISTER_UCHAR(VideoMemory + offset+0); */
|
(UCHAR) READ_REGISTER_UCHAR(VideoMemory + offset+0); */
|
||||||
movl (_VideoMemory), %esi
|
movl (_VideoMemory), %esi
|
||||||
addl %ebx, %esi
|
addl %ebx, %esi
|
||||||
movb 0x0(%esi), %bl
|
movb 0x0(%esi), %bl
|
||||||
/* Write color index for first pixel
|
/* Write color index for first pixel
|
||||||
*((PUCHAR)(VideoMemory + offset+0)) = (c >> 0*8) & 0xff; */
|
*((PUCHAR)(VideoMemory + offset+0)) = (c >> 0*8) & 0xff; */
|
||||||
movl 0x10(%ebp), %eax
|
movl 0x10(%ebp), %eax
|
||||||
|
@ -96,6 +97,7 @@ _InbvPutPixels:
|
||||||
shrl $0x8, %eax
|
shrl $0x8, %eax
|
||||||
movb %al, 0x3(%esi)
|
movb %al, 0x3(%esi)
|
||||||
|
|
||||||
|
popl %ebx
|
||||||
popl %ebp
|
popl %ebp
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
|
@ -618,10 +618,8 @@ endif
|
||||||
# if needed, until their problems can be found
|
# if needed, until their problems can be found
|
||||||
#
|
#
|
||||||
ifeq ($(OPTIMIZED), 1)
|
ifeq ($(OPTIMIZED), 1)
|
||||||
ifneq ($(TARGET_NAME), bootvid)
|
MK_CFLAGS += -O2 -Wno-strict-aliasing
|
||||||
MK_CFLAGS += -O2 -Wno-strict-aliasing
|
MK_CPPFLAGS += -O2 -Wno-strict-aliasing
|
||||||
MK_CPPFLAGS += -O2 -Wno-strict-aliasing
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(TARGET_LIBS),)
|
ifneq ($(TARGET_LIBS),)
|
||||||
|
|
Loading…
Reference in a new issue