diff options
author | Krste Asanovic <krste@eecs.berkeley.edu> | 2018-11-05 14:01:43 -0800 |
---|---|---|
committer | Krste Asanovic <krste@eecs.berkeley.edu> | 2018-11-05 14:01:43 -0800 |
commit | 7643bf2f81169b46619eedd32ced4f757f5268c3 (patch) | |
tree | bd681097312623276908c7f6abfc270f62a3aa44 /src | |
parent | f371bd48fa9167ebfdc8300255703c5141e57c84 (diff) | |
download | riscv-isa-manual-7643bf2f81169b46619eedd32ced4f757f5268c3.zip riscv-isa-manual-7643bf2f81169b46619eedd32ced4f757f5268c3.tar.gz riscv-isa-manual-7643bf2f81169b46619eedd32ced4f757f5268c3.tar.bz2 |
Allowed certain un-emulatable misaligned accesses to be reported with access exceptions instead of address-misalignment exceptions.
Diffstat (limited to 'src')
-rw-r--r-- | src/rv32.tex | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/rv32.tex b/src/rv32.tex index d1be7e9..54bbaba 100644 --- a/src/rv32.tex +++ b/src/rv32.tex @@ -1035,13 +1035,16 @@ hardware and invisible trap depending on address. An EEI may not guarantee misaligned loads and stores are handled invisibly. In this case, loads and stores that are not naturally aligned may either complete execution successfully or raise an -address-misaligned exception, but must always raise an -address-misaligned exception if they fail to execute due to -misalignment. When an EEI does not guarantee misaligned loads and -stores are handled invisibly, the EEI must define if -address-misaligned exceptions cause a contained trap (allowing -software running inside the execution environment to handle the trap) -or a fatal trap (terminating execution). +exception. The exception raised can be either an address-misaligned +exception or an access exception. For a memory access that would +otherwise be able to complete except for the misalignment, an access +exception can be raised instead of an address-misaligned exception if +the misaligned access should not be emulated, e.g., if accesses to the +memory region have side effects. When an EEI does not guarantee +misaligned loads and stores are handled invisibly, the EEI must define +if exceptions caused by address misalignment result in a contained +trap (allowing software running inside the execution environment to +handle the trap) or a fatal trap (terminating execution). \begin{commentary} Misaligned accesses are occasionally required when porting legacy |