Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The IOPMP is a hardware checker located in a bus fabric. It has the ability to check each transaction passing through it on the fly. It is an essential component used to create isolation spaces for trusted execution environments by controlling transactions initiated, especially by I/O agents. This project will help programmers of secure systems using the QEMU emulation as an alternative before their hardware supports IOPMP.
The IOPMP spec v1.0.0-draft2draft3: https://github.com/riscv-non-isa/iopmp-spec/blob/main/riscv_iopmp_specification.pdf

Project Scope and Timelines

...

Addition to hw/misc/riscv_iopmp.c around:

  • IOPMP device which checks the permission of memory acces with source id (SID).

Addtion to hw/dma/riscv_iopmp_dma.c around:

  • A sample to show how dma device to support iopmp features: 
    • Transactions with source id.
    • Handling IOPMP stalltransaction result.

Change to hw/riscv/virt.c around:

  • Addtion of IOPMP machine option.
  • When IOPMP option is enabled:
    • Addition IOPMP device and DMA device
    • Register the DMA device to IOPMP with source id.


Components and Repos

TBD

Stakeholders and Partners

...