#include "iop.h"
Go to the source code of this file.
Classes | |
struct | _PORT_ARBITER_EXTENSION |
Defines | |
#define | BUGFEST_HACKS |
#define | MAX_ULONGLONG ((ULONGLONG) -1) |
#define | MAX_ALIAS_PORT 0x0000FFFF |
#define | ADDRESS_SPACE_MEMORY 0x0 |
#define | ADDRESS_SPACE_PORT 0x1 |
#define | ADDRESS_SPACE_USER_MEMORY 0x2 |
#define | ADDRESS_SPACE_USER_PORT 0x3 |
#define | ADDRESS_SPACE_DENSE_MEMORY 0x4 |
#define | ADDRESS_SPACE_USER_DENSE_MEMORY 0x6 |
#define | MAX_SCORE MAXLONG |
Typedefs | |
typedef _PORT_ARBITER_EXTENSION | PORT_ARBITER_EXTENSION |
typedef _PORT_ARBITER_EXTENSION * | PPORT_ARBITER_EXTENSION |
Functions | |
VOID | IopPortBacktrackAllocation (IN PARBITER_INSTANCE Arbiter, IN PARBITER_ALLOCATION_STATE State) |
BOOLEAN | IopPortGetNextAlias (ULONG IoDescriptorFlags, ULONGLONG LastAlias, PULONGLONG NextAlias) |
BOOLEAN | IopPortFindSuitableRange (PARBITER_INSTANCE Arbiter, PARBITER_ALLOCATION_STATE State) |
BOOLEAN | IopMemFindSuitableRange (PARBITER_INSTANCE Arbiter, PARBITER_ALLOCATION_STATE State) |
NTSTATUS | IopGenericUnpackRequirement (IN PIO_RESOURCE_DESCRIPTOR Descriptor, OUT PULONGLONG Minimum, OUT PULONGLONG Maximum, OUT PULONG Length, OUT PULONG Alignment) |
NTSTATUS | IopGenericPackResource (IN PIO_RESOURCE_DESCRIPTOR Requirement, IN ULONGLONG Start, OUT PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor) |
LONG | IopGenericScoreRequirement (IN PIO_RESOURCE_DESCRIPTOR Descriptor) |
NTSTATUS | IopGenericUnpackResource (IN PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor, OUT PULONGLONG Start, OUT PULONG Length) |
BOOLEAN | IopPortIsAliasedRangeAvailable (IN PARBITER_INSTANCE Arbiter, IN PARBITER_ALLOCATION_STATE State) |
NTSTATUS | IopMemInitialize (VOID) |
VOID | IopPortAddAllocation (IN PARBITER_INSTANCE Arbiter, IN PARBITER_ALLOCATION_STATE State) |
NTSTATUS | IopTranslateBusAddress (IN PHYSICAL_ADDRESS SourceAddress, IN UCHAR SourceResourceType, OUT PPHYSICAL_ADDRESS TargetAddress, OUT PUCHAR TargetResourceType) |
NTSTATUS | IopGenericTranslateOrdering (OUT PIO_RESOURCE_DESCRIPTOR Target, IN PIO_RESOURCE_DESCRIPTOR Source) |
NTSTATUS | IopPortInitialize (VOID) |
BOOLEAN | IopPortIsAliasedRangeAvailable (PARBITER_INSTANCE Arbiter, PARBITER_ALLOCATION_STATE State) |
|
Definition at line 151 of file pnpmemio.c. Referenced by IopTranslateBusAddress(). |
|
Definition at line 147 of file pnpmemio.c. Referenced by IopTranslateBusAddress(). |
|
Definition at line 148 of file pnpmemio.c. Referenced by IopTranslateBusAddress(). |
|
Definition at line 152 of file pnpmemio.c. Referenced by IopTranslateBusAddress(). |
|
Definition at line 149 of file pnpmemio.c. Referenced by IopTranslateBusAddress(). |
|
Definition at line 150 of file pnpmemio.c. Referenced by IopTranslateBusAddress(). |
|
Definition at line 24 of file pnpmemio.c. |
|
Definition at line 31 of file pnpmemio.c. Referenced by IopPortGetNextAlias(). |
|
Referenced by IopGenericScoreRequirement(). |
|
Definition at line 30 of file pnpmemio.c. |
|
|
|
|
|
Definition at line 630 of file pnpmemio.c. References ARB_PRINT, ASSERT, PAGED_CODE, and Start. Referenced by IopMemInitialize(), and IopPortInitialize().
|
|
Definition at line 542 of file pnpmemio.c. References ALIGN_ADDRESS_UP, ARB_PRINT, ASSERT, MAX_SCORE, and PAGED_CODE. Referenced by IopMemInitialize(), and IopPortInitialize().
|
|
Definition at line 263 of file pnpmemio.c. References ASSERT, IopTranslateBusAddress(), NT_SUCCESS, NTSTATUS(), and PAGED_CODE. Referenced by IopMemInitialize(), and IopPortInitialize().
|
|
Definition at line 463 of file pnpmemio.c. References ARB_PRINT, ASSERT, and PAGED_CODE. Referenced by IopMemInitialize(), and IopPortInitialize().
|
|
Definition at line 682 of file pnpmemio.c. References ARB_PRINT, ASSERT, PAGED_CODE, and Start. Referenced by IopMemInitialize(), and IopPortInitialize().
|
|
Definition at line 1342 of file pnpmemio.c. References ArbFindSuitableRange(), ARBITER_FLAG_BOOT_CONFIG, ARBITER_RANGE_BOOT_ALLOCATED, _ARBITER_ALLOCATION_STATE::Entry, _ARBITER_LIST_ENTRY::Flags, and _ARBITER_ALLOCATION_STATE::RangeAvailableAttributes. Referenced by IopMemInitialize().
|
|
Referenced by IopInitializePlugPlayServices(). |
|
Definition at line 1146 of file pnpmemio.c. References ARB_PRINT, ARBITER_ALTERNATIVE_FLAG_SHARED, ARBITER_RANGE_ALIAS, ASSERT, IopPortGetNextAlias(), NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, and RtlAddRange(). Referenced by IopPortInitialize().
|
|
Definition at line 890 of file pnpmemio.c. References ARB_PRINT, ArbBacktrackAllocation(), ASSERT, IopPortGetNextAlias(), NT_SUCCESS, NTSTATUS(), PAGED_CODE, and RtlDeleteRange(). Referenced by IopPortInitialize().
|
|
Definition at line 959 of file pnpmemio.c. References _ARBITER_ALTERNATIVE::Alignment, ARBITER_ALTERNATIVE_FLAG_SHARED, ARBITER_FLAG_BOOT_CONFIG, ARBITER_RANGE_BOOT_ALLOCATED, ArbiterRequestLegacyAssigned, ArbiterRequestLegacyReported, _ARBITER_ALLOCATION_STATE::CurrentAlternative, _ARBITER_ALLOCATION_STATE::CurrentMaximum, _ARBITER_ALLOCATION_STATE::CurrentMinimum, _ARBITER_ALLOCATION_STATE::End, _ARBITER_ALLOCATION_STATE::Entry, FALSE, _ARBITER_ALTERNATIVE::Flags, _ARBITER_LIST_ENTRY::Flags, IopPortIsAliasedRangeAvailable(), _ARBITER_ALTERNATIVE::Length, NT_SUCCESS, NTSTATUS(), PAGED_CODE, _ARBITER_LIST_ENTRY::RequestSource, RtlFindRange(), _ARBITER_ALLOCATION_STATE::Start, and TRUE. Referenced by IopPortInitialize().
|
|
Definition at line 1087 of file pnpmemio.c. References FALSE, MAX_ALIAS_PORT, PAGED_CODE, and TRUE. Referenced by IopPortAddAllocation(), IopPortBacktrackAllocation(), and IopPortIsAliasedRangeAvailable().
|
|
|
Definition at line 1227 of file pnpmemio.c. References ARB_PRINT, ARBITER_ALLOCATION_STATE, ARBITER_ALTERNATIVE_FLAG_SHARED, ARBITER_RANGE_BOOT_ALLOCATED, ArbiterRequestLegacyAssigned, ArbiterRequestLegacyReported, ASSERT, _ARBITER_ALLOCATION_STATE::CurrentAlternative, _ARBITER_ALLOCATION_STATE::CurrentMaximum, _ARBITER_ALLOCATION_STATE::CurrentMinimum, _ARBITER_ALTERNATIVE::Descriptor, _ARBITER_ALLOCATION_STATE::Entry, FALSE, _ARBITER_ALTERNATIVE::Flags, IopPortGetNextAlias(), _ARBITER_ALTERNATIVE::Length, NT_SUCCESS, NTSTATUS(), PAGED_CODE, _ARBITER_LIST_ENTRY::RequestSource, RtlIsRangeAvailable(), _ARBITER_ALLOCATION_STATE::Start, and TRUE. Referenced by IopPortFindSuitableRange().
|
|
|
|
Definition at line 155 of file pnpmemio.c. References ADDRESS_SPACE_DENSE_MEMORY, ADDRESS_SPACE_MEMORY, ADDRESS_SPACE_PORT, ADDRESS_SPACE_USER_DENSE_MEMORY, ADDRESS_SPACE_USER_MEMORY, ADDRESS_SPACE_USER_PORT, ARB_PRINT, ASSERT, HalTranslateBusAddress(), NTSTATUS(), and PAGED_CODE. Referenced by IopGenericTranslateOrdering().
|