2003-08-11 Casper S. Hornstrup <[email protected]>

* bootdata/txtsetup.sif (SetupData): Add /NOBOOTSCREEN to OsLoadOptions.
	* hal/halx86/display.c (CHAR_ATTRIBUTE_BLACK): Define.
	(HalClearDisplay): Add CharAttribute parameter.
	(HalInitializeDisplay, HalReleaseDisplayOwnership): Blue screen.
	* hal/halx86/halinit.c (DriverEntry): Blue screen for boot phase 2.
	* include/reactos/resource.h (IDB_BOOTIMAGE): Define.
	* ntoskrnl/Makefile: Add boot video objects.
	* ntoskrnl/Makefile.i386: Ditto.
	* ntoskrnl/ntoskrnl.def: Add boot video exports.
	* ntoskrnl/ntoskrnl.edf: Ditto.
	* ntoskrnl/ntoskrnl.rc (IDB_BOOTIMAGE): Define.
	* ntoskrnl/include/internal/kd.h (KdInit3): Add.
	* ntoskrnl/kd/kdebug.c (KdInitSystem): Print information in KdInit3.
	* ntoskrnl/ke/bug.c (KeBugCheckWithTf, KeBugCheckEx): Switch to
	text-mode on crash if needed.
	* ntoskrnl/ke/main.c (ExpInitializeExecutive): Display bootscreen image
	during boot.
	* ntoskrnl/ke/i386/v86m_sup.S (_KiV86Complete): Restore previous mode and
	old exception handler list.
	* subsys/csrss/init.c: Change PrintString to DPRINT1.
	* subsys/smss/init.c: Change PrintString to DPRINT1.
	(SignalInitEvent): New.
	(InitSessionManager): Call SignalInitEvent to switch to text-mode if
	needed.
	* subsys/smss/smss.c: Change PrintString to DPRINT1.
	* ntoskrnl/inbv: New directory.
	* ntoskrnl/inbv/i386: Ditto.
	* ntoskrnl/res: Ditto.
	* include/ntos/bootvid.h: New file.
	* ntoskrnl/inbv/.cvsignore: Ditto.
	* ntoskrnl/inbv/bootvid.c: Ditto.
	* ntoskrnl/inbv/inbv.c: Ditto.
	* ntoskrnl/inbv/i386/.cvsignore: Ditto.
	* ntoskrnl/inbv/i386/pixelsup.S: Ditto.
	* ntoskrnl/res/bootimage.bmp: Ditto.

svn path=/trunk/; revision=5529
This commit is contained in:
Casper Hornstrup
2003-08-11 18:50:12 +00:00
parent bad8c294c5
commit 9858f2daeb
25 changed files with 1539 additions and 202 deletions
+8 -7
View File
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: display.c,v 1.5 2003/06/21 14:25:30 gvg Exp $
/* $Id: display.c,v 1.6 2003/08/11 18:50:12 chorns Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -110,7 +110,8 @@
#define CRTC_CURLO 0x0f
#define CHAR_ATTRIBUTE 0x17 /* grey on blue */
#define CHAR_ATTRIBUTE_BLACK 0x00 /* black on black */
#define CHAR_ATTRIBUTE 0x17 /* grey on blue */
/* VARIABLES ****************************************************************/
@@ -130,14 +131,14 @@ static PHAL_RESET_DISPLAY_PARAMETERS HalResetDisplayParameters = NULL;
/* STATIC FUNCTIONS *********************************************************/
static VOID
HalClearDisplay (VOID)
VOID
HalClearDisplay (UCHAR CharAttribute)
{
WORD *ptr = (WORD*)VideoBuffer;
ULONG i;
for (i = 0; i < SizeX * SizeY; i++, ptr++)
*ptr = ((CHAR_ATTRIBUTE << 8) + ' ');
*ptr = ((CharAttribute << 8) + ' ');
CursorX = 0;
CursorY = 0;
@@ -214,7 +215,7 @@ HalInitializeDisplay (PLOADER_PARAMETER_BLOCK LoaderBlock)
#ifdef BOCHS_30ROWS
SizeY=30;
#endif
HalClearDisplay();
HalClearDisplay(CHAR_ATTRIBUTE_BLACK);
DisplayInitialized = TRUE;
}
@@ -238,7 +239,7 @@ HalReleaseDisplayOwnership()
if (HalResetDisplayParameters(SizeX, SizeY) == TRUE)
{
HalOwnsDisplay = TRUE;
HalClearDisplay();
HalClearDisplay(CHAR_ATTRIBUTE);
}
}
+10 -1
View File
@@ -1,4 +1,4 @@
/* $Id: halinit.c,v 1.4 2003/02/26 14:14:03 ekohl Exp $
/* $Id: halinit.c,v 1.5 2003/08/11 18:50:12 chorns Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@@ -24,6 +24,9 @@
/* FUNCTIONS ***************************************************************/
extern VOID
HalClearDisplay (UCHAR CharAttribute);
NTSTATUS
STDCALL
DriverEntry(
@@ -39,6 +42,7 @@ HalInitSystem (ULONG BootPhase,
{
if (BootPhase == 0)
{
/* Initialize display and make the screen black */
HalInitializeDisplay (LoaderBlock);
#ifdef MP
@@ -63,6 +67,11 @@ HalInitSystem (ULONG BootPhase,
/* Enumerate the devices on the motherboard */
HalpStartEnumerator();
}
else if (BootPhase == 2)
{
/* Go to blue screen */
HalClearDisplay (0x17); /* grey on blue */
}
return TRUE;
}