mirror of
https://github.com/reactos/reactos
synced 2025-10-05 16:02:58 +02:00
[FORMATTING] Start Kernel Arbiter with clean instance
This commit is contained in:
123
ntoskrnl/io/pnpmgr/arb/arbbus.c
Normal file
123
ntoskrnl/io/pnpmgr/arb/arbbus.c
Normal file
@@ -0,0 +1,123 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Kernel
|
||||
* LICENSE: MIT (https://spdx.org/licenses/MIT)
|
||||
* PURPOSE: PnP manager Root Bus Arbiter
|
||||
* COPYRIGHT: Copyright 2025 Justin Miller <justin.miller@reactos.org>
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <ntoskrnl.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS *******************************************************************/
|
||||
|
||||
extern ARBITER_INSTANCE IopRootBusNumberArbiter;
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopArbBusNumberUnpackRequirements(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor,
|
||||
_Out_ PUINT64 OutMinimumAddress,
|
||||
_Out_ PUINT64 OutMaximumAddress,
|
||||
_Out_ PUINT32 OutLength,
|
||||
_Out_ PUINT32 OutAlignment)
|
||||
{
|
||||
PAGED_CODE();
|
||||
DPRINT("IopArbBusNumberUnpackRequirements: IoDescriptor: %p, OutMinimumAddress: %p, OutMaximumAddress: %p, OutLength: %p, OutAlignment: %p\n",
|
||||
IoDescriptor,
|
||||
OutMinimumAddress,
|
||||
OutMaximumAddress,
|
||||
OutLength,
|
||||
OutAlignment);
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopArbBusNumberPackResource(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor,
|
||||
_In_ UINT64 Start,
|
||||
_Out_ PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescriptor)
|
||||
{
|
||||
PAGED_CODE();
|
||||
DPRINT("IopArbBusNumberPackResource: IoDescriptor: %p, Start: %I64x, CmDescriptor: %p\n",
|
||||
IoDescriptor,
|
||||
Start,
|
||||
CmDescriptor);
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopArbBusNumberUnpackResource(
|
||||
_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescriptor,
|
||||
_Out_ PUINT64 Start,
|
||||
_Out_ PUINT32 OutLength)
|
||||
{
|
||||
PAGED_CODE();
|
||||
DPRINT("IopArbBusNumberUnpackResource: CmDescriptor: %p, Start: %p, OutLength: %p\n",
|
||||
CmDescriptor,
|
||||
Start,
|
||||
OutLength);
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
INT32
|
||||
NTAPI
|
||||
IopArbBusNumberScoreRequirement(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor)
|
||||
{
|
||||
PAGED_CODE();
|
||||
DPRINT("IopArbBusNumberScoreRequirement: IoDescriptor: %p\n",
|
||||
IoDescriptor);
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Initialize the RootBusArbiter
|
||||
*
|
||||
* Initializes rootbus arbiter against IopRootBusNumberArbiter for use in PCI
|
||||
* every "bus" gets to check against this.
|
||||
* @return NTSTATUS
|
||||
* @retval STATUS_SUCCESS
|
||||
* @retval STATUS_UNSUCCESSFUL
|
||||
* @retval STATUS_INSUFFICIENT_RESOURCES
|
||||
*/
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopArbBusNumberInitialize(VOID)
|
||||
{
|
||||
NTSTATUS Status = STATUS_UNSUCCESSFUL;
|
||||
|
||||
PAGED_CODE();
|
||||
IopRootBusNumberArbiter.Name = L"RootBusNumber";
|
||||
IopRootBusNumberArbiter.UnpackRequirement = IopArbBusNumberUnpackRequirements;
|
||||
IopRootBusNumberArbiter.PackResource = IopArbBusNumberPackResource;
|
||||
IopRootBusNumberArbiter.UnpackResource = IopArbBusNumberUnpackResource;
|
||||
IopRootBusNumberArbiter.ScoreRequirement = IopArbBusNumberScoreRequirement;
|
||||
|
||||
Status = ArbInitializeArbiterInstance(&IopRootBusNumberArbiter,
|
||||
NULL,
|
||||
CmResourceTypeBusNumber,
|
||||
IopRootBusNumberArbiter.Name,
|
||||
L"Root",
|
||||
NULL);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("IopArbBusNumberInitialize: Failed with %X", Status);
|
||||
}
|
||||
|
||||
return Status;
|
||||
}
|
113
ntoskrnl/io/pnpmgr/arb/arbdma.c
Normal file
113
ntoskrnl/io/pnpmgr/arb/arbdma.c
Normal file
@@ -0,0 +1,113 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Kernel
|
||||
* LICENSE: MIT (https://spdx.org/licenses/MIT)
|
||||
* PURPOSE: PnP manager Root DMA Arbiter
|
||||
* COPYRIGHT: Copyright 2025 Justin Miller <justin.miller@reactos.org>
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <ntoskrnl.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS *******************************************************************/
|
||||
|
||||
extern ARBITER_INSTANCE IopRootDmaArbiter;
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopArbDmaUnpackRequirements(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor,
|
||||
_Out_ PUINT64 OutMinimumAddress,
|
||||
_Out_ PUINT64 OutMaximumAddress,
|
||||
_Out_ PUINT32 OutLength,
|
||||
_Out_ PUINT32 OutAlignment)
|
||||
{
|
||||
PAGED_CODE();
|
||||
DPRINT("IopArbDmaUnpackRequirements: IoDescriptor: %p, OutMinimumAddress: %p, OutMaximumAddress: %p, OutLength: %p, OutAlignment: %p\n",
|
||||
IoDescriptor,
|
||||
OutMinimumAddress,
|
||||
OutMaximumAddress,
|
||||
OutLength,
|
||||
OutAlignment);
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopArbDmaPackResource(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor,
|
||||
_In_ UINT64 Start,
|
||||
_Out_ PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescriptor)
|
||||
{
|
||||
PAGED_CODE();
|
||||
DPRINT("IopArbDmaPackResource: IoDescriptor: %p, Start: %p, CmDescriptor: %p\n",
|
||||
IoDescriptor,
|
||||
Start,
|
||||
CmDescriptor);
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopArbDmaUnpackResource(
|
||||
_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescriptor,
|
||||
_Out_ PUINT64 Start,
|
||||
_Out_ PUINT32 OutLength)
|
||||
{
|
||||
PAGED_CODE();
|
||||
DPRINT("IopArbDmaUnpackResource: CmDescriptor: %p, Start: %p, OutLength: %p\n",
|
||||
CmDescriptor,
|
||||
Start,
|
||||
OutLength);
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
INT32
|
||||
NTAPI
|
||||
IopArbDmaScoreRequirement(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor)
|
||||
{
|
||||
PAGED_CODE();
|
||||
DPRINT("IopArbDmaScoreRequirement: IoDescriptor: %p\n",
|
||||
IoDescriptor);
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopArbDmaInitialize(VOID)
|
||||
{
|
||||
NTSTATUS Status = STATUS_UNSUCCESSFUL;
|
||||
|
||||
PAGED_CODE();
|
||||
IopRootDmaArbiter.Name = L"RootDma";
|
||||
IopRootDmaArbiter.UnpackRequirement = IopArbDmaUnpackRequirements;
|
||||
IopRootDmaArbiter.PackResource = IopArbDmaPackResource;
|
||||
IopRootDmaArbiter.UnpackResource = IopArbDmaUnpackResource;
|
||||
IopRootDmaArbiter.ScoreRequirement = IopArbDmaScoreRequirement;
|
||||
|
||||
Status = ArbInitializeArbiterInstance(&IopRootDmaArbiter,
|
||||
NULL,
|
||||
CmResourceTypeBusNumber,
|
||||
IopRootDmaArbiter.Name,
|
||||
L"Root",
|
||||
NULL);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("IopArbDmaInitialize: Failed with %X", Status);
|
||||
}
|
||||
|
||||
return Status;
|
||||
}
|
113
ntoskrnl/io/pnpmgr/arb/arbirq.c
Normal file
113
ntoskrnl/io/pnpmgr/arb/arbirq.c
Normal file
@@ -0,0 +1,113 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Kernel
|
||||
* LICENSE: MIT (https://spdx.org/licenses/MIT)
|
||||
* PURPOSE: PnP manager Root IRQ Arbiter
|
||||
* COPYRIGHT: Copyright 2025 Justin Miller <justin.miller@reactos.org>
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <ntoskrnl.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS *******************************************************************/
|
||||
|
||||
extern ARBITER_INSTANCE IopRootIrqArbiter;
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopArbIrqUnpackRequirements(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor,
|
||||
_Out_ PUINT64 OutMinimumAddress,
|
||||
_Out_ PUINT64 OutMaximumAddress,
|
||||
_Out_ PUINT32 OutLength,
|
||||
_Out_ PUINT32 OutAlignment)
|
||||
{
|
||||
PAGED_CODE();
|
||||
DPRINT("IopArbIrqUnpackRequirements: IoDescriptor: %p, OutMinimumAddress: %p, OutMaximumAddress: %p, OutLength: %p, OutAlignment: %p\n",
|
||||
IoDescriptor,
|
||||
OutMinimumAddress,
|
||||
OutMaximumAddress,
|
||||
OutLength,
|
||||
OutAlignment);
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopArbIrqPackResource(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor,
|
||||
_In_ UINT64 Start,
|
||||
_Out_ PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescriptor)
|
||||
{
|
||||
PAGED_CODE();
|
||||
DPRINT("IopArbIrqPackResource: IoDescriptor: %p, Start: %p, CmDescriptor: %p\n",
|
||||
IoDescriptor,
|
||||
Start,
|
||||
CmDescriptor);
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopArbIrqUnpackResource(
|
||||
_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescriptor,
|
||||
_Out_ PUINT64 Start,
|
||||
_Out_ PUINT32 OutLength)
|
||||
{
|
||||
PAGED_CODE();
|
||||
DPRINT("IopArbIrqUnpackResource: CmDescriptor: %p, Start: %p, OutLength: %p\n",
|
||||
CmDescriptor,
|
||||
Start,
|
||||
OutLength);
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
INT32
|
||||
NTAPI
|
||||
IopArbIrqScoreRequirement(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor)
|
||||
{
|
||||
PAGED_CODE();
|
||||
DPRINT("IopArbIrqScoreRequirement: IoDescriptor: %p\n",
|
||||
IoDescriptor);
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopArbIrqInitialize(VOID)
|
||||
{
|
||||
NTSTATUS Status = STATUS_UNSUCCESSFUL;
|
||||
|
||||
PAGED_CODE();
|
||||
IopRootIrqArbiter.Name = L"RootIRQ";
|
||||
IopRootIrqArbiter.UnpackRequirement = IopArbIrqUnpackRequirements;
|
||||
IopRootIrqArbiter.PackResource = IopArbIrqPackResource;
|
||||
IopRootIrqArbiter.UnpackResource = IopArbIrqUnpackResource;
|
||||
IopRootIrqArbiter.ScoreRequirement = IopArbIrqScoreRequirement;
|
||||
|
||||
Status = ArbInitializeArbiterInstance(&IopRootIrqArbiter,
|
||||
NULL,
|
||||
CmResourceTypeBusNumber,
|
||||
IopRootIrqArbiter.Name,
|
||||
L"Root",
|
||||
NULL);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("IopArbDmaInitialize: Failed with %X", Status);
|
||||
}
|
||||
|
||||
return Status;
|
||||
}
|
113
ntoskrnl/io/pnpmgr/arb/arbmem.c
Normal file
113
ntoskrnl/io/pnpmgr/arb/arbmem.c
Normal file
@@ -0,0 +1,113 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Kernel
|
||||
* LICENSE: MIT (https://spdx.org/licenses/MIT)
|
||||
* PURPOSE: PnP manager Root Memory Arbiter
|
||||
* COPYRIGHT: Copyright 2025 Justin Miller <justin.miller@reactos.org>
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <ntoskrnl.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS *******************************************************************/
|
||||
|
||||
extern ARBITER_INSTANCE IopRootMemArbiter;
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopArbMemUnpackRequirements(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor,
|
||||
_Out_ PUINT64 OutMinimumAddress,
|
||||
_Out_ PUINT64 OutMaximumAddress,
|
||||
_Out_ PUINT32 OutLength,
|
||||
_Out_ PUINT32 OutAlignment)
|
||||
{
|
||||
PAGED_CODE();
|
||||
DPRINT("IopArbMemUnpackRequirements: IoDescriptor: %p, OutMinimumAddress: %p, OutMaximumAddress: %p, OutLength: %p, OutAlignment: %p\n",
|
||||
IoDescriptor,
|
||||
OutMinimumAddress,
|
||||
OutMaximumAddress,
|
||||
OutLength,
|
||||
OutAlignment);
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopArbMemPackResource(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor,
|
||||
_In_ UINT64 Start,
|
||||
_Out_ PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescriptor)
|
||||
{
|
||||
PAGED_CODE();
|
||||
DPRINT("IopArbMemPackResource: IoDescriptor: %p, Start: %p, CmDescriptor: %p\n",
|
||||
IoDescriptor,
|
||||
Start,
|
||||
CmDescriptor);
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopArbMemUnpackResource(
|
||||
_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescriptor,
|
||||
_Out_ PUINT64 Start,
|
||||
_Out_ PUINT32 OutLength)
|
||||
{
|
||||
PAGED_CODE();
|
||||
DPRINT("IopArbMemUnpackResource: CmDescriptor: %p, Start: %p, OutLength: %p\n",
|
||||
CmDescriptor,
|
||||
Start,
|
||||
OutLength);
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
INT32
|
||||
NTAPI
|
||||
IopArbMemScoreRequirement(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor)
|
||||
{
|
||||
PAGED_CODE();
|
||||
DPRINT("IopArbMemScoreRequirement: IoDescriptor: %p\n",
|
||||
IoDescriptor);
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopArbMemInitialize(VOID)
|
||||
{
|
||||
NTSTATUS Status = STATUS_UNSUCCESSFUL;
|
||||
|
||||
PAGED_CODE();
|
||||
IopRootMemArbiter.Name = L"RootMemory";
|
||||
IopRootMemArbiter.UnpackRequirement = IopArbMemUnpackRequirements;
|
||||
IopRootMemArbiter.PackResource = IopArbMemPackResource;
|
||||
IopRootMemArbiter.UnpackResource = IopArbMemUnpackResource;
|
||||
IopRootMemArbiter.ScoreRequirement = IopArbMemScoreRequirement;
|
||||
|
||||
Status = ArbInitializeArbiterInstance(&IopRootMemArbiter,
|
||||
NULL,
|
||||
CmResourceTypeBusNumber,
|
||||
IopRootMemArbiter.Name,
|
||||
L"Root",
|
||||
NULL);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("IopArbDmaInitialize: Failed with %X", Status);
|
||||
}
|
||||
|
||||
return Status;
|
||||
}
|
113
ntoskrnl/io/pnpmgr/arb/arbport.c
Normal file
113
ntoskrnl/io/pnpmgr/arb/arbport.c
Normal file
@@ -0,0 +1,113 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Kernel
|
||||
* LICENSE: MIT (https://spdx.org/licenses/MIT)
|
||||
* PURPOSE: PnP manager Root Port Arbiter
|
||||
* COPYRIGHT: Copyright 2025 Justin Miller <justin.miller@reactos.org>
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <ntoskrnl.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS *******************************************************************/
|
||||
|
||||
extern ARBITER_INSTANCE IopRootPortArbiter;
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopPortMemUnpackRequirements(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor,
|
||||
_Out_ PUINT64 OutMinimumAddress,
|
||||
_Out_ PUINT64 OutMaximumAddress,
|
||||
_Out_ PUINT32 OutLength,
|
||||
_Out_ PUINT32 OutAlignment)
|
||||
{
|
||||
PAGED_CODE();
|
||||
DPRINT("IopPortMemUnpackRequirements: IoDescriptor: %p, OutMinimumAddress: %p, OutMaximumAddress: %p, OutLength: %p, OutAlignment: %p\n",
|
||||
IoDescriptor,
|
||||
OutMinimumAddress,
|
||||
OutMaximumAddress,
|
||||
OutLength,
|
||||
OutAlignment);
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopPortMemPackResource(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor,
|
||||
_In_ UINT64 Start,
|
||||
_Out_ PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescriptor)
|
||||
{
|
||||
PAGED_CODE();
|
||||
DPRINT("IopPortMemPackResource: IoDescriptor: %p, Start: %p, CmDescriptor: %p\n",
|
||||
IoDescriptor,
|
||||
Start,
|
||||
CmDescriptor);
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopPortMemUnpackResource(
|
||||
_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescriptor,
|
||||
_Out_ PUINT64 Start,
|
||||
_Out_ PUINT32 OutLength)
|
||||
{
|
||||
PAGED_CODE();
|
||||
DPRINT("IopPortMemUnpackResource: CmDescriptor: %p, Start: %p, OutLength: %p\n",
|
||||
CmDescriptor,
|
||||
Start,
|
||||
OutLength);
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
INT32
|
||||
NTAPI
|
||||
IopPortMemScoreRequirement(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor)
|
||||
{
|
||||
PAGED_CODE();
|
||||
DPRINT("IopPortMemScoreRequirement: IoDescriptor: %p\n",
|
||||
IoDescriptor);
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopArbPortInitialize(VOID)
|
||||
{
|
||||
NTSTATUS Status = STATUS_UNSUCCESSFUL;
|
||||
|
||||
PAGED_CODE();
|
||||
IopRootPortArbiter.Name = L"RootPort";
|
||||
IopRootPortArbiter.UnpackRequirement = IopPortMemUnpackRequirements;
|
||||
IopRootPortArbiter.PackResource = IopPortMemPackResource;
|
||||
IopRootPortArbiter.UnpackResource = IopPortMemUnpackResource;
|
||||
IopRootPortArbiter.ScoreRequirement = IopPortMemScoreRequirement;
|
||||
|
||||
Status = ArbInitializeArbiterInstance(&IopRootPortArbiter,
|
||||
NULL,
|
||||
CmResourceTypeBusNumber,
|
||||
IopRootPortArbiter.Name,
|
||||
L"Root",
|
||||
NULL);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("IopArbDmaInitialize: Failed with %X", Status);
|
||||
}
|
||||
|
||||
return Status;
|
||||
}
|
@@ -1,514 +0,0 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Kernel
|
||||
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
|
||||
* PURPOSE: Root arbiters of the PnP manager
|
||||
* COPYRIGHT: Copyright 2020 Vadim Galyant <vgal@rambler.ru>
|
||||
*/
|
||||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <ntoskrnl.h>
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS *******************************************************************/
|
||||
|
||||
extern ARBITER_INSTANCE IopRootBusNumberArbiter;
|
||||
extern ARBITER_INSTANCE IopRootIrqArbiter;
|
||||
extern ARBITER_INSTANCE IopRootDmaArbiter;
|
||||
extern ARBITER_INSTANCE IopRootMemArbiter;
|
||||
extern ARBITER_INSTANCE IopRootPortArbiter;
|
||||
|
||||
/* DATA **********************************************************************/
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
/* BusNumber arbiter */
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopBusNumberUnpackRequirement(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor,
|
||||
_Out_ PUINT64 OutMinimumAddress,
|
||||
_Out_ PUINT64 OutMaximumAddress,
|
||||
_Out_ PUINT32 OutLength,
|
||||
_Out_ PUINT32 OutAlignment)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopBusNumberPackResource(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor,
|
||||
_In_ UINT64 Start,
|
||||
_Out_ PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescriptor)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopBusNumberUnpackResource(
|
||||
_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor,
|
||||
_Out_ PUINT64 Start,
|
||||
_Out_ PUINT32 Length)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
INT32
|
||||
NTAPI
|
||||
IopBusNumberScoreRequirement(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define ARB_MAX_BUS_NUMBER 0xFF
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopBusNumberInitialize(VOID)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
|
||||
PAGED_CODE();
|
||||
|
||||
DPRINT("IopRootBusNumberArbiter %p\n", &IopRootBusNumberArbiter);
|
||||
|
||||
IopRootBusNumberArbiter.UnpackRequirement = IopBusNumberUnpackRequirement;
|
||||
IopRootBusNumberArbiter.PackResource = IopBusNumberPackResource;
|
||||
IopRootBusNumberArbiter.UnpackResource = IopBusNumberUnpackResource;
|
||||
IopRootBusNumberArbiter.ScoreRequirement = IopBusNumberScoreRequirement;
|
||||
|
||||
Status = ArbInitializeArbiterInstance(&IopRootBusNumberArbiter,
|
||||
NULL,
|
||||
CmResourceTypeBusNumber,
|
||||
L"RootBusNumber",
|
||||
L"Root",
|
||||
NULL);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("IopBusNumberInitialize: Status %p\n", Status);
|
||||
ASSERT(FALSE);
|
||||
return Status;
|
||||
}
|
||||
|
||||
Status = RtlAddRange(IopRootBusNumberArbiter.Allocation,
|
||||
(UINT64)(ARB_MAX_BUS_NUMBER + 1),
|
||||
(UINT64)(-1),
|
||||
0,
|
||||
0,
|
||||
NULL,
|
||||
NULL);
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
/* Irq arbiter */
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopIrqUnpackRequirement(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor,
|
||||
_Out_ PUINT64 OutMinimumVector,
|
||||
_Out_ PUINT64 OutMaximumVector,
|
||||
_Out_ PUINT32 OutParam1,
|
||||
_Out_ PUINT32 OutParam2)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopIrqPackResource(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor,
|
||||
_In_ UINT64 Start,
|
||||
_Out_ PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescriptor)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopIrqUnpackResource(
|
||||
_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescriptor,
|
||||
_Out_ PUINT64 Start,
|
||||
_Out_ PUINT32 OutLength)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
INT32
|
||||
NTAPI
|
||||
IopIrqScoreRequirement(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopIrqTranslateOrdering(
|
||||
_Out_ PIO_RESOURCE_DESCRIPTOR OutIoDescriptor,
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopIrqInitialize(VOID)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
|
||||
PAGED_CODE();
|
||||
|
||||
DPRINT("IopRootIrqArbiter %p\n", &IopRootIrqArbiter);
|
||||
|
||||
IopRootIrqArbiter.UnpackRequirement = IopIrqUnpackRequirement;
|
||||
IopRootIrqArbiter.PackResource = IopIrqPackResource;
|
||||
IopRootIrqArbiter.UnpackResource = IopIrqUnpackResource;
|
||||
IopRootIrqArbiter.ScoreRequirement = IopIrqScoreRequirement;
|
||||
|
||||
Status = ArbInitializeArbiterInstance(&IopRootIrqArbiter,
|
||||
NULL,
|
||||
CmResourceTypeInterrupt,
|
||||
L"RootIRQ",
|
||||
L"Root",
|
||||
IopIrqTranslateOrdering);
|
||||
return Status;
|
||||
}
|
||||
|
||||
/* Dma arbiter */
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopDmaUnpackRequirement(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor,
|
||||
_Out_ PUINT64 OutMinimumChannel,
|
||||
_Out_ PUINT64 OutMaximumChannel,
|
||||
_Out_ PUINT32 OutParam1,
|
||||
_Out_ PUINT32 OutParam2)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopDmaPackResource(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor,
|
||||
_In_ UINT64 Start,
|
||||
_Out_ PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescriptor)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopDmaUnpackResource(
|
||||
_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescriptor,
|
||||
_Out_ PUINT64 Start,
|
||||
_Out_ PUINT32 OutLength)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
INT32
|
||||
NTAPI
|
||||
IopDmaScoreRequirement(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopDmaOverrideConflict(
|
||||
_In_ PARBITER_INSTANCE Arbiter)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopDmaInitialize(VOID)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
|
||||
PAGED_CODE();
|
||||
|
||||
DPRINT("IopRootDmaArbiter %p\n", &IopRootDmaArbiter);
|
||||
|
||||
IopRootDmaArbiter.UnpackRequirement = IopDmaUnpackRequirement;
|
||||
IopRootDmaArbiter.PackResource = IopDmaPackResource;
|
||||
IopRootDmaArbiter.UnpackResource = IopDmaUnpackResource;
|
||||
IopRootDmaArbiter.ScoreRequirement = IopDmaScoreRequirement;
|
||||
|
||||
IopRootDmaArbiter.OverrideConflict = IopDmaOverrideConflict;
|
||||
|
||||
Status = ArbInitializeArbiterInstance(&IopRootDmaArbiter,
|
||||
NULL,
|
||||
CmResourceTypeDma,
|
||||
L"RootDMA",
|
||||
L"Root",
|
||||
NULL);
|
||||
return Status;
|
||||
}
|
||||
|
||||
/* Common for Memory and Port arbiters */
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopGenericUnpackRequirement(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor,
|
||||
_Out_ PUINT64 OutMinimumAddress,
|
||||
_Out_ PUINT64 OutMaximumAddress,
|
||||
_Out_ PUINT32 OutLength,
|
||||
_Out_ PUINT32 OutAlignment)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopGenericPackResource(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor,
|
||||
_In_ UINT64 Start,
|
||||
_Out_ PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescriptor)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopGenericUnpackResource(
|
||||
_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescriptor,
|
||||
_Out_ PUINT64 Start,
|
||||
_Out_ PUINT32 OutLength)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
INT32
|
||||
NTAPI
|
||||
IopGenericScoreRequirement(
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopGenericTranslateOrdering(
|
||||
_Out_ PIO_RESOURCE_DESCRIPTOR OutIoDescriptor,
|
||||
_In_ PIO_RESOURCE_DESCRIPTOR IoDescriptor)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
/* Memory arbiter */
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
IopMemFindSuitableRange(
|
||||
_In_ PARBITER_INSTANCE Arbiter,
|
||||
_In_ PARBITER_ALLOCATION_STATE State)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopMemInitialize(VOID)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
|
||||
PAGED_CODE();
|
||||
|
||||
DPRINT("IopRootMemArbiter %p\n", &IopRootMemArbiter);
|
||||
|
||||
IopRootMemArbiter.UnpackRequirement = IopGenericUnpackRequirement;
|
||||
IopRootMemArbiter.PackResource = IopGenericPackResource;
|
||||
IopRootMemArbiter.UnpackResource = IopGenericUnpackResource;
|
||||
IopRootMemArbiter.ScoreRequirement = IopGenericScoreRequirement;
|
||||
|
||||
IopRootMemArbiter.FindSuitableRange = IopMemFindSuitableRange;
|
||||
|
||||
Status = ArbInitializeArbiterInstance(&IopRootMemArbiter,
|
||||
NULL,
|
||||
CmResourceTypeMemory,
|
||||
L"RootMemory",
|
||||
L"Root",
|
||||
IopGenericTranslateOrdering);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("IopMemInitialize: Status %p\n", Status);
|
||||
ASSERT(FALSE);
|
||||
return Status;
|
||||
}
|
||||
|
||||
Status = RtlAddRange(IopRootMemArbiter.Allocation,
|
||||
0,
|
||||
(UINT64)(PAGE_SIZE - 1),
|
||||
0,
|
||||
0,
|
||||
NULL,
|
||||
NULL);
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
/* Port arbiter */
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
IopPortFindSuitableRange(
|
||||
_In_ PARBITER_INSTANCE Arbiter,
|
||||
_In_ PARBITER_ALLOCATION_STATE State)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
VOID
|
||||
NTAPI
|
||||
IopPortAddAllocation(
|
||||
_In_ PARBITER_INSTANCE Arbiter,
|
||||
_In_ PARBITER_ALLOCATION_STATE ArbState)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
VOID
|
||||
NTAPI
|
||||
IopPortBacktrackAllocation(
|
||||
_In_ PARBITER_INSTANCE Arbiter,
|
||||
_Inout_ PARBITER_ALLOCATION_STATE ArbState)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
CODE_SEG("PAGE")
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
IopPortInitialize(VOID)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
|
||||
PAGED_CODE();
|
||||
|
||||
DPRINT("IopRootPortArbiter %p\n", &IopRootPortArbiter);
|
||||
|
||||
IopRootPortArbiter.UnpackRequirement = IopGenericUnpackRequirement;
|
||||
IopRootPortArbiter.PackResource = IopGenericPackResource;
|
||||
IopRootPortArbiter.UnpackResource = IopGenericUnpackResource;
|
||||
IopRootPortArbiter.ScoreRequirement = IopGenericScoreRequirement;
|
||||
|
||||
IopRootPortArbiter.FindSuitableRange = IopPortFindSuitableRange;
|
||||
IopRootPortArbiter.AddAllocation = IopPortAddAllocation;
|
||||
IopRootPortArbiter.BacktrackAllocation = IopPortBacktrackAllocation;
|
||||
|
||||
Status = ArbInitializeArbiterInstance(&IopRootPortArbiter,
|
||||
NULL,
|
||||
CmResourceTypePort,
|
||||
L"RootPort",
|
||||
L"Root",
|
||||
IopGenericTranslateOrdering);
|
||||
return Status;
|
||||
}
|
@@ -28,11 +28,11 @@ ARBITER_INSTANCE IopRootPortArbiter;
|
||||
|
||||
extern KEVENT PiEnumerationFinished;
|
||||
|
||||
NTSTATUS NTAPI IopPortInitialize(VOID);
|
||||
NTSTATUS NTAPI IopMemInitialize(VOID);
|
||||
NTSTATUS NTAPI IopDmaInitialize(VOID);
|
||||
NTSTATUS NTAPI IopIrqInitialize(VOID);
|
||||
NTSTATUS NTAPI IopBusNumberInitialize(VOID);
|
||||
NTSTATUS NTAPI IopArbPortInitialize(VOID);
|
||||
NTSTATUS NTAPI IopArbMemInitialize(VOID);
|
||||
NTSTATUS NTAPI IopArbDmaInitialize(VOID);
|
||||
NTSTATUS NTAPI IopArbIrqInitialize(VOID);
|
||||
NTSTATUS NTAPI IopArbBusNumberInitialize(VOID);
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
@@ -50,38 +50,38 @@ IopInitializeArbiters(VOID)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
|
||||
Status = IopPortInitialize();
|
||||
Status = IopArbPortInitialize();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("IopPortInitialize() return %X\n", Status);
|
||||
DPRINT1("IopArbPortInitialize() return %X\n", Status);
|
||||
return Status;
|
||||
}
|
||||
|
||||
Status = IopMemInitialize();
|
||||
Status = IopArbMemInitialize();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("IopMemInitialize() return %X\n", Status);
|
||||
DPRINT1("IopArbMemInitialize() return %X\n", Status);
|
||||
return Status;
|
||||
}
|
||||
|
||||
Status = IopDmaInitialize();
|
||||
Status = IopArbDmaInitialize();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("IopDmaInitialize() return %X\n", Status);
|
||||
DPRINT1("IopArbDmaInitialize() return %X\n", Status);
|
||||
return Status;
|
||||
}
|
||||
|
||||
Status = IopIrqInitialize();
|
||||
Status = IopArbIrqInitialize();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("IopIrqInitialize() return %X\n", Status);
|
||||
DPRINT1("IopArbIrqInitialize() return %X\n", Status);
|
||||
return Status;
|
||||
}
|
||||
|
||||
Status = IopBusNumberInitialize();
|
||||
Status = IopArbBusNumberInitialize();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("IopBusNumberInitialize() return %X\n", Status);
|
||||
DPRINT1("IopArbBusNumberInitialize() return %X\n", Status);
|
||||
}
|
||||
|
||||
return Status;
|
||||
|
@@ -149,7 +149,11 @@ list(APPEND SOURCE
|
||||
${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/symlink.c
|
||||
${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/util.c
|
||||
${REACTOS_SOURCE_DIR}/ntoskrnl/io/iomgr/volume.c
|
||||
${REACTOS_SOURCE_DIR}/ntoskrnl/io/pnpmgr/arbiters.c
|
||||
${REACTOS_SOURCE_DIR}/ntoskrnl/io/pnpmgr/arb/arbbus.c
|
||||
${REACTOS_SOURCE_DIR}/ntoskrnl/io/pnpmgr/arb/arbdma.c
|
||||
${REACTOS_SOURCE_DIR}/ntoskrnl/io/pnpmgr/arb/arbirq.c
|
||||
${REACTOS_SOURCE_DIR}/ntoskrnl/io/pnpmgr/arb/arbmem.c
|
||||
${REACTOS_SOURCE_DIR}/ntoskrnl/io/pnpmgr/arb/arbport.c
|
||||
${REACTOS_SOURCE_DIR}/ntoskrnl/io/pnpmgr/devaction.c
|
||||
${REACTOS_SOURCE_DIR}/ntoskrnl/io/pnpmgr/devnode.c
|
||||
${REACTOS_SOURCE_DIR}/ntoskrnl/io/pnpmgr/plugplay.c
|
||||
|
Reference in New Issue
Block a user