On Mon, May 25, 2020 at 09:58:28AM +0200, Jan Kiszka wrote: > #### Vendor Specific Capability (ID 09h) > > This capability must always be present. > > | Offset | Register | Content > | > |-------:|:--------------------|:-----------------------------------------------| > | 00h | ID | 09h > | > | 01h | Next Capability | Pointer to next capability or 00h > | > | 02h | Length | 20h if Base Address is present, 18h > otherwise | > | 03h | Privileged Control | Bit 0 (read/write): one-shot interrupt mode > | > | | | Bits 1-7: Reserved (0 on read, writes > ignored) | > | 04h | State Table Size | 32-bit size of read-only State Table > | > | 08h | R/W Section Size | 64-bit size of common read/write section > | > | 10h | Output Section Size | 64-bit size of output sections > | > | 18h | Base Address | optional: 64-bit base address of shared > memory | > > All registers are read-only. Writes are ignored, except to bit 0 of > the Privileged Control register.
Is there value in making this follow the virtio vendor-specific capability format? That will cost several extra bytes - do you envision having many of these in the config space? Also, do we want to define an extended capability format in case this is a pci extended capability? -- MST