You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Nov 4, 2024. It is now read-only.
mem[X,0x80000A34] -> 0xA703
mem[X,0x80000A36] -> 0x0147
[746] [U]: 0x90000A34 (0x0147A703) lw a4, 20(a5)
mem[R,0x80C02914] -> 0x202000D9
trapping from U to M to handle load-page-fault
handling exc#0x0D at priv M with tval 0x91400014
CSR mstatus <- 0x00000000
As you may see that we have a specific instruction name when we have a load/store fault in our log. So, the RISC-V ISAC maintain its state with the help of instr_name/mnemonic. Consider the following value of instr_vars at some point:
This architectural state is for the mnemonic/instr_name = auipc.
But, let's say we are trying to access a page with no execute permissions. So, for that case, obviously we will have a fetch page fault. Now, the log that Sail will give for this case will look something like:
mem[R,0x80C02914] -> 0x20300401
mem[R,0x80C01000] -> 0x203000D7
trapping from U to M to handle fetch-page-fault
handling exc#0x0C at priv M with tval 0x91400FFC
CSR mstatus <- 0x00000000
So, at this specific point, there is no mnemonic/instr_name as this was a fetch access which was unsuccessful. The problem is that RISC_V ISAC will have no architectural history maintained for this instruction because of no mnemonic which is wrong. I think this should be updated.
P.S:
I can resolve this issue but I need some help/guidance from the previous contributors as I don't specifically know that what was the reason for such a behavior of RISC-V ISAC. @pawks , @neelgala
The text was updated successfully, but these errors were encountered:
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
@allenjbaum , @pawks , @neelgala , @UmerShahidengr , @jamesbeyond
Consider the following log when we have a load page fault:
As you may see that we have a specific instruction name when we have a load/store fault in our log. So, the
RISC-V ISAC
maintain its state with the help of instr_name/mnemonic. Consider the following value of instr_vars at some point:This architectural state is for the mnemonic/instr_name = auipc.
But, let's say we are trying to access a page with no execute permissions. So, for that case, obviously we will have a fetch page fault. Now, the log that
Sail
will give for this case will look something like:So, at this specific point, there is no mnemonic/instr_name as this was a fetch access which was unsuccessful. The problem is that RISC_V ISAC will have no architectural history maintained for this instruction because of no mnemonic which is wrong. I think this should be updated.
P.S:
I can resolve this issue but I need some help/guidance from the previous contributors as I don't specifically know that what was the reason for such a behavior of RISC-V ISAC. @pawks , @neelgala
The text was updated successfully, but these errors were encountered: