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