riscv-non-isa / iopmp-spec

This repository contains the specification source for the RISC-V IOPMP Specification. This document proposes a Physical Memory Protection Unit of Input/Output devices, IOPMP for short, to regulate the accesses issued from the bus masters.
https://jira.riscv.org/browse/RVG-56
Creative Commons Attribution 4.0 International
15 stars 4 forks source link

Question about Multi-Faults Record (MFR) Extension #17

Closed YazanHussnain-10x closed 2 weeks ago

YazanHussnain-10x commented 3 weeks ago

In the Multi-Faults Record Extension, it states:

When ERR_MFR is read, svi sequentially scans all windows from its starting position until a violation is found. Once svi overflows, it wraps back to zero.

My question is: if svi can wrap around and we need to search all windows, why do we need the record window index (svi) in ERR_MFR, and why must the scan start from svi? If svi is specified why we are not only checking the respective record window?

YazanHussnain-10x commented 2 weeks ago

@tyshyu @paul-andes

tyshyu commented 2 weeks ago

IOPMP automatically scans record window for the next violated RRID and indexes the next violated RRIDs by ERR_MFR.svi when software reads ERR_MFR. In other words, IOPMP skips record windows which have no violation. Therefore, software need ERR_MFR.svi to indicate which record window is in ERR_MFR.svw.

YazanHussnain-10x commented 2 weeks ago

Thank you @tyshyu