diff --git a/arch/risc-v/src/qemu-rv/qemu_rv_start.c b/arch/risc-v/src/qemu-rv/qemu_rv_start.c index de4c49a671a..e09144fbab4 100644 --- a/arch/risc-v/src/qemu-rv/qemu_rv_start.c +++ b/arch/risc-v/src/qemu-rv/qemu_rv_start.c @@ -227,6 +227,9 @@ void qemu_rv_start(int mhartid, const char *dtb) cpux: #ifdef CONFIG_SMP +# ifdef CONFIG_BUILD_PROTECTED + qemu_rv_configure_mpu(); +# endif riscv_cpu_boot(mhartid); #endif diff --git a/arch/risc-v/src/qemu-rv/qemu_rv_userspace.c b/arch/risc-v/src/qemu-rv/qemu_rv_userspace.c index ecd09fcbf29..f5a1d9d330d 100644 --- a/arch/risc-v/src/qemu-rv/qemu_rv_userspace.c +++ b/arch/risc-v/src/qemu-rv/qemu_rv_userspace.c @@ -55,7 +55,7 @@ ****************************************************************************/ /**************************************************************************** - * Name: configure_mpu + * Name: qemu_rv_configure_mpu * * Description: * This function configures the MPU for for kernel- / userspace separation. @@ -63,7 +63,7 @@ * ****************************************************************************/ -static void configure_mpu(void) +void qemu_rv_configure_mpu(void) { int ret; ret = riscv_append_pmp_region(UFLASH_F, UFLASH_START, UFLASH_SIZE); @@ -123,7 +123,7 @@ void qemu_rv_userspace(void) /* Configure MPU / PMP to grant access to the userspace */ - configure_mpu(); + qemu_rv_configure_mpu(); } #endif /* CONFIG_BUILD_PROTECTED */ diff --git a/arch/risc-v/src/qemu-rv/qemu_rv_userspace.h b/arch/risc-v/src/qemu-rv/qemu_rv_userspace.h index 4d41613373d..1dffbf6dd9b 100644 --- a/arch/risc-v/src/qemu-rv/qemu_rv_userspace.h +++ b/arch/risc-v/src/qemu-rv/qemu_rv_userspace.h @@ -45,6 +45,7 @@ ****************************************************************************/ #ifdef CONFIG_BUILD_PROTECTED +void qemu_rv_configure_mpu(void); void qemu_rv_userspace(void); #endif