Re: [PATCH 3/3] shared memory: Define mmio registers

From
Stefan Hajnoczi <>
Date
2019-02-13T02:33:55+00:00
ID
Thread
Re: [PATCH 3/3] shared memory: Define mmio registers
On Fri, Jan 11, 2019 at 11:42:00AM +0000, Dr. David Alan Gilbert (git) wrote:
> diff --git a/content.tex b/content.tex
> index 776162a..e2435ff 100644
> --- a/content.tex
> +++ b/content.tex
> @@ -1641,6 +1641,33 @@ All register values are organized as Little Endian.
>      selected by writing to \field{QueueSel}.
>    }
>    \hline 
> +  \mmioreg{SHMSel}{Shared memory region select}{0x0b0}{W}{%
> +    Writing to this register selects the shared memory region \ref{sec:Basic Facilities of a Virtio Device / Shared Memory Regions}
> +    following operations on \field{SHMId}, \field{SHMLenLow}, \field{SHMLenHigh},
> +    \field{SHMBaseLow} and \field{SHMBaseHigh} apply to. The index
> +    number of the first region is zero (0x0); note that it is a
> +    simple index that does not correspond to the \field{id}.

Why use a separate virtio-mmio index instead of the shared memory ID?
The driver would map those IDs it knows about, so I'm not sure if
enumerating them via a separate index is useful.  Plus using the ID lets
you drop one register from the interface.