arch: riscv: pmp: Fix RV64 compatibility of register size

In RV64, all general-purpose registers and pmpcfg CSR are 64-bit
instead of 32-bit. Fix these registers and related C variables/literals
to be 32/64-bit compatible.

Signed-off-by: Jim Shu <cwshu09@gmail.com>
This commit is contained in:
Jim Shu 2022-01-15 18:42:44 +08:00 committed by Anas Nashif
commit 10e618ff33
2 changed files with 34 additions and 34 deletions

View file

@ -42,13 +42,13 @@ static inline uintptr_t arch_syscall_invoke6(uintptr_t arg1, uintptr_t arg2,
uintptr_t arg5, uintptr_t arg6,
uintptr_t call_id)
{
register uint32_t a0 __asm__ ("a0") = arg1;
register uint32_t a1 __asm__ ("a1") = arg2;
register uint32_t a2 __asm__ ("a2") = arg3;
register uint32_t a3 __asm__ ("a3") = arg4;
register uint32_t a4 __asm__ ("a4") = arg5;
register uint32_t a5 __asm__ ("a5") = arg6;
register uint32_t a7 __asm__ ("a7") = call_id;
register ulong_t a0 __asm__ ("a0") = arg1;
register ulong_t a1 __asm__ ("a1") = arg2;
register ulong_t a2 __asm__ ("a2") = arg3;
register ulong_t a3 __asm__ ("a3") = arg4;
register ulong_t a4 __asm__ ("a4") = arg5;
register ulong_t a5 __asm__ ("a5") = arg6;
register ulong_t a7 __asm__ ("a7") = call_id;
__asm__ volatile ("ecall"
: "+r" (a0)
@ -63,12 +63,12 @@ static inline uintptr_t arch_syscall_invoke5(uintptr_t arg1, uintptr_t arg2,
uintptr_t arg5,
uintptr_t call_id)
{
register uint32_t a0 __asm__ ("a0") = arg1;
register uint32_t a1 __asm__ ("a1") = arg2;
register uint32_t a2 __asm__ ("a2") = arg3;
register uint32_t a3 __asm__ ("a3") = arg4;
register uint32_t a4 __asm__ ("a4") = arg5;
register uint32_t a7 __asm__ ("a7") = call_id;
register ulong_t a0 __asm__ ("a0") = arg1;
register ulong_t a1 __asm__ ("a1") = arg2;
register ulong_t a2 __asm__ ("a2") = arg3;
register ulong_t a3 __asm__ ("a3") = arg4;
register ulong_t a4 __asm__ ("a4") = arg5;
register ulong_t a7 __asm__ ("a7") = call_id;
__asm__ volatile ("ecall"
: "+r" (a0)
@ -81,11 +81,11 @@ static inline uintptr_t arch_syscall_invoke4(uintptr_t arg1, uintptr_t arg2,
uintptr_t arg3, uintptr_t arg4,
uintptr_t call_id)
{
register uint32_t a0 __asm__ ("a0") = arg1;
register uint32_t a1 __asm__ ("a1") = arg2;
register uint32_t a2 __asm__ ("a2") = arg3;
register uint32_t a3 __asm__ ("a3") = arg4;
register uint32_t a7 __asm__ ("a7") = call_id;
register ulong_t a0 __asm__ ("a0") = arg1;
register ulong_t a1 __asm__ ("a1") = arg2;
register ulong_t a2 __asm__ ("a2") = arg3;
register ulong_t a3 __asm__ ("a3") = arg4;
register ulong_t a7 __asm__ ("a7") = call_id;
__asm__ volatile ("ecall"
: "+r" (a0)
@ -98,10 +98,10 @@ static inline uintptr_t arch_syscall_invoke3(uintptr_t arg1, uintptr_t arg2,
uintptr_t arg3,
uintptr_t call_id)
{
register uint32_t a0 __asm__ ("a0") = arg1;
register uint32_t a1 __asm__ ("a1") = arg2;
register uint32_t a2 __asm__ ("a2") = arg3;
register uint32_t a7 __asm__ ("a7") = call_id;
register ulong_t a0 __asm__ ("a0") = arg1;
register ulong_t a1 __asm__ ("a1") = arg2;
register ulong_t a2 __asm__ ("a2") = arg3;
register ulong_t a7 __asm__ ("a7") = call_id;
__asm__ volatile ("ecall"
: "+r" (a0)
@ -113,9 +113,9 @@ static inline uintptr_t arch_syscall_invoke3(uintptr_t arg1, uintptr_t arg2,
static inline uintptr_t arch_syscall_invoke2(uintptr_t arg1, uintptr_t arg2,
uintptr_t call_id)
{
register uint32_t a0 __asm__ ("a0") = arg1;
register uint32_t a1 __asm__ ("a1") = arg2;
register uint32_t a7 __asm__ ("a7") = call_id;
register ulong_t a0 __asm__ ("a0") = arg1;
register ulong_t a1 __asm__ ("a1") = arg2;
register ulong_t a7 __asm__ ("a7") = call_id;
__asm__ volatile ("ecall"
: "+r" (a0)
@ -126,8 +126,8 @@ static inline uintptr_t arch_syscall_invoke2(uintptr_t arg1, uintptr_t arg2,
static inline uintptr_t arch_syscall_invoke1(uintptr_t arg1, uintptr_t call_id)
{
register uint32_t a0 __asm__ ("a0") = arg1;
register uint32_t a7 __asm__ ("a7") = call_id;
register ulong_t a0 __asm__ ("a0") = arg1;
register ulong_t a7 __asm__ ("a7") = call_id;
__asm__ volatile ("ecall"
: "+r" (a0)
@ -138,8 +138,8 @@ static inline uintptr_t arch_syscall_invoke1(uintptr_t arg1, uintptr_t call_id)
static inline uintptr_t arch_syscall_invoke0(uintptr_t call_id)
{
register uint32_t a0 __asm__ ("a0");
register uint32_t a7 __asm__ ("a7") = call_id;
register ulong_t a0 __asm__ ("a0");
register ulong_t a7 __asm__ ("a7") = call_id;
__asm__ volatile ("ecall"
: "+r" (a0)