mirror of https://github.com/xemu-project/xemu.git
target/riscv: Merge checks for reserved pte flags
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn> Tested-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> Message-Id: <20230325105429.1142530-24-richard.henderson@linaro.org> Message-Id: <20230412114333.118895-24-richard.henderson@linaro.org> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
parent
356c8331d6
commit
a9d2e3ed4d
|
@ -962,14 +962,14 @@ restart:
|
|||
/* Reserved without Svpbmt. */
|
||||
return TRANSLATE_FAIL;
|
||||
}
|
||||
if ((pte & (PTE_R | PTE_W | PTE_X)) == PTE_W) {
|
||||
/* Reserved leaf PTE flags: PTE_W */
|
||||
return TRANSLATE_FAIL;
|
||||
}
|
||||
if ((pte & (PTE_R | PTE_W | PTE_X)) == (PTE_W | PTE_X)) {
|
||||
/* Reserved leaf PTE flags: PTE_W + PTE_X */
|
||||
|
||||
/* Check for reserved combinations of RWX flags. */
|
||||
switch (pte & (PTE_R | PTE_W | PTE_X)) {
|
||||
case PTE_W:
|
||||
case PTE_W | PTE_X:
|
||||
return TRANSLATE_FAIL;
|
||||
}
|
||||
|
||||
if ((pte & PTE_U) &&
|
||||
((mode != PRV_U) && (!sum || access_type == MMU_INST_FETCH))) {
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue