diff --git a/arch/sparcv8leon3/reboot.c b/arch/sparcv8leon3/reboot.c index 2d3e2c40..fb1c37d8 100644 --- a/arch/sparcv8leon3/reboot.c +++ b/arch/sparcv8leon3/reboot.c @@ -16,7 +16,12 @@ #include #include + +#if defined(__CPU_GR716) #include +#elif defined(__CPU_GR712RC) +#include +#endif int reboot(int magic) diff --git a/arch/sparcv8leon3/syscalls.S b/arch/sparcv8leon3/syscalls.S index 18bb80b8..1a7517ba 100644 --- a/arch/sparcv8leon3/syscalls.S +++ b/arch/sparcv8leon3/syscalls.S @@ -28,6 +28,7 @@ sym: \ mov sn, %g4; \ ta 0; \ /* return value in %o0 */; \ + nop; /* TN-0018 fix */ \ retl; \ nop; \ .size sym, .-sym diff --git a/include/arch/sparcv8leon3/arch.h b/include/arch/sparcv8leon3/arch.h index 18d91b8a..4c7f7ce4 100644 --- a/include/arch/sparcv8leon3/arch.h +++ b/include/arch/sparcv8leon3/arch.h @@ -31,7 +31,11 @@ #define __STRCPY #define __STRNCPY +#ifdef NOMMU #define _PAGE_SIZE 0x200 +#else +#define _PAGE_SIZE 0x1000 +#endif #define SIZE_PAGE _Pragma("GCC warning \"'SIZE_PAGE' is deprecated. Use _PAGE_SIZE from arch.h or PAGE_SIZE from limits.h (POSIX only)\"") _PAGE_SIZE #define __LIBPHOENIX_ARCH_TLS_SUPPORTED