Author: ion Date: Sun Feb 4 22:15:04 2007 New Revision: 25721
URL: http://svn.reactos.org/svn/reactos?rev=25721&view=rev Log: - Fix call to VidInitialize. - Disable call to HalDisplayReset to avoid bugcheck. [Lock held] - Don't unload bootvid after Phase 3 I/O Init since we still need to call it. - Implement HalpTranslateResourceAddress since bootvid (and other windows boot drivers, potentially) needs it.
Modified: trunk/reactos/drivers/base/bootvid/bootvid.c trunk/reactos/hal/halx86/generic/bus.c trunk/reactos/include/reactos/drivers/bootvid/bootvid.h trunk/reactos/ntoskrnl/inbv/inbv.c trunk/reactos/ntoskrnl/io/iomgr/driver.c
Modified: trunk/reactos/drivers/base/bootvid/bootvid.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/base/bootvid/bootvi... ============================================================================== --- trunk/reactos/drivers/base/bootvid/bootvid.c (original) +++ trunk/reactos/drivers/base/bootvid/bootvid.c Sun Feb 4 22:15:04 2007 @@ -423,7 +423,7 @@ // // Reset the display // - HalResetDisplay(); + //HalResetDisplay(); curr_x = 0; curr_y = 0;
Modified: trunk/reactos/hal/halx86/generic/bus.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/generic/bus.c?re... ============================================================================== --- trunk/reactos/hal/halx86/generic/bus.c (original) +++ trunk/reactos/hal/halx86/generic/bus.c Sun Feb 4 22:15:04 2007 @@ -93,6 +93,28 @@ return Vector; }
+BOOLEAN +NTAPI +HalpFindBusAddressTranslation(IN PHYSICAL_ADDRESS BusAddress, + IN OUT PULONG AddressSpace, + OUT PPHYSICAL_ADDRESS TranslatedAddress, + IN OUT PULONG_PTR Context, + IN BOOLEAN NextBus) +{ + /* Make sure we have a context */ + if (!Context) return FALSE; + + /* If we have data in the context, then this shouldn't be a new lookup */ + if ((*Context) && (NextBus == TRUE)) return FALSE; + + /* Return bus data */ + TranslatedAddress->QuadPart = BusAddress.QuadPart; + + /* Set context value and return success */ + *Context = 1; + return TRUE; +} + VOID NTAPI HalpInitNonBusHandler(VOID) @@ -100,7 +122,7 @@ /* These should be written by the PCI driver later, but we give defaults */ HalPciTranslateBusAddress = HalpTranslateBusAddress; HalPciAssignSlotResources = HalpAssignSlotResources; - //HalFindBusAddressTranslation = HalpFindBusAddressTranslation; + HalFindBusAddressTranslation = HalpFindBusAddressTranslation; }
/* PUBLIC FUNCTIONS **********************************************************/
Modified: trunk/reactos/include/reactos/drivers/bootvid/bootvid.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/drivers/boo... ============================================================================== --- trunk/reactos/include/reactos/drivers/bootvid/bootvid.h (original) +++ trunk/reactos/include/reactos/drivers/bootvid/bootvid.h Sun Feb 4 22:15:04 2007 @@ -40,7 +40,7 @@ IN ULONG Width, IN ULONG Height, IN ULONG Delta); - + VOID NTAPI VidDisplayString(PUCHAR String); @@ -50,7 +50,7 @@ VidBitBlt(PUCHAR Buffer, ULONG Left, ULONG Top); - + VOID NTAPI VidScreenToBufferBlt(PUCHAR Buffer, @@ -59,7 +59,7 @@ ULONG Width, ULONG Height, ULONG Delta); - + VOID NTAPI VidSolidColorFill(IN ULONG Left, @@ -68,5 +68,4 @@ IN ULONG Bottom, IN UCHAR Color);
- #endif
Modified: trunk/reactos/ntoskrnl/inbv/inbv.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/inbv/inbv.c?rev=25... ============================================================================== --- trunk/reactos/ntoskrnl/inbv/inbv.c (original) +++ trunk/reactos/ntoskrnl/inbv/inbv.c Sun Feb 4 22:15:04 2007 @@ -104,8 +104,7 @@ }
/* Initialize the video */ - InbvBootDriverInstalled = VidInitialize(CustomLogo); - DPRINT1("Init: %lx\n", InbvBootDriverInstalled); + InbvBootDriverInstalled = VidInitialize(!CustomLogo); if (InbvBootDriverInstalled) { /* Find bitmap resources in the kernel */ @@ -239,10 +238,8 @@ /* Acquire the lock */ InbvAcquireLock();
-#if 0 /* Make sure we're installed and display the string */ if (InbvBootDriverInstalled) VidDisplayString(String); -#endif
/* Call Headless (We don't support headless for now) HeadlessDispatch(DISPLAY_STRING); */
Modified: trunk/reactos/ntoskrnl/io/iomgr/driver.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/driver.c?... ============================================================================== --- trunk/reactos/ntoskrnl/io/iomgr/driver.c (original) +++ trunk/reactos/ntoskrnl/io/iomgr/driver.c Sun Feb 4 22:15:04 2007 @@ -1018,7 +1018,7 @@ }
/* Loop modules again */ - NextEntry = ListHead->Flink->Flink->Flink; + NextEntry = ListHead->Flink->Flink->Flink->Flink; while (ListHead != NextEntry) { /* Get the entry */