ReactOS  0.4.14-dev-55-g2da92ac
debug.c File Reference
#include <pci.h>
#include <debug.h>
Include dependency graph for debug.c:

Go to the source code of this file.

Macros

#define NDEBUG
 

Functions

PCHAR NTAPI PciDebugPnpIrpTypeToText (IN USHORT MinorFunction)
 
PCHAR NTAPI PciDebugPoIrpTypeToText (IN USHORT MinorFunction)
 
BOOLEAN NTAPI PciDebugIrpDispatchDisplay (IN PIO_STACK_LOCATION IoStackLocation, IN PPCI_FDO_EXTENSION DeviceExtension, IN USHORT MaxMinor)
 
VOID NTAPI PciDebugDumpCommonConfig (IN PPCI_COMMON_HEADER PciData)
 
VOID NTAPI PciDebugDumpQueryCapabilities (IN PDEVICE_CAPABILITIES DeviceCaps)
 
PCHAR NTAPI PciDebugCmResourceTypeToText (IN UCHAR Type)
 
VOID NTAPI PciDebugPrintIoResource (IN PIO_RESOURCE_DESCRIPTOR Descriptor)
 
VOID NTAPI PciDebugPrintIoResReqList (IN PIO_RESOURCE_REQUIREMENTS_LIST Requirements)
 
VOID NTAPI PciDebugPrintPartialResource (IN PCM_PARTIAL_RESOURCE_DESCRIPTOR PartialResource)
 
VOID NTAPI PciDebugPrintCmResList (IN PCM_RESOURCE_LIST PartialList)
 

Variables

PCHAR PnpCodes []
 
PCHAR PoCodes []
 
PCHAR SystemPowerStates []
 
PCHAR DevicePowerStates []
 
ULONG PciBreakOnPdoPowerIrp
 
ULONG PciBreakOnFdoPowerIrp
 
ULONG PciBreakOnPdoPnpIrp
 
ULONG PciBreakOnFdoPnpIrp
 

Macro Definition Documentation

◆ NDEBUG

#define NDEBUG

Definition at line 13 of file debug.c.

Function Documentation

◆ PciDebugCmResourceTypeToText()

PCHAR NTAPI PciDebugCmResourceTypeToText ( IN UCHAR  Type)

Definition at line 258 of file debug.c.

259 {
260  /* What kind of resource it this? */
261  switch (Type)
262  {
263  /* Pick the correct identifier string based on the type */
264  case CmResourceTypeDeviceSpecific: return "CmResourceTypeDeviceSpecific";
265  case CmResourceTypePort: return "CmResourceTypePort";
266  case CmResourceTypeInterrupt: return "CmResourceTypeInterrupt";
267  case CmResourceTypeMemory: return "CmResourceTypeMemory";
268  case CmResourceTypeDma: return "CmResourceTypeDma";
269  case CmResourceTypeBusNumber: return "CmResourceTypeBusNumber";
270  case CmResourceTypeConfigData: return "CmResourceTypeConfigData";
271  case CmResourceTypeDevicePrivate: return "CmResourceTypeDevicePrivate";
272  case CmResourceTypePcCardConfig: return "CmResourceTypePcCardConfig";
273  default: return "*** INVALID RESOURCE TYPE ***";
274  }
275 }
#define CmResourceTypeDeviceSpecific
Definition: hwresource.cpp:127
#define CmResourceTypeDevicePrivate
Definition: hwresource.cpp:131
Type
Definition: Type.h:6
#define CmResourceTypePcCardConfig
Definition: hwresource.cpp:132
#define CmResourceTypePort
Definition: hwresource.cpp:123
#define CmResourceTypeConfigData
Definition: hwresource.cpp:130
#define CmResourceTypeInterrupt
Definition: hwresource.cpp:124
#define CmResourceTypeBusNumber
Definition: hwresource.cpp:128
#define CmResourceTypeMemory
Definition: hwresource.cpp:125
#define CmResourceTypeDma
Definition: hwresource.cpp:126

Referenced by PciDebugPrintIoResource(), and PciDebugPrintPartialResource().

◆ PciDebugDumpCommonConfig()

VOID NTAPI PciDebugDumpCommonConfig ( IN PPCI_COMMON_HEADER  PciData)

Definition at line 207 of file debug.c.

208 {
209  USHORT i;
210 
211  /* Loop the PCI header */
212  for (i = 0; i < PCI_COMMON_HDR_LENGTH; i += 4)
213  {
214  /* Dump each DWORD and its offset */
215  DPRINT1(" %02x - %08x\n", i, *(PULONG)((ULONG_PTR)PciData + i));
216  }
217 }
uint32_t ULONG_PTR
Definition: typedefs.h:63
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
unsigned short USHORT
Definition: pedump.c:61
unsigned int * PULONG
Definition: retypes.h:1
#define DPRINT1
Definition: precomp.h:8
#define PCI_COMMON_HDR_LENGTH
Definition: iotypes.h:3238

Referenced by PcipGetFunctionLimits(), and PciScanBus().

◆ PciDebugDumpQueryCapabilities()

VOID NTAPI PciDebugDumpQueryCapabilities ( IN PDEVICE_CAPABILITIES  DeviceCaps)

Definition at line 221 of file debug.c.

222 {
223  ULONG i;
224 
225  /* Dump the capabilities */
226  DPRINT1("Capabilities\n Lock:%u, Eject:%u, Remove:%u, Dock:%u, UniqueId:%u\n",
227  DeviceCaps->LockSupported,
228  DeviceCaps->EjectSupported,
229  DeviceCaps->Removable,
230  DeviceCaps->DockDevice,
231  DeviceCaps->UniqueID);
232  DbgPrint(" SilentInstall:%u, RawOk:%u, SurpriseOk:%u\n",
233  DeviceCaps->SilentInstall,
234  DeviceCaps->RawDeviceOK,
235  DeviceCaps->SurpriseRemovalOK);
236  DbgPrint(" Address %08x, UINumber %08x, Latencies D1 %u, D2 %u, D3 %u\n",
237  DeviceCaps->Address,
238  DeviceCaps->UINumber,
239  DeviceCaps->D1Latency,
240  DeviceCaps->D2Latency,
241  DeviceCaps->D3Latency);
242 
243  /* Dump and convert the wake levels */
244  DbgPrint(" System Wake: %s, Device Wake: %s\n DeviceState[PowerState] [",
245  SystemPowerStates[min(DeviceCaps->SystemWake, PowerSystemMaximum)],
246  DevicePowerStates[min(DeviceCaps->DeviceWake, PowerDeviceMaximum)]);
247 
248  /* Dump and convert the power state mappings */
250  DbgPrint(" %s", DevicePowerStates[DeviceCaps->DeviceState[i]]);
251 
252  /* Finish the dump */
253  DbgPrint(" ]\n");
254 }
ULONG DbgPrint(PCCH Format,...)
Definition: debug.c:416
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
PCHAR SystemPowerStates[]
Definition: debug.c:53
#define min(a, b)
Definition: monoChain.cc:55
PCHAR DevicePowerStates[]
Definition: debug.c:64
#define DPRINT1
Definition: precomp.h:8
unsigned int ULONG
Definition: retypes.h:1

Referenced by PciFdoIrpQueryCapabilities(), and PciQueryCapabilities().

◆ PciDebugIrpDispatchDisplay()

BOOLEAN NTAPI PciDebugIrpDispatchDisplay ( IN PIO_STACK_LOCATION  IoStackLocation,
IN PPCI_FDO_EXTENSION  DeviceExtension,
IN USHORT  MaxMinor 
)

Definition at line 124 of file debug.c.

127 {
128  PPCI_PDO_EXTENSION PdoDeviceExtension;
129  ULONG BreakMask;
130  //ULONG DebugLevel = 0;
131  PCHAR IrpString;
132 
133  /* Only two functions are recognized */
134  switch (IoStackLocation->MajorFunction)
135  {
136  case IRP_MJ_POWER:
137 
138  /* Get the string and the correct break mask for the extension */
139  BreakMask = (DeviceExtension->ExtensionType == PciPdoExtensionType) ?
141  IrpString = PciDebugPoIrpTypeToText(IoStackLocation->MinorFunction);
142  break;
143 
144  case IRP_MJ_PNP:
145 
146  /* Get the string and the correct break mask for the extension */
147  BreakMask = (DeviceExtension->ExtensionType == PciFdoExtensionType) ?
149  IrpString = PciDebugPnpIrpTypeToText(IoStackLocation->MinorFunction);
150  break;
151 
152  default:
153 
154  /* Other functions are not decoded */
155  BreakMask = FALSE;
156  IrpString = "";
157  break;
158  }
159 
160  /* Check if this is a PDO */
161  if (DeviceExtension->ExtensionType == PciPdoExtensionType)
162  {
163  /* Choose the correct debug level based on which function this is */
164  if (IoStackLocation->MajorFunction == IRP_MJ_POWER)
165  {
166  //DebugLevel = 0x500;
167  }
168  else if (IoStackLocation->MajorFunction == IRP_MJ_PNP)
169  {
170  //DebugLevel = 0x200;
171  }
172 
173  /* For a PDO, print out the bus, device, and function number */
174  PdoDeviceExtension = (PVOID)DeviceExtension;
175  DPRINT1("PDO(b=0x%x, d=0x%x, f=0x%x)<-%s\n",
176  PdoDeviceExtension->ParentFdoExtension->BaseBus,
177  PdoDeviceExtension->Slot.u.bits.DeviceNumber,
178  PdoDeviceExtension->Slot.u.bits.FunctionNumber,
179  IrpString);
180  }
181  else if (DeviceExtension->ExtensionType == PciFdoExtensionType)
182  {
183  /* Choose the correct debug level based on which function this is */
184  if (IoStackLocation->MajorFunction == IRP_MJ_POWER)
185  {
186  //DebugLevel = 0x400;
187  }
188  else if (IoStackLocation->MajorFunction == IRP_MJ_PNP)
189  {
190  //DebugLevel = 0x100;
191  }
192 
193  /* For an FDO, just dump the extension pointer and IRP string */
194  DPRINT1("FDO(%p)<-%s\n", DeviceExtension, IrpString);
195  }
196 
197  /* If the function is illegal for this extension, complain */
198  if (IoStackLocation->MinorFunction > MaxMinor)
199  DPRINT1("Unknown IRP, minor = 0x%x\n", IoStackLocation->MinorFunction);
200 
201  /* Return whether or not the debugger should be broken into for this IRP */
202  return ((1 << IoStackLocation->MinorFunction) & BreakMask);
203 }
signed char * PCHAR
Definition: retypes.h:7
#define IRP_MJ_PNP
Definition: cdrw_usr.h:52
PCHAR NTAPI PciDebugPoIrpTypeToText(IN USHORT MinorFunction)
Definition: debug.c:102
ULONG PciBreakOnFdoPowerIrp
Definition: debug.c:73
BOOLEAN BaseBus
Definition: pci.h:209
void * PVOID
Definition: retypes.h:9
PPCI_FDO_EXTENSION ParentFdoExtension
Definition: pci.h:272
#define IRP_MJ_POWER
union _PCI_SLOT_NUMBER::@3636 u
struct _PCI_SLOT_NUMBER::@3636::@3637 bits
ULONG PciBreakOnPdoPowerIrp
Definition: debug.c:73
PCI_SLOT_NUMBER Slot
Definition: pci.h:270
#define DPRINT1
Definition: precomp.h:8
ULONG PciBreakOnFdoPnpIrp
Definition: debug.c:74
unsigned int ULONG
Definition: retypes.h:1
ULONG PciBreakOnPdoPnpIrp
Definition: debug.c:74
PCHAR NTAPI PciDebugPnpIrpTypeToText(IN USHORT MinorFunction)
Definition: debug.c:80

Referenced by PciDispatchIrp().

◆ PciDebugPnpIrpTypeToText()

PCHAR NTAPI PciDebugPnpIrpTypeToText ( IN USHORT  MinorFunction)

Definition at line 80 of file debug.c.

81 {
82  PCHAR Text;
83 
84  /* Catch invalid code */
86  {
87  /* New version of Windows? Or driver bug */
88  Text = "** UNKNOWN PNP IRP Minor Code **";
89  }
90  else
91  {
92  /* Get the right text for it */
94  }
95 
96  /* Return the symbolic name for the IRP */
97  return Text;
98 }
signed char * PCHAR
Definition: retypes.h:7
#define IRP_MN_SURPRISE_REMOVAL
Definition: ntifs_ex.h:408
PCHAR PnpCodes[]
Definition: debug.c:18
_In_ UCHAR MinorFunction
Definition: pofuncs.h:42
char * Text
Definition: combotst.c:136

Referenced by PciDebugIrpDispatchDisplay().

◆ PciDebugPoIrpTypeToText()

PCHAR NTAPI PciDebugPoIrpTypeToText ( IN USHORT  MinorFunction)

Definition at line 102 of file debug.c.

103 {
104  PCHAR Text;
105 
106  /* Catch invalid code */
108  {
109  /* New version of Windows? Or driver bug */
110  Text = "** UNKNOWN PO IRP Minor Code **";
111  }
112  else
113  {
114  /* Get the right text for it */
116  }
117 
118  /* Return the symbolic name for the IRP */
119  return Text;
120 }
signed char * PCHAR
Definition: retypes.h:7
#define IRP_MN_QUERY_POWER
_In_ UCHAR MinorFunction
Definition: pofuncs.h:42
PCHAR PoCodes[]
Definition: debug.c:45
char * Text
Definition: combotst.c:136

Referenced by PciDebugIrpDispatchDisplay().

◆ PciDebugPrintCmResList()

VOID NTAPI PciDebugPrintCmResList ( IN PCM_RESOURCE_LIST  PartialList)

Definition at line 364 of file debug.c.

365 {
366  PCM_FULL_RESOURCE_DESCRIPTOR FullDescriptor;
367  PCM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptor;
368  ULONG Count, i, ListCount;
369 
370  /* Make sure there's something to dump */
371  if (!PartialList) return;
372 
373  /* Get the full list count */
374  ListCount = PartialList->Count;
375  FullDescriptor = PartialList->List;
376  DPRINT1(" CM_RESOURCE_LIST (PCI Bus Driver) (List Count = %u)\n", PartialList->Count);
377 
378  /* Loop full list */
379  for (i = 0; i < ListCount; i++)
380  {
381  /* Loop full descriptor */
382  DPRINT1(" InterfaceType %d\n", FullDescriptor->InterfaceType);
383  DPRINT1(" BusNumber 0x%x\n", FullDescriptor->BusNumber);
384 
385  /* Get partial count and loop partials */
386  Count = FullDescriptor->PartialResourceList.Count;
387  for (PartialDescriptor = FullDescriptor->PartialResourceList.PartialDescriptors;
388  Count;
389  PartialDescriptor = PciNextPartialDescriptor(PartialDescriptor))
390  {
391  /* Print each partial */
392  PciDebugPrintPartialResource(PartialDescriptor);
393  Count--;
394  }
395  }
396 
397  /* Done printing data */
398  DPRINT1("\n");
399 }
_Inout_ __drv_aliasesMem PSLIST_ENTRY _Inout_ PSLIST_ENTRY _In_ ULONG Count
Definition: exfuncs.h:1015
CM_PARTIAL_RESOURCE_LIST PartialResourceList
Definition: hwresource.cpp:160
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
VOID NTAPI PciDebugPrintPartialResource(IN PCM_PARTIAL_RESOURCE_DESCRIPTOR PartialResource)
Definition: debug.c:348
CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1]
Definition: hwresource.cpp:119
PCM_PARTIAL_RESOURCE_DESCRIPTOR NTAPI PciNextPartialDescriptor(PCM_PARTIAL_RESOURCE_DESCRIPTOR CmDescriptor)
Definition: utils.c:1769
#define DPRINT1
Definition: precomp.h:8
unsigned int ULONG
Definition: retypes.h:1

Referenced by PciComputeNewCurrentSettings().

◆ PciDebugPrintIoResource()

VOID NTAPI PciDebugPrintIoResource ( IN PIO_RESOURCE_DESCRIPTOR  Descriptor)

Definition at line 279 of file debug.c.

280 {
281  ULONG i;
282  PULONG Data;
283 
284  /* Print out the header */
285  DPRINT1(" IoResource Descriptor dump: Descriptor @0x%p\n", Descriptor);
286  DPRINT1(" Option = 0x%x\n", Descriptor->Option);
287  DPRINT1(" Type = %u (%s)\n", Descriptor->Type, PciDebugCmResourceTypeToText(Descriptor->Type));
288  DPRINT1(" ShareDisposition = %u\n", Descriptor->ShareDisposition);
289  DPRINT1(" Flags = 0x%04X\n", Descriptor->Flags);
290 
291  /* Loop private data */
292  Data = (PULONG)&Descriptor->u.DevicePrivate;
293  for (i = 0; i < 6; i += 3)
294  {
295  /* Dump it in 32-bit triplets */
296  DPRINT1(" Data[%u] = %08x %08x %08x\n", i, Data[0], Data[1], Data[2]);
297  }
298 }
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
PCHAR NTAPI PciDebugCmResourceTypeToText(IN UCHAR Type)
Definition: debug.c:258
_In_ LPGUID _In_ PVOID Data
Definition: classpnp.h:778
#define for
Definition: utility.h:88
unsigned int * PULONG
Definition: retypes.h:1
#define DPRINT1
Definition: precomp.h:8
unsigned int ULONG
Definition: retypes.h:1
_In_ PSTORAGE_PROPERTY_ID _Outptr_ PSTORAGE_DESCRIPTOR_HEADER * Descriptor
Definition: classpnp.h:966

Referenced by PciDebugPrintIoResReqList().

◆ PciDebugPrintIoResReqList()

VOID NTAPI PciDebugPrintIoResReqList ( IN PIO_RESOURCE_REQUIREMENTS_LIST  Requirements)

Definition at line 302 of file debug.c.

303 {
304  ULONG AlternativeLists;
306  ULONG Count;
308 
309  /* Make sure there's a list */
310  if (!Requirements) return;
311 
312  /* Grab the main list and the alternates as well */
313  AlternativeLists = Requirements->AlternativeLists;
314  List = Requirements->List;
315 
316  /* Print out the initial header*/
317  DPRINT1(" IO_RESOURCE_REQUIREMENTS_LIST (PCI Bus Driver)\n");
318  DPRINT1(" InterfaceType %d\n", Requirements->InterfaceType);
319  DPRINT1(" BusNumber 0x%x\n", Requirements->BusNumber);
320  DPRINT1(" SlotNumber %d (0x%x), (d/f = 0x%x/0x%x)\n",
321  Requirements->SlotNumber,
322  Requirements->SlotNumber,
323  ((PCI_SLOT_NUMBER*)&Requirements->SlotNumber)->u.bits.DeviceNumber,
324  ((PCI_SLOT_NUMBER*)&Requirements->SlotNumber)->u.bits.FunctionNumber);
325  DPRINT1(" AlternativeLists %u\n", AlternativeLists);
326 
327  /* Scan alternative lists */
328  while (AlternativeLists--)
329  {
330  /* Get the descriptor array, and the count of descriptors */
331  Descriptor = List->Descriptors;
332  Count = List->Count;
333 
334  /* Print out each descriptor */
335  DPRINT1("\n List[%u].Count = %u\n", AlternativeLists, Count);
337 
338  /* Should've reached a new list now */
340  }
341 
342  /* Terminate the dump */
343  DPRINT1("\n");
344 }
VOID NTAPI PciDebugPrintIoResource(IN PIO_RESOURCE_DESCRIPTOR Descriptor)
Definition: debug.c:279
_Inout_ __drv_aliasesMem PSLIST_ENTRY _Inout_ PSLIST_ENTRY _In_ ULONG Count
Definition: exfuncs.h:1015
LIST_ENTRY List
Definition: psmgr.c:57
struct _IO_RESOURCE_LIST * PIO_RESOURCE_LIST
#define DPRINT1
Definition: precomp.h:8
unsigned int ULONG
Definition: retypes.h:1
_In_ PSTORAGE_PROPERTY_ID _Outptr_ PSTORAGE_DESCRIPTOR_HEADER * Descriptor
Definition: classpnp.h:966

Referenced by PciQueryRequirements().

◆ PciDebugPrintPartialResource()

VOID NTAPI PciDebugPrintPartialResource ( IN PCM_PARTIAL_RESOURCE_DESCRIPTOR  PartialResource)

Definition at line 348 of file debug.c.

349 {
350  /* Dump all the data in the partial */
351  DPRINT1(" Partial Resource Descriptor @0x%p\n", PartialResource);
352  DPRINT1(" Type = %u (%s)\n", PartialResource->Type, PciDebugCmResourceTypeToText(PartialResource->Type));
353  DPRINT1(" ShareDisposition = %u\n", PartialResource->ShareDisposition);
354  DPRINT1(" Flags = 0x%04X\n", PartialResource->Flags);
355  DPRINT1(" Data[%d] = %08x %08x %08x\n",
356  0,
357  PartialResource->u.Generic.Start.LowPart,
358  PartialResource->u.Generic.Start.HighPart,
359  PartialResource->u.Generic.Length);
360 }
PCHAR NTAPI PciDebugCmResourceTypeToText(IN UCHAR Type)
Definition: debug.c:258
#define DPRINT1
Definition: precomp.h:8

Referenced by PciComputeNewCurrentSettings(), and PciDebugPrintCmResList().

Variable Documentation

◆ DevicePowerStates

PCHAR DevicePowerStates[]
Initial value:
=
{
"Unspecified",
"D0",
"D1",
"D2",
"D3"
}

Definition at line 64 of file debug.c.

Referenced by PciDebugDumpQueryCapabilities().

◆ PciBreakOnFdoPnpIrp

ULONG PciBreakOnFdoPnpIrp

Definition at line 74 of file debug.c.

Referenced by PciDebugIrpDispatchDisplay().

◆ PciBreakOnFdoPowerIrp

ULONG PciBreakOnFdoPowerIrp

Definition at line 73 of file debug.c.

Referenced by PciDebugIrpDispatchDisplay().

◆ PciBreakOnPdoPnpIrp

ULONG PciBreakOnPdoPnpIrp

Definition at line 74 of file debug.c.

Referenced by PciDebugIrpDispatchDisplay().

◆ PciBreakOnPdoPowerIrp

ULONG PciBreakOnPdoPowerIrp

Definition at line 73 of file debug.c.

Referenced by PciDebugIrpDispatchDisplay().

◆ PnpCodes

PCHAR PnpCodes[]
Initial value:
=
{
"START_DEVICE",
"QUERY_REMOVE_DEVICE",
"REMOVE_DEVICE",
"CANCEL_REMOVE_DEVICE",
"STOP_DEVICE",
"QUERY_STOP_DEVICE",
"CANCEL_STOP_DEVICE",
"QUERY_DEVICE_RELATIONS",
"QUERY_INTERFACE",
"QUERY_CAPABILITIES",
"QUERY_RESOURCES",
"QUERY_RESOURCE_REQUIREMENTS",
"QUERY_DEVICE_TEXT",
"FILTER_RESOURCE_REQUIREMENTS",
"** UNKNOWN PNP IRP Minor Code **",
"READ_CONFIG",
"WRITE_CONFIG",
"EJECT",
"SET_LOCK",
"QUERY_ID",
"QUERY_PNP_DEVICE_STATE",
"QUERY_BUS_INFORMATION",
"DEVICE_USAGE_NOTIFICATION"
}

Definition at line 18 of file debug.c.

Referenced by PciDebugPnpIrpTypeToText().

◆ PoCodes

PCHAR PoCodes[]
Initial value:
=
{
"WAIT_WAKE",
"POWER_SEQUENCE",
"SET_POWER",
"QUERY_POWER",
}

Definition at line 45 of file debug.c.

Referenced by PciDebugPoIrpTypeToText().

◆ SystemPowerStates

PCHAR SystemPowerStates[]
Initial value:
=
{
"Unspecified",
"Working",
"Sleeping1",
"Sleeping2",
"Sleeping3",
"Hibernate",
"Shutdown"
}

Definition at line 53 of file debug.c.

Referenced by PciDebugDumpQueryCapabilities().