diff options
author | Giacomo Travaglini <giacomo.travaglini@arm.com> | 2019-01-28 12:37:51 +0000 |
---|---|---|
committer | Giacomo Travaglini <giacomo.travaglini@arm.com> | 2019-05-03 08:38:12 +0000 |
commit | b6d60e82ddfed6a67be4d334841b77d9e8813c0b (patch) | |
tree | 716b350c2f4f23989908d839a1c319a9768b2bbc /src/arch | |
parent | 6af360ec8c826f32cec241bd8408f208eac8171f (diff) | |
download | gem5-b6d60e82ddfed6a67be4d334841b77d9e8813c0b.tar.xz |
dev: StreamID generation in DMA device
This patch is adding a StreamID tag to any DMA Packet. StreamIDs are
tags which are used by IOMMUs to distinguish between different
devices/functions.
For PCI devices for example, the RID (Pci Bus number, Pci Device
number, Pci Function number) could be stored in the Packet streamID
field.
For the DmaDevice base class, a simple pair of (Sub)StreamIDs has been
provided. This is basically attaching a fixed (decided at python config
time) streamID per device. If a derived device wants to implement a
more elaborate packet tagger (for example if it wants to have more than
one streamID), it needs to pass a different StreamID and SubstreamID to
the DmaPort interface (like dmaAction).
Change-Id: Ia17cf00437f7d3eb79211c1374134b174f90de59
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/16749
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'src/arch')
0 files changed, 0 insertions, 0 deletions