qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/4] Support RISC-V IOPMP
@ 2023-11-22  5:32 Ethan Chen via
  2023-11-22  5:32 ` [PATCH v4 1/4] hw/core: Add config stream Ethan Chen via
                   ` (5 more replies)
  0 siblings, 6 replies; 17+ messages in thread
From: Ethan Chen via @ 2023-11-22  5:32 UTC (permalink / raw)
  To: qemu-devel
  Cc: peter.maydell, edgar.iglesias, richard.henderson, pbonzini,
	palmer, alistair.francis, in.meng, liweiwei, dbarboza, hiwei_liu,
	qemu-riscv, peterx, david, Ethan Chen

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



^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2024-01-23  3:32 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-22  5:32 [PATCH v4 0/4] Support RISC-V IOPMP Ethan Chen via
2023-11-22  5:32 ` [PATCH v4 1/4] hw/core: Add config stream Ethan Chen via
2023-12-18  4:02   ` Alistair Francis
2023-11-22  5:32 ` [PATCH v4 2/4] Add RISC-V IOPMP support Ethan Chen via
2023-12-18  4:04   ` Alistair Francis
2023-12-27  2:26     ` Ethan Chen via
2023-11-22  5:32 ` [PATCH v4 3/4] hw/dma: Add Andes ATCDMAC300 support Ethan Chen via
2023-12-18  4:14   ` Alistair Francis
2023-11-22  5:32 ` [PATCH v4 4/4] hw/riscv/virt: Add IOPMP support Ethan Chen via
2023-12-18  4:16   ` Alistair Francis
2023-12-05  7:47 ` [PATCH v4 0/4] Support RISC-V IOPMP Ethan Chen via
2023-12-13  5:35   ` Ethan Chen via
2023-12-18  4:18 ` Alistair Francis
2023-12-21  6:38   ` Ethan Chen via
2024-01-22  6:01     ` Alistair Francis
2024-01-23  3:31       ` Ethan Chen via
2024-01-04  2:38   ` Ethan Chen via

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).