From: "Dr. David Alan Gilbert (git)" <dgilbert@redhat.com>
To: virtio-comment@lists.oasis-open.org
Cc: stefanha@redhat.com
Subject: [virtio-comment] [PATCH 3/3] shared memory: Define mmio registers
Date: Fri, 11 Jan 2019 11:42:00 +0000 [thread overview]
Message-ID: <20190111114200.10026-4-dgilbert@redhat.com> (raw)
In-Reply-To: <20190111114200.10026-1-dgilbert@redhat.com>
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Define an MMIO interface to enumerate and map shared
memory regions.
Note: This hasn't been implemented, I also worrying it's using
too much of the register address space.
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
content.tex | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
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}.
+ }
+ \hline
+ \mmioreg{SHMId}{Shared memory id}{0x0b4}{R}{%
+ This register returns the id value of the selected shared
+ memory region.
+ }
+ \hline
+ \mmiodreg{SHMLenLow}{SHMLenHigh}{Shared memory region 64 bit long length}{0x0b8}{0x0xbc}{R}{%
+ These registers return the length of the shared memory
+ region, as defined by the device for the region selected by
+ the \field{SHMSel} register. Reading from a non-existent
+ region (i.e. a too large \field{SHMSel} value) results in a
+ length of -1. This should be used to enumerate the list of
+ regions.
+ }
+ \hline
+ \mmiodreg{SHMBaseLow}{SHMBaseHigh}{Shared memory region 64 bit long physical address}{0x0c0}{0x0xc4}{W}{%
+ The driver writes these registers to indicate where it wishes
+ the device to map the shared memory region currently selected.
+ }
+ \hline
\mmioreg{ConfigGeneration}{Configuration atomicity value}{0x0fc}{R}{
Reading from this register returns a value describing a version of the device-specific configuration space (see \field{Config}).
The driver can then access the configuration space and, when finished, read \field{ConfigGeneration} again.
@@ -1676,6 +1703,9 @@ driver seeing an inconsistent configuration state.
The device MUST NOT access virtual queue contents when \field{QueueReady} is zero (0x0).
+The device MUST NOT respond to SHM Base writes for none-existent
+shared memory regions.
+
\drivernormative{\subsubsection}{MMIO Device Register Layout}{Virtio Transport Options / Virtio Over MMIO / MMIO Device Register Layout}
The driver MUST NOT access memory locations not described in the
table \ref{tab:Virtio Trasport Options / Virtio Over MMIO / MMIO Device Register Layout}
@@ -1730,6 +1760,13 @@ If both values are valid, it MUST read \field{DeviceID}
and if its value is zero (0x0) MUST abort initialization and
MUST NOT access any other register.
+Devices expecting shared memory regions MUST enumerate the
+regions by selecting each region in tern and checking that the
+length is not -1.
+
+Devices not expecting shared memory MUST NOT use the shared
+memory registers.
+
Further initialization MUST follow the procedure described in
\ref{sec:General Initialization And Device Operation / Device Initialization}~\nameref{sec:General Initialization And Device Operation / Device Initialization}.
--
2.20.1
This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.
In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.
Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/
next prev parent reply other threads:[~2019-01-11 11:42 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-11 11:41 [virtio-comment] [PATCH 0/3] Large shared memory regions Dr. David Alan Gilbert (git)
2019-01-11 11:41 ` [virtio-comment] [PATCH 1/3] shared memory: Define " Dr. David Alan Gilbert (git)
2019-01-11 12:15 ` Cornelia Huck
2019-01-11 12:26 ` Dr. David Alan Gilbert
2019-01-15 10:10 ` Cornelia Huck
2019-01-15 11:23 ` Dr. David Alan Gilbert
2019-01-16 10:56 ` Cornelia Huck
2019-01-16 20:06 ` Dr. David Alan Gilbert
2019-02-11 21:52 ` Cornelia Huck
2019-02-13 18:37 ` Dr. David Alan Gilbert
2019-02-14 10:58 ` Cornelia Huck
2019-02-14 16:37 ` Dr. David Alan Gilbert
2019-02-14 17:43 ` Frank Yang
2019-02-15 11:07 ` Cornelia Huck
2019-02-15 11:19 ` Dr. David Alan Gilbert
2019-02-15 12:31 ` Cornelia Huck
2019-02-18 15:28 ` Halil Pasic
2019-02-15 11:26 ` David Hildenbrand
2019-02-15 12:28 ` Cornelia Huck
2019-02-15 12:33 ` David Hildenbrand
2019-02-15 12:37 ` Cornelia Huck
2019-02-15 12:59 ` David Hildenbrand
2019-02-15 13:50 ` Dr. David Alan Gilbert
2019-02-15 13:56 ` David Hildenbrand
2019-02-15 14:02 ` Dr. David Alan Gilbert
2019-02-15 14:13 ` David Hildenbrand
2019-02-15 15:14 ` Dr. David Alan Gilbert
2019-02-15 21:42 ` Halil Pasic
2019-02-15 22:08 ` David Hildenbrand
2019-02-15 12:51 ` Halil Pasic
2019-02-15 13:33 ` Cornelia Huck
2019-01-23 15:12 ` Michael S. Tsirkin
2019-01-11 15:29 ` Halil Pasic
2019-01-11 16:07 ` Dr. David Alan Gilbert
2019-01-11 17:57 ` Halil Pasic
2019-01-15 9:33 ` Cornelia Huck
2019-02-13 2:25 ` [virtio-comment] " Stefan Hajnoczi
2019-02-13 10:44 ` Dr. David Alan Gilbert
2019-02-14 3:43 ` Stefan Hajnoczi
2019-01-11 11:41 ` [virtio-comment] [PATCH 2/3] shared memory: Define PCI capability Dr. David Alan Gilbert (git)
2019-02-13 2:30 ` [virtio-comment] " Stefan Hajnoczi
2019-01-11 11:42 ` Dr. David Alan Gilbert (git) [this message]
2019-02-13 2:33 ` [virtio-comment] Re: [PATCH 3/3] shared memory: Define mmio registers Stefan Hajnoczi
2019-02-13 16:52 ` Dr. David Alan Gilbert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190111114200.10026-4-dgilbert@redhat.com \
--to=dgilbert@redhat.com \
--cc=stefanha@redhat.com \
--cc=virtio-comment@lists.oasis-open.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.