aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/target/riscv/riscv.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/target/riscv/riscv.c b/src/target/riscv/riscv.c
index 59353e2..beca76c 100644
--- a/src/target/riscv/riscv.c
+++ b/src/target/riscv/riscv.c
@@ -1364,6 +1364,11 @@ static int riscv_select_current_hart(struct target *target)
static int riscv_mmu(struct target *target, int *enabled)
{
+ if (!riscv_enable_virt2phys) {
+ *enabled = 0;
+ return ERROR_OK;
+ }
+
if (riscv_rtos_enabled(target))
riscv_set_current_hartid(target, target->rtos->current_thread - 1);
@@ -1483,9 +1488,6 @@ static int riscv_address_translate(struct target *target,
static int riscv_virt2phys(struct target *target, target_addr_t virtual, target_addr_t *physical)
{
- if (!riscv_enable_virt2phys)
- return ERROR_FAIL;
-
int enabled;
if (riscv_mmu(target, &enabled) == ERROR_OK) {
if (!enabled)