The PCIE Data Object Exchange (DOE) mailbox is a protocol run over configuration cycles. It assumes one initiator at a time. While the kernel has control of the mailbox user space writes could interfere with the kernel access. Mark DOE mailbox config space exclusive when iterated by the CXL driver.
Showing the changes to include/uapi (1 of 2 files). Show all
Unified · Split
| @@ -1119,6 +1119,7 @@ · 1118 unmodified lines | |||
| 1119 | #define PCI_DOE_STATUS_DATA_OBJECT_READY 0x80000000 /* Data Object Ready */ | 1119 | #define PCI_DOE_STATUS_DATA_OBJECT_READY 0x80000000 /* Data Object Ready */ |
| 1120 | #define PCI_DOE_WRITE 0x10 /* DOE Write Data Mailbox Register */ | 1120 | #define PCI_DOE_WRITE 0x10 /* DOE Write Data Mailbox Register */ |
| 1121 | #define PCI_DOE_READ 0x14 /* DOE Read Data Mailbox Register */ | 1121 | #define PCI_DOE_READ 0x14 /* DOE Read Data Mailbox Register */ |
| 1122 | #define PCI_DOE_CAP_SIZEOF 0x18 /* Size of DOE register block */ | ||
| 1122 | 1123 | ||
| 1123 | /* DOE Data Object - note not actually registers */ | 1124 | /* DOE Data Object - note not actually registers */ |
| 1124 | #define PCI_DOE_DATA_OBJECT_HEADER_1_VID 0x0000ffff | 1125 | #define PCI_DOE_DATA_OBJECT_HEADER_1_VID 0x0000ffff |