File tree Expand file tree Collapse file tree 1 file changed +25
-1
lines changed
tests/kernel/mem_protect/userspace/src Expand file tree Collapse file tree 1 file changed +25
-1
lines changed Original file line number Diff line number Diff line change 2222#include <arch/arc/v2/mpu/arc_core_mpu.h>
2323#endif
2424
25- #if defined(CONFIG_ARM )
25+ #if defined(CONFIG_ARM ) && !defined( CONFIG_ARM64 )
2626extern void arm_core_mpu_disable (void );
2727#endif
2828
@@ -124,6 +124,19 @@ static void test_write_control(void)
124124 );
125125#endif
126126 zassert_unreachable ("Write to control register did not fault" );
127+
128+ #elif defined(CONFIG_ARM64 )
129+ uint64_t val = SPSR_MODE_EL1T ;
130+
131+ set_fault (K_ERR_CPU_EXCEPTION );
132+
133+ __asm__ volatile ("msr spsr_el1, %0"
134+ :
135+ : "r" (val )
136+ : "memory" , "cc" );
137+
138+ zassert_unreachable ("Write to control register did not fault" );
139+
127140#elif defined(CONFIG_ARM )
128141 unsigned int msr_value ;
129142
@@ -183,6 +196,17 @@ static void test_disable_mmu_mpu(void)
183196 "mov %eax, %cr0;\n\t"
184197 );
185198#endif
199+ #elif defined(CONFIG_ARM64 )
200+ uint64_t val ;
201+
202+ set_fault (K_ERR_CPU_EXCEPTION );
203+
204+ __asm__ volatile ("mrs %0, sctlr_el1" : "=r" (val ));
205+ __asm__ volatile ("msr sctlr_el1, %0"
206+ :
207+ : "r" (val & ~(SCTLR_M_BIT | SCTLR_C_BIT ))
208+ : "memory" , "cc" );
209+
186210#elif defined(CONFIG_ARM )
187211#ifndef CONFIG_TRUSTED_EXECUTION_NONSECURE
188212 set_fault (K_ERR_CPU_EXCEPTION );
You can’t perform that action at this time.
0 commit comments