mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
target/riscv: Handle HLV, HSV via helpers
Implement these instructions via helpers, in expectation of determining the mmu_idx to use at runtime. This allows the permission check to also be moved out of line, which allows HLSX to be removed from TB_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-11-richard.henderson@linaro.org> Message-Id: <20230412114333.118895-11-richard.henderson@linaro.org> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
parent
a7f112c5fd
commit
0f58cbbeea
6 changed files with 169 additions and 113 deletions
|
@ -639,8 +639,7 @@ FIELD(TB_FLAGS, LMUL, 7, 3)
|
|||
FIELD(TB_FLAGS, SEW, 10, 3)
|
||||
FIELD(TB_FLAGS, VL_EQ_VLMAX, 13, 1)
|
||||
FIELD(TB_FLAGS, VILL, 14, 1)
|
||||
/* Is a Hypervisor instruction load/store allowed? */
|
||||
FIELD(TB_FLAGS, HLSX, 15, 1)
|
||||
FIELD(TB_FLAGS, VSTART_EQ_ZERO, 15, 1)
|
||||
/* The combination of MXL/SXL/UXL that applies to the current cpu mode. */
|
||||
FIELD(TB_FLAGS, XL, 16, 2)
|
||||
/* If PointerMasking should be applied */
|
||||
|
@ -652,8 +651,7 @@ FIELD(TB_FLAGS, VMA, 21, 1)
|
|||
FIELD(TB_FLAGS, ITRIGGER, 22, 1)
|
||||
/* Virtual mode enabled */
|
||||
FIELD(TB_FLAGS, VIRT_ENABLED, 23, 1)
|
||||
FIELD(TB_FLAGS, VSTART_EQ_ZERO, 24, 1)
|
||||
FIELD(TB_FLAGS, PRIV, 25, 2)
|
||||
FIELD(TB_FLAGS, PRIV, 24, 2)
|
||||
|
||||
#ifdef TARGET_RISCV32
|
||||
#define riscv_cpu_mxl(env) ((void)(env), MXL_RV32)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue