Skip to content

Commit 8edaac9

Browse files
committed
WIP
1 parent fba1c25 commit 8edaac9

51 files changed

Lines changed: 1048 additions & 13031 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

boot/bootdata/hivesys.inf

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1887,23 +1887,6 @@ HKLM,"SYSTEM\CurrentControlSet\Services\usbstor","ImagePath",0x00020000,"system3
18871887
HKLM,"SYSTEM\CurrentControlSet\Services\usbstor","Start",0x00010001,0x00000000
18881888
HKLM,"SYSTEM\CurrentControlSet\Services\usbstor","Type",0x00010001,0x00000001
18891889

1890-
<<<<<<< HEAD
1891-
=======
1892-
; NVMe storage miniport driver (boot device)
1893-
HKLM,"SYSTEM\CurrentControlSet\Services\nvme2k","ErrorControl",0x00010001,0x00000001
1894-
HKLM,"SYSTEM\CurrentControlSet\Services\nvme2k","Group",0x00000000,"Primary Disk"
1895-
HKLM,"SYSTEM\CurrentControlSet\Services\nvme2k","ImagePath",0x00020000,"system32\drivers\nvme2k.sys"
1896-
HKLM,"SYSTEM\CurrentControlSet\Services\nvme2k","Start",0x00010001,0x00000000
1897-
HKLM,"SYSTEM\CurrentControlSet\Services\nvme2k","Type",0x00010001,0x00000001
1898-
1899-
; USB attached SCSI storage driver
1900-
; HKLM,"SYSTEM\CurrentControlSet\Services\uaspstor","ErrorControl",0x00010001,0x00000001
1901-
; HKLM,"SYSTEM\CurrentControlSet\Services\uaspstor","Group",0x00000000,"Primary Disk"
1902-
; HKLM,"SYSTEM\CurrentControlSet\Services\uaspstor","ImagePath",0x00020000,"system32\drivers\uaspstor.sys"
1903-
; HKLM,"SYSTEM\CurrentControlSet\Services\uaspstor","Start",0x00010001,0x00000000
1904-
; HKLM,"SYSTEM\CurrentControlSet\Services\uaspstor","Type",0x00010001,0x00000001
1905-
1906-
>>>>>>> dfb9a13e260 (WIP DONT USE UASPSTOR)
19071890
; USB composite generic parent
19081891
HKLM,"SYSTEM\CurrentControlSet\Services\usbccgp","ErrorControl",0x00010001,0x00000001
19091892
HKLM,"SYSTEM\CurrentControlSet\Services\usbccgp","Group",0x00000000,"Boot Bus Extender"

drivers/bus/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ add_subdirectory(acpi_new)
44
endif()
55
add_subdirectory(isapnp)
66
add_subdirectory(pci)
7-
add_subdirectory(pcix)
7+
#add_subdirectory(pcix)
88
add_subdirectory(pcmcia)

drivers/bus/pci/pci.h

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,33 @@ PciReadWriteConfigBuffer(
1717
_In_ ULONG Offset,
1818
_In_ ULONG Length);
1919

20+
//
21+
// How a device's interrupt is currently delivered. Mirrors the relevant subset
22+
// of Win8 pci.sys's PCI_INTERRUPT_TYPE, recorded when the device is started from
23+
// the assigned resource list and consumed when programming the hardware.
24+
//
25+
typedef enum _PCI_INTERRUPT_TYPE
26+
{
27+
PciInterruptTypeNone = 0,
28+
PciInterruptTypeLineBased,
29+
PciInterruptTypeMsi,
30+
PciInterruptTypeMsiX
31+
} PCI_INTERRUPT_TYPE;
32+
33+
//
34+
// The message-signalled interrupt resource a device was granted at START. The
35+
// base vector and message count come straight out of the CM_RESOURCE_INTERRUPT_MESSAGE
36+
// descriptor assigned by the PnP manager; the per-message address/data is derived
37+
// from the base vector via the HAL when the capability is programmed.
38+
//
39+
typedef struct _PCI_DEVICE_INTERRUPT_RESOURCE
40+
{
41+
PCI_INTERRUPT_TYPE Type;
42+
ULONG MessageCount;
43+
ULONG BaseVector;
44+
KAFFINITY Affinity;
45+
} PCI_DEVICE_INTERRUPT_RESOURCE, *PPCI_DEVICE_INTERRUPT_RESOURCE;
46+
2047
typedef struct _PCI_DEVICE
2148
{
2249
// Entry on device list
@@ -37,6 +64,13 @@ typedef struct _PCI_DEVICE
3764
BOOLEAN EnableBusMaster;
3865
// Whether the device is owned by the KD
3966
BOOLEAN IsDebuggingDevice;
67+
// MSI/MSI-X capability config-space offsets (0 if the capability is absent)
68+
UCHAR MsiCapability;
69+
UCHAR MsiXCapability;
70+
// Whether the capability list has already been scanned
71+
BOOLEAN CapabilitiesScanned;
72+
// The interrupt resource the device was started with (line-based or MSI/MSI-X)
73+
PCI_DEVICE_INTERRUPT_RESOURCE InterruptResource;
4074
} PCI_DEVICE, *PPCI_DEVICE;
4175

4276

0 commit comments

Comments
 (0)