1*4882a593SmuzhiyunFrom b5a58d2c001689b07591fdce8820773d57a74002 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Chenxi Mao <chenxi.mao2013@gmail.com> 3*4882a593SmuzhiyunDate: Fri, 3 Apr 2020 08:33:10 +0800 4*4882a593SmuzhiyunSubject: [PATCH 1/1] Riscv: Add support for riscv 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunUpstream-Status: Pending 7*4882a593SmuzhiyunSigned-off-by: Martin Jansa <Martin.Jansa@gmail.com> 8*4882a593Smuzhiyun--- 9*4882a593Smuzhiyun CMakeLists.txt | 2 ++ 10*4882a593Smuzhiyun Source/JavaScriptCore/CMakeLists.txt | 1 + 11*4882a593Smuzhiyun Source/WTF/wtf/Platform.h | 12 ++++++++++-- 12*4882a593Smuzhiyun Source/WTF/wtf/dtoa/utils.h | 2 +- 13*4882a593Smuzhiyun 4 files changed, 14 insertions(+), 3 deletions(-) 14*4882a593Smuzhiyun 15*4882a593Smuzhiyundiff --git a/CMakeLists.txt b/CMakeLists.txt 16*4882a593Smuzhiyunindex 31a2ea1fd..516476729 100644 17*4882a593Smuzhiyun--- a/CMakeLists.txt 18*4882a593Smuzhiyun+++ b/CMakeLists.txt 19*4882a593Smuzhiyun@@ -83,6 +83,8 @@ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390") 20*4882a593Smuzhiyun set(WTF_CPU_S390 1) 21*4882a593Smuzhiyun elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "s390x") 22*4882a593Smuzhiyun set(WTF_CPU_S390X 1) 23*4882a593Smuzhiyun+elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64") 24*4882a593Smuzhiyun+ set(WTF_CPU_RISCV64 1) 25*4882a593Smuzhiyun else () 26*4882a593Smuzhiyun message(FATAL_ERROR "Unknown CPU '${LOWERCASE_CMAKE_SYSTEM_PROCESSOR}'") 27*4882a593Smuzhiyun endif () 28*4882a593Smuzhiyundiff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt 29*4882a593Smuzhiyunindex 937b3ed00..2fff29f9d 100644 30*4882a593Smuzhiyun--- a/Source/JavaScriptCore/CMakeLists.txt 31*4882a593Smuzhiyun+++ b/Source/JavaScriptCore/CMakeLists.txt 32*4882a593Smuzhiyun@@ -1286,6 +1286,7 @@ elseif (WTF_CPU_S390) 33*4882a593Smuzhiyun elseif (WTF_CPU_S390X) 34*4882a593Smuzhiyun elseif (WTF_CPU_MIPS) 35*4882a593Smuzhiyun elseif (WTF_CPU_SH4) 36*4882a593Smuzhiyun+elseif (WTF_CPU_RISCV64) 37*4882a593Smuzhiyun elseif (WTF_CPU_X86) 38*4882a593Smuzhiyun elseif (WTF_CPU_X86_64) 39*4882a593Smuzhiyun if (MSVC AND ENABLE_JIT) 40*4882a593Smuzhiyundiff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h 41*4882a593Smuzhiyunindex 5717f3ea1..8fac85f72 100644 42*4882a593Smuzhiyun--- a/Source/WTF/wtf/Platform.h 43*4882a593Smuzhiyun+++ b/Source/WTF/wtf/Platform.h 44*4882a593Smuzhiyun@@ -349,7 +349,14 @@ 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun #endif /* ARM */ 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun-#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ALPHA) || CPU(HPPA) 49*4882a593Smuzhiyun+#if defined(__riscv) 50*4882a593Smuzhiyun+#define WTF_CPU_RISCV 1 51*4882a593Smuzhiyun+#if __riscv_xlen == 64 52*4882a593Smuzhiyun+#define WTF_CPU_RISCV64 1 53*4882a593Smuzhiyun+#endif 54*4882a593Smuzhiyun+#endif 55*4882a593Smuzhiyun+ 56*4882a593Smuzhiyun+#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ALPHA) || CPU(HPPA) || CPU(RISCV) 57*4882a593Smuzhiyun #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1 58*4882a593Smuzhiyun #endif 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun@@ -707,7 +714,8 @@ 61*4882a593Smuzhiyun || CPU(S390X) \ 62*4882a593Smuzhiyun || CPU(MIPS64) \ 63*4882a593Smuzhiyun || CPU(PPC64) \ 64*4882a593Smuzhiyun- || CPU(PPC64LE) 65*4882a593Smuzhiyun+ || CPU(PPC64LE) \ 66*4882a593Smuzhiyun+ || CPU(RISCV64) 67*4882a593Smuzhiyun #define USE_JSVALUE64 1 68*4882a593Smuzhiyun #else 69*4882a593Smuzhiyun #define USE_JSVALUE32_64 1 70*4882a593Smuzhiyundiff --git a/Source/WTF/wtf/dtoa/utils.h b/Source/WTF/wtf/dtoa/utils.h 71*4882a593Smuzhiyunindex 05302e6e6..25dd352ee 100644 72*4882a593Smuzhiyun--- a/Source/WTF/wtf/dtoa/utils.h 73*4882a593Smuzhiyun+++ b/Source/WTF/wtf/dtoa/utils.h 74*4882a593Smuzhiyun@@ -49,7 +49,7 @@ 75*4882a593Smuzhiyun defined(__ARMEL__) || \ 76*4882a593Smuzhiyun defined(_MIPS_ARCH_MIPS32R2) 77*4882a593Smuzhiyun #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 78*4882a593Smuzhiyun-#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) || CPU(ARM) 79*4882a593Smuzhiyun+#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) || CPU(ARM) || CPU(RISCV) 80*4882a593Smuzhiyun #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 81*4882a593Smuzhiyun #elif defined(_M_IX86) || defined(__i386__) 82*4882a593Smuzhiyun #if defined(_WIN32) 83*4882a593Smuzhiyun-- 84*4882a593Smuzhiyun2.17.1 85*4882a593Smuzhiyun 86