From ba230c0883c8e638efdd4fc82395bb9707efcaea Mon Sep 17 00:00:00 2001 From: Aleksey Bragin Date: Sat, 11 Aug 2007 14:38:31 +0000 Subject: [PATCH] - Merge 26992, 27646, 27679, 27966, 28258. - WinLdr now is up-to-date with trunk (28288). svn path=/branches/winldr/; revision=28289 --- arch/i386/hwpci.c | 16 ++++++++++++---- include/ui.h | 1 + reactos/binhive.c | 2 +- ui/tui.c | 1 - ui/ui.c | 1 + 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/arch/i386/hwpci.c b/arch/i386/hwpci.c index 6f5ddb46269..ef041f082a8 100644 --- a/arch/i386/hwpci.c +++ b/arch/i386/hwpci.c @@ -184,8 +184,8 @@ DetectPciIrqRoutingTable(FRLDRHKEY BusKey) } /* Set 'Configuration Data' value */ - Size = sizeof(CM_FULL_RESOURCE_DESCRIPTOR) + - Table->Size; + Size = FIELD_OFFSET(CM_FULL_RESOURCE_DESCRIPTOR, PartialResourceList.PartialDescriptors) + + 2 * sizeof(CM_PARTIAL_RESOURCE_DESCRIPTOR) + Table->Size; FullResourceDescriptor = MmAllocateMemory(Size); if (FullResourceDescriptor == NULL) { @@ -198,14 +198,22 @@ DetectPciIrqRoutingTable(FRLDRHKEY BusKey) memset(FullResourceDescriptor, 0, Size); FullResourceDescriptor->InterfaceType = Isa; FullResourceDescriptor->BusNumber = 0; - FullResourceDescriptor->PartialResourceList.Count = 1; + FullResourceDescriptor->PartialResourceList.Version = 1; + FullResourceDescriptor->PartialResourceList.Revision = 1; + FullResourceDescriptor->PartialResourceList.Count = 2; PartialDescriptor = &FullResourceDescriptor->PartialResourceList.PartialDescriptors[0]; + PartialDescriptor->Type = CmResourceTypeBusNumber; + PartialDescriptor->ShareDisposition = CmResourceShareDeviceExclusive; + PartialDescriptor->u.BusNumber.Start = 0; + PartialDescriptor->u.BusNumber.Length = 1; + + PartialDescriptor = &FullResourceDescriptor->PartialResourceList.PartialDescriptors[1]; PartialDescriptor->Type = CmResourceTypeDeviceSpecific; PartialDescriptor->ShareDisposition = CmResourceShareUndetermined; PartialDescriptor->u.DeviceSpecificData.DataSize = Table->Size; - memcpy((PVOID)((ULONG_PTR)FullResourceDescriptor + sizeof(CM_FULL_RESOURCE_DESCRIPTOR)), + memcpy(&FullResourceDescriptor->PartialResourceList.PartialDescriptors[2], Table, Table->Size); diff --git a/include/ui.h b/include/ui.h index 043a335767d..f0fbdb27e0b 100644 --- a/include/ui.h +++ b/include/ui.h @@ -50,6 +50,7 @@ extern BOOLEAN UiCenterMenu; extern BOOLEAN UiMenuBox; extern BOOLEAN UiMinimal; extern CHAR UiTimeText[]; +extern BOOLEAN UiDrawTime; extern const CHAR UiMonthNames[12][15]; diff --git a/reactos/binhive.c b/reactos/binhive.c index 470a36b34e3..5b83fce6ad9 100644 --- a/reactos/binhive.c +++ b/reactos/binhive.c @@ -27,7 +27,7 @@ static PVOID NTAPI -CmpAllocate (ULONG Size, BOOLEAN Paged) +CmpAllocate (SIZE_T Size, BOOLEAN Paged) { return MmAllocateMemory(Size); } diff --git a/ui/tui.c b/ui/tui.c index 0f635aa5434..17c07dd8947 100644 --- a/ui/tui.c +++ b/ui/tui.c @@ -20,7 +20,6 @@ #include PVOID TextVideoBuffer = NULL; -extern BOOLEAN UiDrawTime; extern BOOLEAN UiMinimal; /* diff --git a/ui/ui.c b/ui/ui.c index dc222461c41..044d521239a 100644 --- a/ui/ui.c +++ b/ui/ui.c @@ -269,6 +269,7 @@ BOOLEAN SetupUiInitialize(VOID) 0, ATTR(UiBackdropFgColor, UiBackdropBgColor)); + UiDrawTime = FALSE; UiStatusBarBgColor = 7; UserInterfaceUp = TRUE;