[HALX86][PCIX] Statically link HALx86 and PCIX to the arbiter library. (#2471)

This commit is contained in:
Vadim Galyant 2020-04-09 19:19:00 +02:00 committed by Hermès Bélusca-Maïto
parent 374f2b4d98
commit ef2323a146
No known key found for this signature in database
GPG Key ID: 3B2539C65E7B93D0
4 changed files with 41 additions and 5 deletions

View File

@ -1,3 +1,5 @@
include_directories(
${REACTOS_SOURCE_DIR}/sdk/lib/drivers/arbiter)
list(APPEND SOURCE
arb/ar_busno.c
@ -41,6 +43,7 @@ add_library(pcix MODULE
pci.rc)
set_module_type(pcix kernelmodedriver)
target_link_libraries(pcix arbiter)
add_importlibs(pcix ntoskrnl hal)
add_pch(pcix pci.h SOURCE)
add_dependencies(pcix pciclass)

View File

@ -34,11 +34,38 @@ NTSTATUS
NTAPI
arbusno_Initializer(IN PVOID Instance)
{
UNREFERENCED_PARAMETER(Instance);
PPCI_ARBITER_INSTANCE Arbiter = Instance;
PPCI_FDO_EXTENSION FdoExtension;
NTSTATUS Status;
PAGED_CODE();
RtlZeroMemory(&Arbiter->CommonInstance, sizeof(Arbiter->CommonInstance));
FdoExtension = Arbiter->BusFdoExtension;
/* Not yet implemented */
UNIMPLEMENTED;
//while (TRUE);
return STATUS_SUCCESS;
#if 0
Arbiter->CommonInstance.UnpackRequirement = arbusno_UnpackRequirement;
Arbiter->CommonInstance.PackResource = arbusno_PackResource;
Arbiter->CommonInstance.UnpackResource = arbusno_UnpackResource;
Arbiter->CommonInstance.ScoreRequirement = arbusno_ScoreRequirement;
#endif
Status = ArbInitializeArbiterInstance(&Arbiter->CommonInstance,
FdoExtension->FunctionalDeviceObject,
CmResourceTypeBusNumber,
Arbiter->InstanceName,
L"Pci",
NULL);
if (!NT_SUCCESS(Status))
{
DPRINT1("arbusno_Initializer: init arbiter return %X", Status);
}
return Status;
}
NTSTATUS

View File

@ -18,6 +18,7 @@
#include <ndk/halfuncs.h>
#include <ndk/rtlfuncs.h>
#include <ndk/vffuncs.h>
#include <arbiter.h>
//
// Tag used in all pool allocations (Pci Bus)
@ -402,7 +403,7 @@ typedef struct PCI_ARBITER_INSTANCE
PPCI_INTERFACE Interface;
PPCI_FDO_EXTENSION BusFdoExtension;
WCHAR InstanceName[24];
//ARBITER_INSTANCE CommonInstance; FIXME: Need Arbiter Headers
ARBITER_INSTANCE CommonInstance;
} PCI_ARBITER_INSTANCE, *PPCI_ARBITER_INSTANCE;
//

View File

@ -32,7 +32,12 @@ function(add_hal _halname)
target_link_libraries(${_halname} ${_haldata_LIBS})
endif()
target_link_libraries(${_halname} libcntpr)
if (${_halname} STREQUAL "hal")
target_link_libraries(${_halname} libcntpr arbiter)
else()
target_link_libraries(${_halname} libcntpr)
endif()
add_importlibs(${_halname} ntoskrnl)
#add_pch(${_halname} include/hal.h)
add_dependencies(${_halname} psdk asm)