!arbiter
The !arbiter extension displays the current system resource arbiters and arbitrated ranges.
!arbiter [Flags]
Parameters
Flags
Specifies which classes of arbiters are displayed. If omitted, all arbiters are displayed. These bits can be combined freely.
Bit 0 (0x1)
Display I/O arbiters.
Bit 1 (0x2)
Display memory arbiters.
Bit 2 (0x4)
Display IRQ arbiters.
Bit 3 (0x8)
Display DMA arbiters.
Bit 4 (0x10)
Display bus number arbiters.
Bit 8 (0x100)
Do not display aliases.
DLL
Kdexts.dll
Additional Information
See Plug and Play Debugging for applications of this extension command.
Remarks
For each arbiter, !arbiter displays each allocated range of system resources, some optional flags, the PDO attached to that range (in other words, the range's owner), and the service name of this owner (if known).
The flags have the following meanings:
Flag | Meaning |
---|---|
S |
Range is shared |
C |
Range in conflict |
B |
Range is boot-allocated |
D |
Range is driver-exclusive |
A |
Range alias |
P |
Range positive decode |
Here is an example:
kd> !arbiter 4
DEVNODE 80e203b8 (HTREE\ROOT\0)
Interrupt Arbiter "" at 80167140
Allocated ranges:
0000000000000000 - 0000000000000000 B 80e1d3d8
0000000000000001 - 0000000000000001 B 80e1d3d8
.....
00000000000001a2 - 00000000000001a2
00000000000001a2 - 00000000000001a2 CB 80e1d3d8
00000000000001a2 - 00000000000001a2 CB 80e52538 (Serial)
00000000000001a3 - 00000000000001a3 80e52778 (i8042prt)
00000000000001b3 - 00000000000001b3 80e1b618 (i8042prt)
Possible allocation:
< none >
In this example, the next-to-last line shows the resource range (which consists of 0x1A3 alone), the PDO of 0x80E52778, and the service of i8042prt.sys. No flags are listed on this line.
You can now use !devobj with this PDO address to find the device extension and device node addresses:
kd> !devobj 80e52778
Device object (80e52778) is for:
00000034 \Driver\PnpManager DriverObject 80e20610
Current Irp 00000000 RefCount 1 Type 00000004 Flags 00001040
DevExt 80e52830 DevObjExt 80e52838 DevNode 80e52628
ExtensionFlags (0000000000)
AttachedDevice (Upper) 80d78b28 \Driver\i8042prt
Device queue is not busy.