You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pci_core: add infrastructure for devices to advertise pcie support with some basic functionality (microsoft#1930)
Adds the PCI_Express capability option for devices to advertise PCIe
support. This change will also us to add FLR support to the nvme_test
crate for further perf testing.
PciExpressCapability: New capability struct implementing PCI Express
Device Capabilities, Device Control, and Device Status registers
Spec digarams (From PCIe Base Spec 6.4) for reference:
<img width="1481" height="991" alt="image"
src="https://github.com/user-attachments/assets/a6f49e62-af03-4573-ab60-17637154aadc"
/>
<img width="1489" height="919" alt="image"
src="https://github.com/user-attachments/assets/21f6996c-eb8b-4fb6-b505-a113c37d9257"
/>
Being made as a helper PR to microsoft#1858 since that was getting a little too
large/complicated
---------
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Matt LaFayette (Kurjanowicz) <[email protected]>
let old_flr = state.device_control.initiate_function_level_reset();
66
66
let new_flr = new_control.initiate_function_level_reset();
67
67
68
-
69
-
// DEVNOTE: It is "safe" to drop a new FLR request if there is still a previous FLR request in progress. The PCIe spec indicates that such behavior is undefined, so we choose to ignore the new FLR request.
68
+
// DEVNOTE: It is "safe" to drop a new FLR request if there is still a previous
69
+
// FLR request in progress. The PCIe spec indicates that such behavior is undefined,
0 commit comments