Am 12.06.24 um 05:17 schrieb Ethan Chen via:
Support basic functions of IOPMP specification v0.9.1 rapid-k model.
The specification url:
https://github.com/riscv-non-isa/iopmp-spec/releases/tag/v0.9.1

IOPMP check memory access from device is valid or not. This implementation uses
IOMMU to change address space that device access. There are three possible
results of an access: valid, blocked, and stalled(stall is not supported in this
  patch).

If an access is valid, target address space is downstream_as.
If an access is blocked, it will go to blocked_io_as. The operation of
blocked_io_as could be a bus error, or it can respond a success with fabricated
data depending on IOPMP ERR_CFG register value.

Signed-off-by: Ethan Chen <etha...@andestech.com>
---
  hw/misc/Kconfig               |    3 +
  hw/misc/meson.build           |    1 +
  hw/misc/riscv_iopmp.c         | 1002 +++++++++++++++++++++++++++++++++
  hw/misc/trace-events          |    4 +
  include/hw/misc/riscv_iopmp.h |  152 +++++
  5 files changed, 1162 insertions(+)
  create mode 100644 hw/misc/riscv_iopmp.c
  create mode 100644 include/hw/misc/riscv_iopmp.h

Should both new files have SPDX license identifiers?

Regards,
Stefan W.

Reply via email to