1 //+----------------------------------------------------------------------------
9 // Created: sgasch 4 Jul 2003
11 //+----------------------------------------------------------------------------
17 extern char __bss_start;
23 BYTE *pBssStart, *pBssEnd;
25 pBssStart = &__bss_start;
28 // Fill .bss section with zero
29 RtlSetMemory((void *)pBssStart, '\0', (pBssEnd - pBssStart));
33 _assert(CHAR *szFunction, CHAR *szFile, ULONG uLine)
35 HalVideoSetCursorPosition(0, 0);
36 HalVideoPrint("ASSERTION in %s at %s line %u.\n",
37 szFunction, szFile, uLine);
45 // Entry point of the kernel. Not called main because I don't care to
46 // listen to gcc's warnings about argc and argv anymore.
49 KernelEntry(BIOS_HARDWARE_BLOCK *phw)
53 HalVideoInitialize(phw);
54 HalInitializeInterrupts();
56 HalVideoPrint("Interrupts initialized.\n");
59 HalReadTimestampCounter();
60 HalVideoPrint("Timestamp Counter: %u%u\n",
61 ((g_ullTimeStampCounter >> 32) & 0xffffffff),
62 (g_ullTimeStampCounter & 0xffffffff));