Module Name: src
Committed By: christos
Date: Sat Jan 18 15:53:14 UTC 2025
Modified Files:
src/external/lgpl2/userspace-rcu/dist/include/urcu: arch.h
src/external/lgpl2/userspace-rcu/dist/include/urcu/arch: sparc64.h
Added Files:
src/external/lgpl2/userspace-rcu/dist/include/urcu/arch: sh3.h vax.h
Log Message:
add sh3, sparc v8 and earlier, and vax.
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 \
src/external/lgpl2/userspace-rcu/dist/include/urcu/arch.h
cvs rdiff -u -r0 -r1.1 \
src/external/lgpl2/userspace-rcu/dist/include/urcu/arch/sh3.h \
src/external/lgpl2/userspace-rcu/dist/include/urcu/arch/vax.h
cvs rdiff -u -r1.1.1.1 -r1.2 \
src/external/lgpl2/userspace-rcu/dist/include/urcu/arch/sparc64.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/lgpl2/userspace-rcu/dist/include/urcu/arch.h
diff -u src/external/lgpl2/userspace-rcu/dist/include/urcu/arch.h:1.1.1.1 src/external/lgpl2/userspace-rcu/dist/include/urcu/arch.h:1.2
--- src/external/lgpl2/userspace-rcu/dist/include/urcu/arch.h:1.1.1.1 Fri Jan 17 11:00:49 2025
+++ src/external/lgpl2/userspace-rcu/dist/include/urcu/arch.h Sat Jan 18 10:53:14 2025
@@ -34,6 +34,8 @@
* URCU_ARCH_M68K : All Motorola 68000 variants
* URCU_ARCH_RISCV : All RISC-V variants
* URCU_ARCH_LOONGARCH : All LoongArch variants
+ * URCU_ARCH_VAX : All DEC VAX variants
+ * URCU_ARCH_SH3 : All SUPER H 3 variants
*/
#if (defined(__INTEL_OFFLOAD) || defined(__TARGET_ARCH_MIC) || defined(__MIC__))
@@ -157,7 +159,18 @@
#define URCU_ARCH_LOONGARCH 1
#include <urcu/arch/loongarch.h>
+#elif defined(__vax__)
+
+#define URCU_ARCH_VAX 1
+#include <urcu/arch/vax.h>
+
+#elif defined(__sh3__)
+
+#define URCU_ARCH_SH3 1
+#include <urcu/arch/sh3.h>
+
#else
+
#error "Cannot build: unrecognized architecture, see <urcu/arch.h>."
#endif
Index: src/external/lgpl2/userspace-rcu/dist/include/urcu/arch/sparc64.h
diff -u src/external/lgpl2/userspace-rcu/dist/include/urcu/arch/sparc64.h:1.1.1.1 src/external/lgpl2/userspace-rcu/dist/include/urcu/arch/sparc64.h:1.2
--- src/external/lgpl2/userspace-rcu/dist/include/urcu/arch/sparc64.h:1.1.1.1 Fri Jan 17 11:00:49 2025
+++ src/external/lgpl2/userspace-rcu/dist/include/urcu/arch/sparc64.h Sat Jan 18 10:53:14 2025
@@ -28,6 +28,7 @@ extern "C" {
#define CAA_CACHE_LINE_SIZE 256
+#ifdef __sparc_v9__
/*
* Inspired from the Linux kernel. Workaround Spitfire bug #51.
*/
@@ -40,6 +41,16 @@ __asm__ __volatile__("ba,pt %%xcc, 1f\n\
#define cmm_mb() membar_safe("#LoadLoad | #LoadStore | #StoreStore | #StoreLoad")
#define cmm_rmb() membar_safe("#LoadLoad")
#define cmm_wmb() membar_safe("#StoreStore")
+#elif __sparc_v8__
+/* from gcc config/sparc/sync.md */
+#define cmm_mb() __asm__ __volatile__("stbar\n\tldstub\t[%%sp-1], %%g0")
+#define cmm_rmb() __asm__ __volatile__("ldstub\t[%%sp-1], %%g0")
+#define cmm_wmb() __asm__ __volatile__("stbar")
+#else
+#define cmm_mb()
+#define cmm_rmb()
+#define cmm_wmb()
+#endif
#ifdef __cplusplus
}
Added files:
Index: src/external/lgpl2/userspace-rcu/dist/include/urcu/arch/sh3.h
diff -u /dev/null src/external/lgpl2/userspace-rcu/dist/include/urcu/arch/sh3.h:1.1
--- /dev/null Sat Jan 18 10:53:14 2025
+++ src/external/lgpl2/userspace-rcu/dist/include/urcu/arch/sh3.h Sat Jan 18 10:53:14 2025
@@ -0,0 +1,41 @@
+//
+// SPDX-License-Identifier: LGPL-2.1-or-later
+
+#ifndef _URCU_ARCH_SH3_H
+#define _URCU_ARCH_SH3_H
+
+/*
+ * arch/m68k.h: definitions for m68k architecture
+ */
+
+#include <urcu/compiler.h>
+#include <urcu/config.h>
+#include <urcu/syscall-compat.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdlib.h>
+#include <sys/time.h>
+
+/*
+ * On Linux, define the membarrier system call number if not yet available in
+ * the system headers.
+ */
+#if (defined(__linux__) && !defined(__NR_membarrier))
+#define __NR_membarrier 378
+#endif
+
+#define cmm_mb() __asm__ __volatile__("synco")
+#define cmm_rmb() cmm_mb()
+#define cmm_wmb() cmm_mb()
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#include <urcu/arch/generic.h>
+
+#endif /* _URCU_ARCH_SH3_H */
Index: src/external/lgpl2/userspace-rcu/dist/include/urcu/arch/vax.h
diff -u /dev/null src/external/lgpl2/userspace-rcu/dist/include/urcu/arch/vax.h:1.1
--- /dev/null Sat Jan 18 10:53:14 2025
+++ src/external/lgpl2/userspace-rcu/dist/include/urcu/arch/vax.h Sat Jan 18 10:53:14 2025
@@ -0,0 +1,28 @@
+//
+// SPDX-License-Identifier: LGPL-2.1-or-later
+
+#ifndef _URCU_ARCH_VAX_H
+#define _URCU_ARCH_VAX_H
+
+/*
+ * arch/m68k.h: definitions for m68k architecture
+ */
+
+#include <urcu/compiler.h>
+#include <urcu/config.h>
+#include <urcu/syscall-compat.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdlib.h>
+#include <sys/time.h>
+
+#ifdef __cplusplus
+}
+#endif
+
+#include <urcu/arch/generic.h>
+
+#endif /* _URCU_ARCH_VAX_H */