Re: PCIe requirements: Memory vs I/O


Greg Favor
 

This sentence is fraught with use of a few ill-defined terms, e.g. "regular main memory" and "device scratchpad RAMs" - which for now maybe isn't worth trying to "fix".  I would suggest making a PR on the Priv spec with a proposed rewording.  For example (with a goal of not totally replacing the sentence):

Memory regions that do not fit into regular main memory, for example, device-related RAMs, may be categorized as main memory regions or I/O regions based on the desired attributes.

Greg






On Tue, Jun 15, 2021 at 9:11 AM Josh Scheid <jscheid@...> wrote:
On Mon, Jun 14, 2021 at 7:10 PM Greg Favor <gfavor@...> wrote:
On Mon, Jun 14, 2021 at 3:56 PM Josh Scheid <jscheid@...> wrote:
The proposal allows for prefetchable BARs to be programmed to support as I/O or Memory.  This seems to conflict with the priv spec that states:

"""
Memory regions that do not fit into regular main memory, for example, device scratchpad RAMs,
are categorized as I/O regions.
"""

This is for outbound traffic and, if one sets aside the word "I/O" in the proposed text saying "two I/O regions for mapping ..." (e.g. replacing "I/O" with "address"), then is there a conflict? 

The prefetchable BAR can be "mapped" by either a PMA "main memory" region or by a PMA "I/O" region.


The conflict is that statement in the priv. spec suggests that things like  "device scratchpad RAMs" like those that might be in PCIe land "are" I/O, in that they are not Memory.  Moving that priv spec statement to be illustrative and non-normative may be a solution.  Perhaps it's not really mean to be a restriction, but then a more obvious I/O example instead of a "device scratchpad RAM" would be better, as well as making it non-normative.

-Josh

Join tech-unixplatformspec@lists.riscv.org to automatically receive all group messages.