Date
1 - 2 of 2
PTE access type in Virtual Address Translation
Greg Favor
On Tue, Nov 17, 2020 at 2:05 AM Gracy Ge <gracy.ge@...> wrote:
From the Privileged spec, the 2nd step of virtual Address Translation process said,
[2. Let pte be the value of the PTE at address a+va.vpn[i]×PTESIZE. (For Sv32, PTESIZE=4.)If accessing pte violates a PMA or PMP check, raise an access exception corresponding tothe original access type.]
What is the required ACCESS type for PTE entries? I thought it should only have read access for non-leaf PTE and extra write access for leaf PTE(AD). Is this correct?
The actual PTE access is either a page-table data read or page-table
data
write (which gets checked against PMAs and PMPs as such). But the "original access type" refers to the access that is being translated - which may be a load, a store, or an instruction fetch.
Greg
Gracy Ge
From the Privileged spec, the 2nd step of virtual Address Translation process said,
[2. Let pte be the value of the PTE at address a+va.vpn[i]×PTESIZE. (For Sv32, PTESIZE=4.)
If accessing pte violates a PMA or PMP check, raise an access exception corresponding to
the original access type.]
What is the required ACCESS type for PTE entries? I thought it should only have read access for non-leaf PTE and extra write access for leaf PTE(AD). Is this correct?
What is the required ACCESS type for PTE entries? I thought it should only have read access for non-leaf PTE and extra write access for leaf PTE(AD). Is this correct?