Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37718968
en ru br
Репозитории ALT

Группа :: Базы Данных
Пакет: postgresql12

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: 0007-e2k.patch
Скачать


From 9714ab1479bf76c06118f8e7369cb1113df337c3 Mon Sep 17 00:00:00 2001
From: Ilya Kurdyukov <jpegqs@gmail.com>
Date: Thu, 18 Feb 2021 19:06:01 +0700
Subject: [PATCH] Elbrus (e2k) spinlock code
---
 src/include/storage/s_lock.h | 11 +++++++++++
 1 file changed, 11 insertions(+)
diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h
index 254c40d..4d4dbea 100644
--- a/src/include/storage/s_lock.h
+++ b/src/include/storage/s_lock.h
@@ -440,6 +440,17 @@ do \
 #endif	 /* __sparc__ */
 
 
+/* Elbrus */
+#ifdef __e2k__
+#define HAS_TEST_AND_SET
+typedef int slock_t;
+/* There is no need to check for sync_lock availability. */
+#define TAS(lock) __sync_lock_test_and_set(lock, 1)
+#define S_UNLOCK(lock) __sync_lock_release(lock)
+#define SPIN_DELAY() do { __asm__ __volatile__ ("nop" : : ); } while(0)
+#endif
+
+
 /* PowerPC */
 #if defined(__ppc__) || defined(__powerpc__) || defined(__ppc64__) || defined(__powerpc64__)
 #define HAS_TEST_AND_SET
-- 
2.17.1
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin