Ping again.
On Tue, Dec 05, 2023 at 03:48:07PM +0800, Ethan Chen wrote:
> Ping.
> https://patchew.org/QEMU/20231122053251.440723-1-etha...@andestech.com/
>
> On Wed, Nov 22, 2023 at 01:32:47PM +0800, Ethan Chen wrote:
> > This series implements IOPMP specification v1.0.0-draft4 rapid-k model.
> > The specification url:
> > https://github.com/riscv-non-isa/iopmp-spec/blob/main/riscv_iopmp_specification.pdf
> >
> > When IOPMP is enabled, a DMA device ATCDMAC300 is added to RISC-V virt
> > platform. This DMA device is connected to the IOPMP and has the
> > functionalities
> > required by IOPMP, including:
> > - Support setup the connection to IOPMP
> > - Support asynchronous I/O to handle stall transactions
> > - Send transaction information
> >
> > IOPMP takes a transaction which partially match an entry as a partially hit
> > error. The transaction size is depending on source device, destination
> > device
> > and bus.
> >
> > Source device can send a transaction_info to IOPMP. IOPMP will check
> > partially
> > hit by transaction_info. If source device does not send a transaction_info,
> > IOPMP checks information in IOMMU and dose not check partially hit.
> >
> > Changes for v4:
> >
> > - Add descriptions of IOPMP and ATCDMAC300
> > - Refine coding style and comments
> > - config XILINX_AXI does not include file stream.c but selects config
> > STREAM
> > instead.
> > - ATCDMAC300: INT_STATUS is write 1 clear per bit
> > Rename iopmp_address_sink to transcation_info_sink
> > - IOPMP: Refine error message and remove unused variable
> > - VIRT: Document new options
> > atcdmac300 is only added when iopmp is enabled
> > serial setting should not be changed
> >
> > Ethan Chen (4):
> > hw/core: Add config stream
> > Add RISC-V IOPMP support
> > hw/dma: Add Andes ATCDMAC300 support
> > hw/riscv/virt: Add IOPMP support
> >
> > docs/system/riscv/virt.rst | 11 +
> > hw/Kconfig | 1 +
> > hw/core/Kconfig | 3 +
> > hw/core/meson.build | 2 +-
> > hw/dma/Kconfig | 4 +
> > hw/dma/atcdmac300.c | 566 ++++++++++
> > hw/dma/meson.build | 1 +
> > hw/misc/Kconfig | 4 +
> > hw/misc/meson.build | 1 +
> > hw/misc/riscv_iopmp.c | 966 ++++++++++++++++++
> > hw/riscv/Kconfig | 2 +
> > hw/riscv/virt.c | 65 ++
> > include/hw/dma/atcdmac300.h | 180 ++++
> > include/hw/misc/riscv_iopmp.h | 341 +++++++
> > .../hw/misc/riscv_iopmp_transaction_info.h | 28 +
> > include/hw/riscv/virt.h | 10 +-
> > 16 files changed, 2183 insertions(+), 2 deletions(-)
> > create mode 100644 hw/dma/atcdmac300.c
> > create mode 100644 hw/misc/riscv_iopmp.c
> > create mode 100644 include/hw/dma/atcdmac300.h
> > create mode 100644 include/hw/misc/riscv_iopmp.h
> > create mode 100644 include/hw/misc/riscv_iopmp_transaction_info.h
> >
> > --
> > 2.34.1
> >