Hello Andreas Sandberg,
I'd like you to reexamine a change. Please visit
https://gem5-review.googlesource.com/c/public/gem5/+/19008
to look at the new patch set (#3).
Change subject: dev-arm: Implement a SMMUv3 model
......................................................................
dev-arm: Implement a SMMUv3 model
This is an implementation of the SMMUv3 architecture.
What can it do?
- Single-stage and nested translation with 4k or 64k granule. 16k would
be straightforward to add.
- Large pages are supported.
- Works with any gem5 device as long as it is issuing packets with a
valid (Sub)StreamId
What it can't do?
- Fragment stage 1 page when the underlying stage 2 page is smaller. S1
page size > S2 page size is not supported
- Invalidations take zero time. This wouldn't be hard to fix.
- Checkpointing is not supported
- Stall/resume for faulting transactions is not supported
Additional contributors:
- Michiel W. van Tol <[email protected]>
- Giacomo Travaglini <[email protected]>
Change-Id: Ibc606fccd9199b2c1ba739c6335c846ffaa4d564
Signed-off-by: Giacomo Travaglini <[email protected]>
Reviewed-by: Andreas Sandberg <[email protected]>
---
M src/dev/arm/SConscript
A src/dev/arm/SMMUv3.py
A src/dev/arm/amba.hh
A src/dev/arm/smmu_v3.cc
A src/dev/arm/smmu_v3.hh
A src/dev/arm/smmu_v3_caches.cc
A src/dev/arm/smmu_v3_caches.hh
A src/dev/arm/smmu_v3_cmdexec.cc
A src/dev/arm/smmu_v3_cmdexec.hh
A src/dev/arm/smmu_v3_defs.hh
A src/dev/arm/smmu_v3_events.cc
A src/dev/arm/smmu_v3_events.hh
A src/dev/arm/smmu_v3_ports.cc
A src/dev/arm/smmu_v3_ports.hh
A src/dev/arm/smmu_v3_proc.cc
A src/dev/arm/smmu_v3_proc.hh
A src/dev/arm/smmu_v3_ptops.cc
A src/dev/arm/smmu_v3_ptops.hh
A src/dev/arm/smmu_v3_slaveifc.cc
A src/dev/arm/smmu_v3_slaveifc.hh
A src/dev/arm/smmu_v3_transl.cc
A src/dev/arm/smmu_v3_transl.hh
22 files changed, 6,573 insertions(+), 0 deletions(-)
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/19008
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: Ibc606fccd9199b2c1ba739c6335c846ffaa4d564
Gerrit-Change-Number: 19008
Gerrit-PatchSet: 3
Gerrit-Owner: Giacomo Travaglini <[email protected]>
Gerrit-Reviewer: Andreas Sandberg <[email protected]>
Gerrit-MessageType: newpatchset
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev