From 96af55e2a5d7649570a3feb6a7ddf89f9e1176d8 Mon Sep 17 00:00:00 2001 From: ape Date: Fri, 8 Dec 2023 15:53:20 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E9=80=82=E9=85=8D=E9=BE=99=E8=8A=AFloongar?= =?UTF-8?q?ch64?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 2 +- build/linux/opengauss/build.sh | 2 ++ src/cm_concurrency/cm_spinlock.h | 2 +- src/cm_concurrency/cm_thread.c | 3 +++ src/cm_utils/cm_checksum.h | 3 ++- src/cm_utils/cm_memory.h | 7 ++++++- 6 files changed, 15 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2257859..59d7e9e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -70,7 +70,7 @@ if (OS_ARCH STREQUAL "aarch64") endif (USE_H1620) add_compile_options(-mtune=cortex-a72 -fsigned-char -g -ggdb3 -march=armv8-a+crc -funwind-tables) -else () +elseif (OS_ARCH STREQUAL "x86_64") add_compile_options(-msse4.2 ) endif () Add_Definitions(-DWSEC_COMPILE_CAC_OPENSSL -DWSEC_AES_GCM_SUPPORT -DWSEC_USE_OPENSSL_110 -DWSEC_COMPILE_SDP) diff --git a/build/linux/opengauss/build.sh b/build/linux/opengauss/build.sh index 5a6273c..973f745 100644 --- a/build/linux/opengauss/build.sh +++ b/build/linux/opengauss/build.sh @@ -99,6 +99,8 @@ export OUT_PACKAGE=cbb # gcc version if [[ -d "${binarylib_dir}/buildtools/gcc10.3" ]]; then gcc_version="10.3" +elif [[ -d "${binarylib_dir}/buildtools/gcc8.3" ]];then + gcc_version="8.3" else gcc_version="7.3" fi diff --git a/src/cm_concurrency/cm_spinlock.h b/src/cm_concurrency/cm_spinlock.h index 83bdc17..6045291 100644 --- a/src/cm_concurrency/cm_spinlock.h +++ b/src/cm_concurrency/cm_spinlock.h @@ -77,7 +77,7 @@ typedef struct st_spin_statis_instance { uint64 ss_wait_usecs; } spin_statis_instance_t; -#if defined(__arm__) || defined(__aarch64__) +#if defined(__arm__) || defined(__aarch64__) || defined(__loongarch__) #define fas_cpu_pause() \ { \ __asm__ volatile("nop"); \ diff --git a/src/cm_concurrency/cm_thread.c b/src/cm_concurrency/cm_thread.c index 78a6eaa..896d39e 100644 --- a/src/cm_concurrency/cm_thread.c +++ b/src/cm_concurrency/cm_thread.c @@ -303,6 +303,9 @@ uint32 cm_get_current_thread_id(void) #define __SYS_GET_SPID 186 #elif (defined __aarch64__) #define __SYS_GET_SPID 178 +#elif (defined __loongarch__) +#include +#define __SYS_GET_SPID SYS_gettid #endif #define gettid() syscall(__SYS_GET_SPID) diff --git a/src/cm_utils/cm_checksum.h b/src/cm_utils/cm_checksum.h index 27bd397..11d22b2 100644 --- a/src/cm_utils/cm_checksum.h +++ b/src/cm_utils/cm_checksum.h @@ -38,12 +38,13 @@ #define CM_HAVE_SSE4_2 #include #define CM_HAVE__CPUID -#else +#elif defined(__i386__) || defined(__x86_64__) #include #define CM_HAVE_SSE4_2 #include #define CM_HAVE__GET_CPUID #endif +#endif #ifdef __cplusplus extern "C" { diff --git a/src/cm_utils/cm_memory.h b/src/cm_utils/cm_memory.h index bbc7174..f106839 100644 --- a/src/cm_utils/cm_memory.h +++ b/src/cm_utils/cm_memory.h @@ -57,12 +57,17 @@ extern "C" { __asm__ volatile("dmb ish" :: \ : "memory"); \ } -#else +#elif defined(__i386__) || defined(__x86_64__) #define CM_MFENCE \ { \ __asm__ volatile("mfence" :: \ : "memory"); \ } +#elif defined(__loongarch__) + { \ + __asm__ volatile("" :: \ + : "memory"); \ + } #endif -- Gitee From 10b0a227f7ab9a8970d5d48752342738cad4d4a5 Mon Sep 17 00:00:00 2001 From: ape Date: Fri, 8 Dec 2023 16:11:37 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E9=80=82=E9=85=8D=E9=BE=99=E8=8A=AFloongar?= =?UTF-8?q?ch64?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cm_utils/cm_checksum.h | 1 - src/cm_utils/cm_memory.h | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cm_utils/cm_checksum.h b/src/cm_utils/cm_checksum.h index 11d22b2..c3130a5 100644 --- a/src/cm_utils/cm_checksum.h +++ b/src/cm_utils/cm_checksum.h @@ -44,7 +44,6 @@ #include #define CM_HAVE__GET_CPUID #endif -#endif #ifdef __cplusplus extern "C" { diff --git a/src/cm_utils/cm_memory.h b/src/cm_utils/cm_memory.h index f106839..99ee6c5 100644 --- a/src/cm_utils/cm_memory.h +++ b/src/cm_utils/cm_memory.h @@ -64,6 +64,7 @@ extern "C" { : "memory"); \ } #elif defined(__loongarch__) +#define CM_MFENCE { \ __asm__ volatile("" :: \ : "memory"); \ -- Gitee From 5b99460b6ba9005088043aff7b1830c6a3e020c6 Mon Sep 17 00:00:00 2001 From: ape Date: Fri, 8 Dec 2023 16:31:13 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BC=96=E8=AF=91?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cm_utils/cm_memory.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cm_utils/cm_memory.h b/src/cm_utils/cm_memory.h index 99ee6c5..5542a6c 100644 --- a/src/cm_utils/cm_memory.h +++ b/src/cm_utils/cm_memory.h @@ -64,9 +64,9 @@ extern "C" { : "memory"); \ } #elif defined(__loongarch__) -#define CM_MFENCE +#define CM_MFENCE \ { \ - __asm__ volatile("" :: \ + __asm__ volatile("" :: \ : "memory"); \ } #endif -- Gitee