[PATCH v5 0/3] Support RISC-V IOPMP

Ethan Chen via posted 3 patches 8 months, 1 week ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240112094335.922010-1-ethan84@andestech.com
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Bin Meng <bin.meng@windriver.com>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <dbarboza@ventanamicro.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>
There is a newer version of this series
docs/system/riscv/virt.rst                    |   12 +
hw/Kconfig                                    |    1 +
hw/core/Kconfig                               |    3 +
hw/core/meson.build                           |    2 +-
hw/misc/Kconfig                               |    4 +
hw/misc/meson.build                           |    1 +
hw/misc/riscv_iopmp.c                         | 1130 +++++++++++++++++
hw/misc/trace-events                          |    4 +
hw/riscv/Kconfig                              |    1 +
hw/riscv/virt.c                               |  110 +-
include/hw/misc/riscv_iopmp.h                 |  187 +++
.../hw/misc/riscv_iopmp_transaction_info.h    |   28 +
include/hw/riscv/virt.h                       |    8 +-
13 files changed, 1488 insertions(+), 3 deletions(-)
create mode 100644 hw/misc/riscv_iopmp.c
create mode 100644 include/hw/misc/riscv_iopmp.h
create mode 100644 include/hw/misc/riscv_iopmp_transaction_info.h
[PATCH v5 0/3] Support RISC-V IOPMP
Posted by Ethan Chen via 8 months, 1 week ago
This series implements IOPMP specification v1.0.0-draft4 rapid-k model and add
IOPMP device to RISC-V virt machine.

Patch 1 add config STREAM make other device can reuse /hw/core/stream.c, IOPMP
implementation will use it. Patch 2 implement IOPMP deivce. Patch 3 add IOPMP
device to RISC-V virt machine.

The IOPMP specification url:
https://github.com/riscv-non-isa/iopmp-spec/blob/main/riscv_iopmp_specification.pdf

Changes for v5:
  - Rebase
  - IOPMP: Support tracing (Alistair Francis)
		       Use macros from registerfields.h for register (Alistair Francis)
           Support PCI device
           Drop IOPMP device create helper function (Alistair Francis)
  - Remove ATCDMAC300 (Alistair Francis)
  - VIRT: Make PCIe bridge connect to IOPMP
          Modify document for IOPMP options
          Add IOPMP fdt

Thanks,
Ethan Chen

Ethan Chen (3):
  hw/core: Add config stream
  Add RISC-V IOPMP support
  hw/riscv/virt: Add IOPMP support

 docs/system/riscv/virt.rst                    |   12 +
 hw/Kconfig                                    |    1 +
 hw/core/Kconfig                               |    3 +
 hw/core/meson.build                           |    2 +-
 hw/misc/Kconfig                               |    4 +
 hw/misc/meson.build                           |    1 +
 hw/misc/riscv_iopmp.c                         | 1130 +++++++++++++++++
 hw/misc/trace-events                          |    4 +
 hw/riscv/Kconfig                              |    1 +
 hw/riscv/virt.c                               |  110 +-
 include/hw/misc/riscv_iopmp.h                 |  187 +++
 .../hw/misc/riscv_iopmp_transaction_info.h    |   28 +
 include/hw/riscv/virt.h                       |    8 +-
 13 files changed, 1488 insertions(+), 3 deletions(-)
 create mode 100644 hw/misc/riscv_iopmp.c
 create mode 100644 include/hw/misc/riscv_iopmp.h
 create mode 100644 include/hw/misc/riscv_iopmp_transaction_info.h

-- 
2.34.1