#include <pci.h>
#include <debug.h>
Go to the source code of this file.
|
| NTSTATUS NTAPI | ario_UnpackRequirement (_In_ PIO_RESOURCE_DESCRIPTOR Descriptor, _Out_ PULONGLONG Minimum, _Out_ PULONGLONG Maximum, _Out_ PULONGLONG Length, _Out_ PULONGLONG Alignment) |
| |
| NTSTATUS NTAPI | ario_PackResource (_In_ PIO_RESOURCE_DESCRIPTOR Descriptor, _In_ ULONGLONG Start, _Out_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Resource) |
| |
| NTSTATUS NTAPI | ario_UnpackResource (_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Resource, _Out_ PULONGLONG Start, _Out_ PULONGLONG Length) |
| |
| INT32 NTAPI | ario_ScoreRequirement (_In_ PIO_RESOURCE_DESCRIPTOR Descriptor) |
| |
| NTSTATUS NTAPI | ario_Initializer (IN PVOID Instance) |
| |
| NTSTATUS NTAPI | ario_Constructor (IN PVOID DeviceExtension, IN PVOID PciInterface, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface) |
| |
| VOID NTAPI | ario_ApplyBrokenVideoHack (IN PPCI_FDO_EXTENSION FdoExtension) |
| |
| NTSTATUS NTAPI | armem_UnpackRequirement (_In_ PIO_RESOURCE_DESCRIPTOR Descriptor, _Out_ PULONGLONG Minimum, _Out_ PULONGLONG Maximum, _Out_ PULONGLONG Length, _Out_ PULONGLONG Alignment) |
| |
| NTSTATUS NTAPI | armem_PackResource (_In_ PIO_RESOURCE_DESCRIPTOR Descriptor, _In_ ULONGLONG Start, _Out_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Resource) |
| |
| NTSTATUS NTAPI | armem_UnpackResource (_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Resource, _Out_ PULONGLONG Start, _Out_ PULONGLONG Length) |
| |
| INT32 NTAPI | armem_ScoreRequirement (_In_ PIO_RESOURCE_DESCRIPTOR Descriptor) |
| |
| NTSTATUS NTAPI | armem_Initializer (IN PVOID Instance) |
| |
| NTSTATUS NTAPI | armem_Constructor (IN PVOID DeviceExtension, IN PVOID PciInterface, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface) |
| |
◆ NDEBUG
◆ ario_ApplyBrokenVideoHack()
Definition at line 181 of file ar_memio.c.
182{
186
187
190
191
193 SecondaryExtension.Next,
196 if (!PciArbiter) return;
197
198
200
201
204
205
212 {
213 DPRINT1(
"ario_ApplyBrokenVideoHack: ordering failed %X\n",
Status);
214 }
215
216
218}
NTSTATUS NTAPI ArbiterLibDefaultAssignmentOrdering(_Inout_ PARBITER_INSTANCE Arbiter, _In_ PCWSTR AllocationOrderName, _In_ PCWSTR ReservedResourcesName, _In_opt_ PARB_TRANSLATE_ORDERING TranslateOrderingFunction)
Builds the arbiter's allocation ordering from the registry policy, most-preferred window first.
VOID NTAPI ArbiterLibFreeOrderingList(_Inout_ PARBITER_ORDERING_LIST OrderingList)
#define NT_SUCCESS(StatCode)
PPCI_SECONDARY_EXTENSION NTAPI PciFindNextSecondaryExtension(IN PSINGLE_LIST_ENTRY ListHead, IN PCI_SIGNATURE ExtensionType)
#define PCI_IS_ROOT_FDO(x)
ARBITER_INSTANCE CommonInstance
ARBITER_ORDERING_LIST ReservedList
ARBITER_ORDERING_LIST OrderingList
Referenced by PciApplyHacks().
◆ ario_Constructor()
Definition at line 153 of file ar_memio.c.
159{
162
166
167
169 {
171 }
172
173
177}
NTSTATUS NTAPI PciArbiterConstructor(_In_ PPCI_FDO_EXTENSION FdoExtension, _In_ PCI_SIGNATURE ArbiterType, _Out_ PARBITER_INTERFACE Interface)
struct _PCI_FDO_EXTENSION * PPCI_FDO_EXTENSION
#define UNREFERENCED_PARAMETER(P)
#define STATUS_INVALID_PARAMETER_5
#define CmResourceTypePort
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
◆ ario_Initializer()
Definition at line 119 of file ar_memio.c.
120{
125
126
129
130
135
136
144 {
145 DPRINT1(
"ario_Initializer: init arbiter returned %X\n",
Status);
146 }
147
149}
NTSTATUS NTAPI ario_PackResource(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor, _In_ ULONGLONG Start, _Out_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Resource)
INT32 NTAPI ario_ScoreRequirement(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor)
NTSTATUS NTAPI ario_UnpackRequirement(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor, _Out_ PULONGLONG Minimum, _Out_ PULONGLONG Maximum, _Out_ PULONGLONG Length, _Out_ PULONGLONG Alignment)
NTSTATUS NTAPI ario_UnpackResource(_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Resource, _Out_ PULONGLONG Start, _Out_ PULONGLONG Length)
NTSTATUS NTAPI ArbiterLibInitializeInstance(_Inout_ PARBITER_INSTANCE Arbiter, _In_ PDEVICE_OBJECT BusDeviceObject, _In_ CM_RESOURCE_TYPE ResourceType, _In_ PCWSTR ArbiterName, _In_ PCWSTR OrderName, _In_ PARB_TRANSLATE_ORDERING TranslateOrderingFunction)
PPCI_FDO_EXTENSION BusFdoExtension
PARB_UNPACK_RESOURCE UnpackResource
PARB_SCORE_REQUIREMENT ScoreRequirement
PARB_UNPACK_REQUIREMENT UnpackRequirement
PARB_PACK_RESOURCE PackResource
#define RtlZeroMemory(Destination, Length)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_WMI_INSTANCE_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_opt_ WDFWMIINSTANCE * Instance
◆ ario_PackResource()
Definition at line 67 of file ar_memio.c.
70{
71
73
80}
static _Out_opt_ PULONGLONG Start
_Acquires_exclusive_lock_ Resource _Acquires_shared_lock_ Resource _Inout_ PERESOURCE Resource
#define STATUS_INVALID_PARAMETER
_Must_inspect_result_ _In_ WDFIORESLIST _In_ PIO_RESOURCE_DESCRIPTOR Descriptor
Referenced by ario_Initializer().
◆ ario_ScoreRequirement()
Definition at line 98 of file ar_memio.c.
99{
101
102
104 &Minimum,
105 &Maximum,
108 (Maximum < Minimum))
109 {
110 return -1;
111 }
112
114 return (
INT32)(Maximum - Minimum + 1);
115}
union Alignment_ Alignment
_In_ ULONG _In_ ULONG _In_ ULONG Length
Referenced by ario_Initializer().
◆ ario_UnpackRequirement()
◆ ario_UnpackResource()
◆ armem_Constructor()
Definition at line 327 of file ar_memio.c.
333{
336
340
341
343 {
345 }
346
347
351}
#define CmResourceTypeMemory
◆ armem_Initializer()
Definition at line 293 of file ar_memio.c.
294{
299
300
303
304
309
310
318 {
319 DPRINT1(
"armem_Initializer: init arbiter returned %X\n",
Status);
320 }
321
323}
NTSTATUS NTAPI armem_UnpackResource(_In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Resource, _Out_ PULONGLONG Start, _Out_ PULONGLONG Length)
INT32 NTAPI armem_ScoreRequirement(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor)
NTSTATUS NTAPI armem_PackResource(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor, _In_ ULONGLONG Start, _Out_ PCM_PARTIAL_RESOURCE_DESCRIPTOR Resource)
NTSTATUS NTAPI armem_UnpackRequirement(_In_ PIO_RESOURCE_DESCRIPTOR Descriptor, _Out_ PULONGLONG Minimum, _Out_ PULONGLONG Maximum, _Out_ PULONGLONG Length, _Out_ PULONGLONG Alignment)
◆ armem_PackResource()
◆ armem_ScoreRequirement()
Definition at line 272 of file ar_memio.c.
273{
275
276
278 &Minimum,
279 &Maximum,
282 (Maximum < Minimum))
283 {
284 return -1;
285 }
286
288 return (
INT32)(Maximum - Minimum + 1);
289}
Referenced by armem_Initializer().
◆ armem_UnpackRequirement()
◆ armem_UnpackResource()
◆ ArbiterInterfaceIo
Initial value:=
{
&GUID_ARBITER_INTERFACE_STANDARD,
0,
0,
0,
}
NTSTATUS NTAPI ario_Initializer(IN PVOID Instance)
NTSTATUS NTAPI ario_Constructor(IN PVOID DeviceExtension, IN PVOID PciInterface, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
#define PCI_INTERFACE_FDO
struct _ARBITER_INTERFACE ARBITER_INTERFACE
Definition at line 31 of file ar_memio.c.
◆ ArbiterInterfaceMemory
Initial value:=
{
&GUID_ARBITER_INTERFACE_STANDARD,
0,
0,
0,
}
NTSTATUS NTAPI armem_Constructor(IN PVOID DeviceExtension, IN PVOID PciInterface, IN PVOID InterfaceData, IN USHORT Version, IN USHORT Size, IN PINTERFACE Interface)
NTSTATUS NTAPI armem_Initializer(IN PVOID Instance)
Definition at line 18 of file ar_memio.c.