#include "arbp.h"Go to the source code of this file.
Defines | |
| #define | ALLOW_BOOT_ALLOC_CONFLICTS 1 |
| #define | PLUG_FEST_HACKS 0 |
| #define | ARBITER_ALLOCATION_STATE_TAG 'AbrA' |
| #define | ARBITER_ORDERING_LIST_TAG 'LbrA' |
| #define | ARBITER_MISC_TAG 'MbrA' |
| #define | ARBITER_RANGE_LIST_TAG 'RbrA' |
| #define | ARBITER_CONFLICT_INFO_TAG 'CbrA' |
| #define | PATH_ARBITERS L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\Arbiters" |
| #define | KEY_ALLOCATIONORDER L"AllocationOrder" |
| #define | KEY_RESERVEDRESOURCES L"ReservedResources" |
| #define | ARBITER_ORDERING_GROW_SIZE 8 |
| #define | FULL_INFO_DATA(k) ((PCHAR)(k) + (k)->DataOffset) |
| #define | DISJOINT(s1, e1, s2, e2) |
| #define | ArbpWstrToUnicodeString(u, p) |
| #define | ORDERING_INDEX_FROM_PRIORITY(P) ( (ULONG) ( (P) > 0 ? (P) - 1 : ((P) * -1) - 1) ) |
| #define | ARBITER_ORDERING_LIST_INITIAL_SIZE 16 |
Functions | |
| NTSTATUS | ArbpBuildAllocationStack (IN PARBITER_INSTANCE Arbiter, IN PLIST_ENTRY ArbitrationList, IN ULONG ArbitrationListCount) |
| NTSTATUS | ArbpGetRegistryValue (IN HANDLE KeyHandle, IN PWSTR ValueName, OUT PKEY_VALUE_FULL_INFORMATION *Information) |
| NTSTATUS | ArbpBuildAlternative (IN PARBITER_INSTANCE Arbiter, IN PIO_RESOURCE_DESCRIPTOR Requirement, OUT PARBITER_ALTERNATIVE Alternative) |
| VOID | ArbpUpdatePriority (PARBITER_INSTANCE Arbiter, PARBITER_ALTERNATIVE Alternative) |
| BOOLEAN | ArbpQueryConflictCallback (IN PVOID Context, IN PRTL_RANGE Range) |
| NTSTATUS | ArbInitializeArbiterInstance (OUT PARBITER_INSTANCE Arbiter, IN PDEVICE_OBJECT BusDeviceObject, IN CM_RESOURCE_TYPE ResourceType, IN PWSTR Name, IN PWSTR OrderingName, IN PARBITER_TRANSLATE_ALLOCATION_ORDER TranslateOrdering OPTIONAL) |
| VOID | ArbReferenceArbiterInstance (IN PARBITER_INSTANCE Arbiter) |
| VOID | ArbDereferenceArbiterInstance (IN PARBITER_INSTANCE Arbiter) |
| VOID | ArbDeleteArbiterInstance (IN PARBITER_INSTANCE Arbiter) |
| NTSTATUS | ArbTestAllocation (IN PARBITER_INSTANCE Arbiter, IN OUT PLIST_ENTRY ArbitrationList) |
| NTSTATUS | ArbSortArbitrationList (IN OUT PLIST_ENTRY ArbitrationList) |
| NTSTATUS | ArbCommitAllocation (PARBITER_INSTANCE Arbiter) |
| NTSTATUS | ArbRollbackAllocation (IN PARBITER_INSTANCE Arbiter) |
| NTSTATUS | ArbRetestAllocation (IN PARBITER_INSTANCE Arbiter, IN OUT PLIST_ENTRY ArbitrationList) |
| NTSTATUS | ArbBootAllocation (IN PARBITER_INSTANCE Arbiter, IN OUT PLIST_ENTRY ArbitrationList) |
| NTSTATUS | ArbArbiterHandler (IN PVOID Context, IN ARBITER_ACTION Action, IN OUT PARBITER_PARAMETERS Params) |
| NTSTATUS | ArbBuildAssignmentOrdering (IN OUT PARBITER_INSTANCE Arbiter, IN PWSTR AllocationOrderName, IN PWSTR ReservedResourcesName, IN PARBITER_TRANSLATE_ALLOCATION_ORDER Translate OPTIONAL) |
| BOOLEAN | ArbFindSuitableRange (PARBITER_INSTANCE Arbiter, PARBITER_ALLOCATION_STATE State) |
| VOID | ArbAddAllocation (IN PARBITER_INSTANCE Arbiter, IN PARBITER_ALLOCATION_STATE State) |
| VOID | ArbBacktrackAllocation (IN PARBITER_INSTANCE Arbiter, IN PARBITER_ALLOCATION_STATE State) |
| NTSTATUS | ArbPreprocessEntry (IN PARBITER_INSTANCE Arbiter, IN PARBITER_ALLOCATION_STATE State) |
| NTSTATUS | ArbAllocateEntry (IN PARBITER_INSTANCE Arbiter, IN PARBITER_ALLOCATION_STATE State) |
| BOOLEAN | ArbGetNextAllocationRange (IN PARBITER_INSTANCE Arbiter, IN OUT PARBITER_ALLOCATION_STATE State) |
| NTSTATUS | ArbInitializeOrderingList (IN OUT PARBITER_ORDERING_LIST List) |
| NTSTATUS | ArbCopyOrderingList (OUT PARBITER_ORDERING_LIST Destination, IN PARBITER_ORDERING_LIST Source) |
| NTSTATUS | ArbAddOrdering (OUT PARBITER_ORDERING_LIST List, IN ULONGLONG Start, IN ULONGLONG End) |
| NTSTATUS | ArbPruneOrdering (IN OUT PARBITER_ORDERING_LIST OrderingList, IN ULONGLONG Start, IN ULONGLONG End) |
| VOID | ArbFreeOrderingList (IN PARBITER_ORDERING_LIST List) |
| BOOLEAN | ArbOverrideConflict (IN PARBITER_INSTANCE Arbiter, IN PARBITER_ALLOCATION_STATE State) |
| NTSTATUS | ArbAddReserved (IN PARBITER_INSTANCE Arbiter, IN PIO_RESOURCE_DESCRIPTOR Requirement OPTIONAL, IN PCM_PARTIAL_RESOURCE_DESCRIPTOR Resource OPTIONAL) |
| NTSTATUS | ArbQueryConflict (IN PARBITER_INSTANCE Arbiter, IN PDEVICE_OBJECT PhysicalDeviceObject, IN PIO_RESOURCE_DESCRIPTOR ConflictingResource, OUT PULONG ConflictCount, OUT PARBITER_CONFLICT_INFO *Conflicts) |
| NTSTATUS | ArbStartArbiter (IN PARBITER_INSTANCE Arbiter, IN PCM_RESOURCE_LIST StartResources) |
| VOID | ArbpIndent (IN ULONG Count) |
|
|
|
|
|
Definition at line 39 of file arbiter.c. Referenced by ArbInitializeArbiterInstance(), and ArbpBuildAllocationStack(). |
|
|
Definition at line 43 of file arbiter.c. Referenced by ArbQueryConflict(). |
|
|
Definition at line 41 of file arbiter.c. Referenced by ArbInitializeArbiterInstance(), and ArbpGetRegistryValue(). |
|
|
Definition at line 52 of file arbiter.c. Referenced by ArbAddOrdering(). |
|
|
Definition at line 2924 of file arbiter.c. Referenced by ArbInitializeOrderingList(). |
|
|
Definition at line 40 of file arbiter.c. Referenced by ArbAddOrdering(), ArbCopyOrderingList(), ArbInitializeOrderingList(), and ArbPruneOrdering(). |
|
|
Definition at line 42 of file arbiter.c. Referenced by ArbInitializeArbiterInstance(). |
|
|
Value: Definition at line 92 of file arbiter.c. Referenced by ArbBuildAssignmentOrdering(). |
|
|
Value:
|
|
|
Definition at line 69 of file arbiter.c. Referenced by ArbBuildAssignmentOrdering(). |
|
|
Definition at line 50 of file arbiter.c. Referenced by ArbBuildAssignmentOrdering(). |
|
|
Definition at line 51 of file arbiter.c. Referenced by ArbBuildAssignmentOrdering(). |
|
|
Definition at line 104 of file arbiter.c. Referenced by ArbGetNextAllocationRange(), and ArbpUpdatePriority(). |
|
|
Definition at line 49 of file arbiter.c. Referenced by ArbBuildAssignmentOrdering(). |
|
|
|
|
||||||||||||
|
Definition at line 2189 of file arbiter.c. References ARBITER_ALTERNATIVE_FLAG_SHARED, ASSERT, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, and RtlAddRange(). Referenced by ArbInitializeArbiterInstance().
|
|
||||||||||||||||
|
Definition at line 3028 of file arbiter.c. References ARBITER_ORDERING, ARBITER_ORDERING_GROW_SIZE, ARBITER_ORDERING_LIST_TAG, ASSERT, End, ExAllocatePoolWithTag, ExFreePool(), List, PagedPool, and Start. Referenced by ArbBuildAssignmentOrdering().
|
|
||||||||||||||||
|
Definition at line 3630 of file arbiter.c. References PAGED_CODE. Referenced by ArbInitializeArbiterInstance().
|
|
||||||||||||
|
Definition at line 2325 of file arbiter.c. References ARB_INDENT, ARB_PRINT, ARBITER_ALTERNATIVE_FLAG_SHARED, ArbiterResultNullRequest, ASSERT, _ARBITER_LIST_ENTRY::Assignment, _ARBITER_ALLOCATION_STATE::CurrentAlternative, _ARBITER_ALLOCATION_STATE::CurrentMaximum, _ARBITER_ALLOCATION_STATE::CurrentMinimum, _ARBITER_ALTERNATIVE::Descriptor, _ARBITER_ALLOCATION_STATE::End, _ARBITER_ALLOCATION_STATE::Entry, FALSE, _ARBITER_ALTERNATIVE::Flags, _ARBITER_ALTERNATIVE::Length, _ARBITER_ALTERNATIVE::Minimum, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, _ARBITER_LIST_ENTRY::PhysicalDeviceObject, _ARBITER_LIST_ENTRY::Result, _ARBITER_LIST_ENTRY::SelectedAlternative, _ARBITER_ALLOCATION_STATE::Start, and TRUE. Referenced by ArbInitializeArbiterInstance().
|
|
||||||||||||||||
|
Definition at line 1414 of file arbiter.c. References Action, ARB_PRINT, ArbAcquireArbiterLock, ARBITER_ACTION, ARBITER_INSTANCE_SIGNATURE, ArbiterActionAddReserved, ArbiterActionBootAllocation, ArbiterActionCommitAllocation, ArbiterActionQueryAllocatedResources, ArbiterActionQueryArbitrate, ArbiterActionQueryConflict, ArbiterActionRetestAllocation, ArbiterActionRollbackAllocation, ArbiterActionTestAllocation, ArbiterActionWriteReservedResources, ArbpActionStrings, ArbReleaseArbiterLock, ArbReplayOnError, ArbStopOnError, ASSERT, FALSE, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PARBITER_INSTANCE, PARBITER_PARAMETERS, and TRUE. Referenced by IopPnPDispatch().
|
|
||||||||||||
|
Definition at line 2238 of file arbiter.c. References ARB_PRINT, ASSERT, NT_SUCCESS, NTSTATUS(), PAGED_CODE, and RtlDeleteRange(). Referenced by ArbInitializeArbiterInstance(), and IopPortBacktrackAllocation().
|
|
||||||||||||
|
Definition at line 1252 of file arbiter.c. References _ARBITER_ALTERNATIVE::Alignment, _ARBITER_ALLOCATION_STATE::AlternativeCount, _ARBITER_LIST_ENTRY::AlternativeCount, _ARBITER_ALLOCATION_STATE::Alternatives, _ARBITER_LIST_ENTRY::Alternatives, ARB_PRINT, ARBITER_ALTERNATIVE_FLAG_FIXED, ARBITER_ALTERNATIVE_FLAG_INVALID, ARBITER_ALTERNATIVE_FLAG_SHARED, ARBITER_RANGE_BOOT_ALLOCATED, ARBITER_STATE_FLAG_BOOT, ArbpBuildAlternative(), ASSERT, _ARBITER_ALLOCATION_STATE::CurrentAlternative, _ARBITER_ALLOCATION_STATE::End, _ARBITER_ALLOCATION_STATE::Entry, _ARBITER_ALLOCATION_STATE::Flags, _ARBITER_ALTERNATIVE::Flags, FOR_ALL_IN_LIST, _ARBITER_ALTERNATIVE::Length, LENGTH_OF, _ARBITER_ALTERNATIVE::Maximum, _ARBITER_ALTERNATIVE::Minimum, NT_SUCCESS, NTSTATUS(), _ARBITER_LIST_ENTRY::PhysicalDeviceObject, _ARBITER_ALLOCATION_STATE::RangeAttributes, _ARBITER_ALLOCATION_STATE::RangeAvailableAttributes, RtlCopyRangeList(), RtlFreeRangeList(), _ARBITER_ALLOCATION_STATE::Start, and _ARBITER_ALLOCATION_STATE::WorkSpace. Referenced by ArbInitializeArbiterInstance().
|
|
||||||||||||||||||||
|
Definition at line 1622 of file arbiter.c. References ARB_PRINT, ArbAcquireArbiterLock, ArbAddOrdering(), ArbFreeOrderingList(), ArbInitializeOrderingList(), ArbpGetRegistryValue(), ArbPruneOrdering(), ArbpWstrToUnicodeString, ArbReleaseArbiterLock, ASSERT, dummy(), _ARBITER_ORDERING::End, ExFreePool(), FOR_ALL_IN_ARRAY, FULL_INFO_DATA, KEY_ALLOCATIONORDER, KEY_RESERVEDRESOURCES, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PARBITER_ORDERING, PATH_ARBITERS, and _ARBITER_ORDERING::Start. Referenced by ArbInitializeArbiterInstance().
|
|
|
Definition at line 1026 of file arbiter.c. References PAGED_CODE, and RtlFreeRangeList(). Referenced by ArbInitializeArbiterInstance().
|
|
||||||||||||
|
Definition at line 2971 of file arbiter.c. References ARBITER_ORDERING, ARBITER_ORDERING_LIST_TAG, ASSERT, ExAllocatePoolWithTag, NULL, PAGED_CODE, and PagedPool.
|
|
|
Definition at line 469 of file arbiter.c. References ArbFreeOrderingList(), ARBITER_INSTANCE, ExFreePool(), PAGED_CODE, and RtlFreeRangeList(). Referenced by ArbDereferenceArbiterInstance().
|
|
|
Definition at line 457 of file arbiter.c. References ArbDeleteArbiterInstance().
|
|
||||||||||||
|
Definition at line 2065 of file arbiter.c. References _ARBITER_ALTERNATIVE::Alignment, ARBITER_ALTERNATIVE_FLAG_SHARED, ARBITER_RANGE_BOOT_ALLOCATED, ARBITER_STATE_FLAG_NULL_CONFLICT_OK, ArbiterRequestLegacyAssigned, ArbiterRequestLegacyReported, ASSERT, _ARBITER_ALLOCATION_STATE::CurrentAlternative, _ARBITER_ALLOCATION_STATE::CurrentMaximum, _ARBITER_ALLOCATION_STATE::CurrentMinimum, _ARBITER_ALLOCATION_STATE::End, _ARBITER_ALLOCATION_STATE::Entry, FALSE, _ARBITER_ALLOCATION_STATE::Flags, _ARBITER_ALTERNATIVE::Flags, _ARBITER_ALTERNATIVE::Length, NT_SUCCESS, NTSTATUS(), PAGED_CODE, _ARBITER_ALLOCATION_STATE::RangeAvailableAttributes, _ARBITER_LIST_ENTRY::RequestSource, RtlFindRange(), _ARBITER_ALLOCATION_STATE::Start, and TRUE. Referenced by ArbInitializeArbiterInstance(), and IopMemFindSuitableRange().
|
|
|
Definition at line 3350 of file arbiter.c. References ASSERT, ExFreePool(), List, and NULL.
|
|
||||||||||||
|
Definition at line 2592 of file arbiter.c. References __max, __min, _ARBITER_ALTERNATIVE::Alignment, ARB_INDENT, ARB_PRINT, ARBITER_ALTERNATIVE_FLAG_FIXED, ARBITER_PRIORITY_EXHAUSTED, ARBITER_PRIORITY_NULL, ARBITER_PRIORITY_PREFERRED_RESERVED, ARBITER_PRIORITY_RESERVED, ArbpUpdatePriority(), ASSERT, _ARBITER_ORDERING::End, FALSE, _ARBITER_ALTERNATIVE::Flags, FOR_ALL_IN_ARRAY, INTERSECT, INTERSECT_SIZE, _ARBITER_ALTERNATIVE::Length, max, _ARBITER_ALTERNATIVE::Maximum, min, _ARBITER_ALTERNATIVE::Minimum, ORDERING_INDEX_FROM_PRIORITY, _ARBITER_ALTERNATIVE::Priority, _ARBITER_ORDERING::Start, and TRUE. Referenced by ArbInitializeArbiterInstance().
|
|
||||||||||||||||||||||||||||
|
Definition at line 192 of file arbiter.c. References ARB_PRINT, ArbAddAllocation(), ArbAddReserved(), ArbAllocateEntry(), ArbBacktrackAllocation(), ArbBootAllocation(), ArbBuildAssignmentOrdering(), ArbCommitAllocation(), ArbFindSuitableRange(), ArbGetNextAllocationRange(), ARBITER_ALLOCATION_STATE_TAG, ARBITER_INSTANCE_SIGNATURE, ARBITER_MISC_TAG, ARBITER_RANGE_LIST_TAG, ArbOverrideConflict(), ArbPreprocessEntry(), ArbQueryConflict(), ArbRetestAllocation(), ArbRollbackAllocation(), ArbStartArbiter(), ArbTestAllocation(), ASSERT, ExAllocatePoolWithTag, ExFreePool(), FALSE, INITIAL_ALLOCATION_STATE_SIZE, KeInitializeEvent, Name, NonPagedPool, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PagedPool, PARBITER_TRANSLATE_ALLOCATION_ORDER, RtlInitializeRangeList(), and TRUE. Referenced by IopBusNumberInitialize(), IopDmaInitialize(), IopIrqInitialize(), IopMemInitialize(), and IopPortInitialize().
|
|
|
Definition at line 2927 of file arbiter.c. References ARBITER_ORDERING, ARBITER_ORDERING_LIST_INITIAL_SIZE, ARBITER_ORDERING_LIST_TAG, ASSERT, ExAllocatePoolWithTag, List, PAGED_CODE, PagedPool, and PARBITER_ORDERING_LIST. Referenced by ArbBuildAssignmentOrdering().
|
|
||||||||||||
|
Definition at line 3383 of file arbiter.c. References ARBITER_ALTERNATIVE_FLAG_FIXED, FALSE, INTERSECT, PAGED_CODE, and TRUE. Referenced by ArbInitializeArbiterInstance().
|
|
||||||||||||||||
|
Definition at line 786 of file arbiter.c. References _ARBITER_ALLOCATION_STATE::AlternativeCount, _ARBITER_LIST_ENTRY::AlternativeCount, _ARBITER_LIST_ENTRY::Alternatives, _ARBITER_ALLOCATION_STATE::Alternatives, ARBITER_ALLOCATION_STATE, ARBITER_ALLOCATION_STATE_TAG, ARBITER_ALTERNATIVE, ARBITER_PRIORITY_NULL, ArbpBuildAlternative(), ASSERT, _ARBITER_ALLOCATION_STATE::End, _ARBITER_ALLOCATION_STATE::Entry, ExAllocatePoolWithTag, ExFreePool(), FOR_ALL_IN_ARRAY, FOR_ALL_IN_LIST, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PagedPool, PARBITER_ALLOCATION_STATE, _ARBITER_ALTERNATIVE::Priority, and _ARBITER_ALLOCATION_STATE::Start. Referenced by ArbTestAllocation().
|
|
||||||||||||||||
|
Definition at line 689 of file arbiter.c. References ALIGN_ADDRESS_UP, ARBITER_ALTERNATIVE_FLAG_FIXED, ARBITER_ALTERNATIVE_FLAG_INVALID, ARBITER_ALTERNATIVE_FLAG_SHARED, ASSERT, NT_SUCCESS, NTSTATUS(), and PAGED_CODE. Referenced by ArbBootAllocation(), ArbpBuildAllocationStack(), ArbQueryConflict(), and ArbRetestAllocation().
|
|
||||||||||||||||
|
Definition at line 2824 of file arbiter.c. References ARBITER_MISC_TAG, ExAllocatePoolWithTag, ExFreePool(), NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PagedPool, RtlInitUnicodeString(), and ValueName. Referenced by ArbBuildAssignmentOrdering().
|
|
|
Definition at line 4033 of file arbiter.c. References ASSERT, Count, and DbgPrint.
|
|
||||||||||||
|
Definition at line 3642 of file arbiter.c. References ARB_PRINT, FALSE, and PAGED_CODE. Referenced by ArbQueryConflict().
|
|
||||||||||||
|
Definition at line 2295 of file arbiter.c. References PAGED_CODE. Referenced by ArbInitializeArbiterInstance().
|
|
||||||||||||||||
|
Definition at line 3120 of file arbiter.c. References ARBITER_ORDERING, ARBITER_ORDERING_LIST_TAG, ASSERT, End, _ARBITER_ORDERING::End, ExAllocatePoolWithTag, ExFreePool(), FOR_ALL_IN_ARRAY, NTSTATUS(), NULL, PagedPool, Start, _ARBITER_ORDERING::Start, and USHORT. Referenced by ArbBuildAssignmentOrdering().
|
|
||||||||||||
|
Definition at line 3468 of file arbiter.c. References ARBITER_ALTERNATIVE_FLAG_FIXED, ARBITER_PRIORITY_EXHAUSTED, ARBITER_PRIORITY_NULL, ARBITER_PRIORITY_PREFERRED_RESERVED, ARBITER_PRIORITY_RESERVED, ASSERT, _ARBITER_ALTERNATIVE::Descriptor, _ARBITER_ORDERING::End, _ARBITER_ALTERNATIVE::Flags, FOR_REST_IN_ARRAY, INTERSECT, INTERSECT_SIZE, _ARBITER_ALTERNATIVE::Length, _ARBITER_ALTERNATIVE::Maximum, _ARBITER_ALTERNATIVE::Minimum, ORDERING_INDEX_FROM_PRIORITY, PAGED_CODE, _ARBITER_ALTERNATIVE::Priority, and _ARBITER_ORDERING::Start. Referenced by ArbGetNextAllocationRange().
|
|
||||||||||||||||||||||||
|
Definition at line 3695 of file arbiter.c. References _ARBITER_ALLOCATION_STATE::AlternativeCount, _ARBITER_ALLOCATION_STATE::Alternatives, ARB_PRINT, ARBITER_CONFLICT_INFO, ARBITER_CONFLICT_INFO_TAG, ARBITER_STATE_FLAG_CONFLICT, ArbiterRequestPnpEnumerated, ArbpBuildAlternative(), ArbpQueryConflictCallback(), ASSERT, _ARBITER_LIST_ENTRY::BusNumber, _ARBITER_ALLOCATION_STATE::CurrentAlternative, _ARBITER_ALLOCATION_STATE::CurrentMaximum, _ARBITER_ALLOCATION_STATE::CurrentMinimum, DevicePropertyBusNumber, DevicePropertyLegacyBusType, _ARBITER_ALLOCATION_STATE::End, _ARBITER_CONFLICT_INFO::End, _ARBITER_ALLOCATION_STATE::Entry, ExAllocatePoolWithTag, ExFreePool(), FALSE, _ARBITER_ALLOCATION_STATE::Flags, _ARBITER_LIST_ENTRY::InterfaceType, IoGetDeviceProperty(), _ARBITER_ALTERNATIVE::Maximum, _ARBITER_ALTERNATIVE::Minimum, NT_SUCCESS, NTSTATUS(), NULL, _ARBITER_CONFLICT_INFO::OwningObject, PAGED_CODE, PagedPool, PARBITER_CONFLICT_INFO, _ARBITER_LIST_ENTRY::PhysicalDeviceObject, _ARBITER_LIST_ENTRY::RequestSource, RtlCopyRangeList(), RtlDeleteOwnersRanges(), RtlDeleteRange(), RtlFreeRangeList(), RtlInitializeRangeList(), _ARBITER_ALLOCATION_STATE::Start, _ARBITER_CONFLICT_INFO::Start, and TRUE. Referenced by ArbInitializeArbiterInstance().
|
|
|
Definition at line 449 of file arbiter.c.
|
|
||||||||||||
|
Definition at line 1105 of file arbiter.c. References _ARBITER_ALLOCATION_STATE::AlternativeCount, _ARBITER_ALLOCATION_STATE::Alternatives, ARB_PRINT, ARBITER_STATE_FLAG_RETEST, ArbpBuildAlternative(), ASSERT, _ARBITER_LIST_ENTRY::Assignment, _ARBITER_ALLOCATION_STATE::CurrentAlternative, _ARBITER_ALLOCATION_STATE::End, _ARBITER_ALLOCATION_STATE::Entry, _ARBITER_ALLOCATION_STATE::Flags, FOR_ALL_IN_LIST, NT_SUCCESS, NTSTATUS(), PAGED_CODE, _ARBITER_LIST_ENTRY::PhysicalDeviceObject, RtlCopyRangeList(), RtlDeleteOwnersRanges(), RtlFreeRangeList(), _ARBITER_LIST_ENTRY::SelectedAlternative, _ARBITER_ALLOCATION_STATE::Start, and _ARBITER_ALLOCATION_STATE::WorkSpace. Referenced by ArbInitializeArbiterInstance().
|
|
|
Definition at line 1070 of file arbiter.c. References PAGED_CODE, and RtlFreeRangeList(). Referenced by ArbInitializeArbiterInstance().
|
|
|
Definition at line 955 of file arbiter.c. References ARB_PRINT, FALSE, _ARBITER_LIST_ENTRY::ListEntry, PAGED_CODE, TRUE, and _ARBITER_LIST_ENTRY::WorkSpace. Referenced by ArbTestAllocation().
|
|
||||||||||||
|
Definition at line 3996 of file arbiter.c. References PAGED_CODE. Referenced by ArbInitializeArbiterInstance().
|
|
||||||||||||
|
Definition at line 506 of file arbiter.c. References _ARBITER_LIST_ENTRY::AlternativeCount, _ARBITER_LIST_ENTRY::Alternatives, ARB_PRINT, ARBITER_LIST_ENTRY, ArbpBuildAllocationStack(), ArbSortArbitrationList(), ASSERT, FOR_ALL_IN_ARRAY, FOR_ALL_IN_LIST, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, PARBITER_LIST_ENTRY, _ARBITER_LIST_ENTRY::PhysicalDeviceObject, RtlCopyRangeList(), RtlDeleteOwnersRanges(), RtlFreeRangeList(), and _ARBITER_LIST_ENTRY::WorkSpace. Referenced by ArbInitializeArbiterInstance().
|
1.3.7