!26 [sync] PR-23: add loongarch64 and sw_64 support
From: @openeuler-sync-bot Reviewed-by: @Charlie_li Signed-off-by: @Charlie_li
This commit is contained in:
commit
54204dc0fb
184
3000-add-loongarch64-support.patch
Normal file
184
3000-add-loongarch64-support.patch
Normal file
@ -0,0 +1,184 @@
|
||||
From 7be88f8e1201deac5cbf489730a7700b71869de6 Mon Sep 17 00:00:00 2001
|
||||
From: Jingyun Hua <huajingyun@loongson.cn>
|
||||
Date: Thu, 8 Dec 2022 07:41:58 +0000
|
||||
Subject: [PATCH] add loongarch64 support
|
||||
|
||||
Signed-off-by: Jingyun Hua <huajingyun@loongson.cn>
|
||||
---
|
||||
mak/platform_LINUX_LOONGARCH64_GNU.mak | 34 ++++++
|
||||
src/Pegasus/Common/Config.h | 2 +
|
||||
.../Common/Platform_LINUX_LOONGARCH64_GNU.h | 108 ++++++++++++++++++
|
||||
3 files changed, 144 insertions(+)
|
||||
create mode 100644 mak/platform_LINUX_LOONGARCH64_GNU.mak
|
||||
create mode 100644 src/Pegasus/Common/Platform_LINUX_LOONGARCH64_GNU.h
|
||||
|
||||
diff --git a/mak/platform_LINUX_LOONGARCH64_GNU.mak b/mak/platform_LINUX_LOONGARCH64_GNU.mak
|
||||
new file mode 100644
|
||||
index 0000000..b3a2652
|
||||
--- /dev/null
|
||||
+++ b/mak/platform_LINUX_LOONGARCH64_GNU.mak
|
||||
@@ -0,0 +1,34 @@
|
||||
+#//%LICENSE////////////////////////////////////////////////////////////////
|
||||
+#//
|
||||
+#// Licensed to The Open Group (TOG) under one or more contributor license
|
||||
+#// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
|
||||
+#// this work for additional information regarding copyright ownership.
|
||||
+#// Each contributor licenses this file to you under the OpenPegasus Open
|
||||
+#// Source License; you may not use this file except in compliance with the
|
||||
+#// License.
|
||||
+#//
|
||||
+#// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
+#// copy of this software and associated documentation files (the "Software"),
|
||||
+#// to deal in the Software without restriction, including without limitation
|
||||
+#// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
+#// and/or sell copies of the Software, and to permit persons to whom the
|
||||
+#// Software is furnished to do so, subject to the following conditions:
|
||||
+#//
|
||||
+#// The above copyright notice and this permission notice shall be included
|
||||
+#// in all copies or substantial portions of the Software.
|
||||
+#//
|
||||
+#// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
+#// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
+#// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
+#// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
+#// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
+#// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
+#// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
+#//
|
||||
+#//////////////////////////////////////////////////////////////////////////
|
||||
+# Platform Configuration for Linux on LOONGARCH64
|
||||
+# If you have generic Linux config options, please place them in config-linux.mak
|
||||
+
|
||||
+include $(ROOT)/mak/config-linux.mak
|
||||
+
|
||||
+ARCHITECTURE = LOONGARCH64
|
||||
diff --git a/src/Pegasus/Common/Config.h b/src/Pegasus/Common/Config.h
|
||||
index a28b58b..afe1224 100644
|
||||
--- a/src/Pegasus/Common/Config.h
|
||||
+++ b/src/Pegasus/Common/Config.h
|
||||
@@ -98,6 +98,8 @@
|
||||
# include <Pegasus/Common/Platform_LINUX_XSCALE_GNU.h>
|
||||
#elif defined (PEGASUS_PLATFORM_LINUX_AARCH64_GNU)
|
||||
# include <Pegasus/Common/Platform_LINUX_AARCH64_GNU.h>
|
||||
+#elif defined (PEGASUS_PLATFORM_LINUX_LOONGARCH64_GNU)
|
||||
+# include <Pegasus/Common/Platform_LINUX_LOONGARCH64_GNU.h>
|
||||
#elif defined (PEGASUS_PLATFORM_LINUX_X86_64_CLANG)
|
||||
# include <Pegasus/Common/Platform_LINUX_X86_64_CLANG.h>
|
||||
#elif defined (PEGASUS_PLATFORM_LINUX_IX86_CLANG)
|
||||
diff --git a/src/Pegasus/Common/Platform_LINUX_LOONGARCH64_GNU.h b/src/Pegasus/Common/Platform_LINUX_LOONGARCH64_GNU.h
|
||||
new file mode 100644
|
||||
index 0000000..8d0bafc
|
||||
--- /dev/null
|
||||
+++ b/src/Pegasus/Common/Platform_LINUX_LOONGARCH64_GNU.h
|
||||
@@ -0,0 +1,108 @@
|
||||
+//%LICENSE////////////////////////////////////////////////////////////////
|
||||
+//
|
||||
+// Licensed to The Open Group (TOG) under one or more contributor license
|
||||
+// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
|
||||
+// this work for additional information regarding copyright ownership.
|
||||
+// Each contributor licenses this file to you under the OpenPegasus Open
|
||||
+// Source License; you may not use this file except in compliance with the
|
||||
+// License.
|
||||
+//
|
||||
+// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
+// copy of this software and associated documentation files (the "Software"),
|
||||
+// to deal in the Software without restriction, including without limitation
|
||||
+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
+// and/or sell copies of the Software, and to permit persons to whom the
|
||||
+// Software is furnished to do so, subject to the following conditions:
|
||||
+//
|
||||
+// The above copyright notice and this permission notice shall be included
|
||||
+// in all copies or substantial portions of the Software.
|
||||
+//
|
||||
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
+// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
+// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
+// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
+// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
+//
|
||||
+//////////////////////////////////////////////////////////////////////////
|
||||
+//
|
||||
+//%/////////////////////////////////////////////////////////////////////////////
|
||||
+
|
||||
+/*****************************************************************************
|
||||
+ The platform configuration files in pegasus/src/Pegasus/Common/Platform_*.h
|
||||
+ are intended to normalize platform/compiler differences so that Pegasus code
|
||||
+ can be written to work on all platforms without requiring platform ifdefs.
|
||||
+ Since these files are part of the Pegasus SDK, their contents should be
|
||||
+ the minimum that achieves the stated purpose.
|
||||
+
|
||||
+ Examples of differences that are normalized here are support for C++
|
||||
+ namespaces, 64-bit integer type, support for C++ template specialization.
|
||||
+
|
||||
+ Examples of things that are not appropriate in these files are the enablement
|
||||
+ of Pegasus features for a specific platform and other build configuration.
|
||||
+******************************************************************************/
|
||||
+
|
||||
+#ifndef Pegasus_Platform_LINUX_LOONGARCH64_GNU_h
|
||||
+#define Pegasus_Platform_LINUX_LOONGARCH64_GNU_h
|
||||
+
|
||||
+#include <stddef.h>
|
||||
+
|
||||
+#define PEGASUS_OS_TYPE_UNIX
|
||||
+
|
||||
+#ifndef PEGASUS_PLATFORM_LINUX_GENERIC_GNU
|
||||
+#define PEGASUS_PLATFORM_LINUX_GENERIC_GNU
|
||||
+#endif
|
||||
+
|
||||
+#define PEGASUS_OS_LINUX
|
||||
+
|
||||
+#define PEGASUS_POINTER_64BIT
|
||||
+
|
||||
+#define PEGASUS_COMPILER_GNU
|
||||
+
|
||||
+#define PEGASUS_UINT64 unsigned long long
|
||||
+
|
||||
+#define PEGASUS_SINT64 long long
|
||||
+
|
||||
+#define PEGASUS_HAVE_NAMESPACES
|
||||
+
|
||||
+#define PEGASUS_HAVE_FOR_SCOPE
|
||||
+
|
||||
+#define PEGASUS_HAVE_TEMPLATE_SPECIALIZATION
|
||||
+
|
||||
+#ifndef _GNU_SOURCE
|
||||
+#define _GNU_SOURCE
|
||||
+#endif
|
||||
+#ifndef _REENTRANT
|
||||
+#define _REENTRANT
|
||||
+#endif
|
||||
+#define _THREAD_SAFE
|
||||
+#include <features.h>
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <sys/param.h> /* For MAXHOSTNAMELEN */
|
||||
+#include <limits.h> /* _POSIX_HOST_NAME_MAX */
|
||||
+
|
||||
+#if (__GNUC__ >= 4)
|
||||
+# define PEGASUS_EXPORT __attribute__ ((visibility("default")))
|
||||
+# define PEGASUS_IMPORT __attribute__ ((visibility("default")))
|
||||
+# define PEGASUS_HIDDEN_LINKAGE __attribute__((visibility("hidden")))
|
||||
+#endif
|
||||
+
|
||||
+#define PEGASUS_HAVE_PTHREADS
|
||||
+
|
||||
+#define PEGASUS_HAVE_NANOSLEEP
|
||||
+
|
||||
+#define PEGASUS_HAS_SIGNALS
|
||||
+
|
||||
+#define PEGASUS_INTEGERS_BOUNDARY_ALIGNED
|
||||
+
|
||||
+/* getifaddrs() avilable in gcc version >= 3.4 */
|
||||
+#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4))
|
||||
+# define PEGASUS_HAS_GETIFADDRS
|
||||
+#endif
|
||||
+
|
||||
+/* use POSIX read-write locks on this platform */
|
||||
+#define PEGASUS_USE_POSIX_RWLOCK
|
||||
+
|
||||
+#endif /* Pegasus_Platform_LINUX_LOONGARCH64_GNU_h */
|
||||
--
|
||||
2.33.0
|
||||
|
||||
280
3001-add-sw_64-support.patch
Normal file
280
3001-add-sw_64-support.patch
Normal file
@ -0,0 +1,280 @@
|
||||
From 966c3b04a297a41a9ce35ee94513f360a06539cb Mon Sep 17 00:00:00 2001
|
||||
From: yeqinglong <yeqinglong@kylinsec.com.cn>
|
||||
Date: Fri, 11 Aug 2023 14:09:33 +0800
|
||||
Subject: [PATCH] add sw_64 support
|
||||
|
||||
---
|
||||
.../CIM_ProcessorAllocationSettingData.mof | 1 +
|
||||
mak/SDKMakefile | 15 +++
|
||||
mak/platform_LINUX_SW_64_GNU.mak | 36 ++++++
|
||||
src/Pegasus/Common/Config.h | 2 +
|
||||
src/Pegasus/Common/Platform_LINUX_SW_64_GNU.h | 108 ++++++++++++++++++
|
||||
.../samples/mak/platform_LINUX_SW_64_GNU.mak | 33 ++++++
|
||||
6 files changed, 195 insertions(+)
|
||||
create mode 100644 mak/platform_LINUX_SW_64_GNU.mak
|
||||
create mode 100644 src/Pegasus/Common/Platform_LINUX_SW_64_GNU.h
|
||||
create mode 100644 src/SDK/samples/mak/platform_LINUX_SW_64_GNU.mak
|
||||
|
||||
diff --git a/Schemas/CIM236/DMTF/Core/CIM_ProcessorAllocationSettingData.mof b/Schemas/CIM236/DMTF/Core/CIM_ProcessorAllocationSettingData.mof
|
||||
index c956b63..3891d6d 100644
|
||||
--- a/Schemas/CIM236/DMTF/Core/CIM_ProcessorAllocationSettingData.mof
|
||||
+++ b/Schemas/CIM236/DMTF/Core/CIM_ProcessorAllocationSettingData.mof
|
||||
@@ -132,6 +132,7 @@ class CIM_ProcessorAllocationSettingData : CIM_ResourceAllocationSettingData {
|
||||
"IBM z/Architecture 2 (ARCHLVL 3, 64-bit)",
|
||||
"PA-RISC 1.0 (64-bit)", "PA-RISC 2.0 (64-bit)",
|
||||
"ARM A32 (AArch32, 32-bit)", "ARM A64 (AArch64, 64-bit)",
|
||||
+ "SW_64 sw_64 (Sw_64, 64-bit)",
|
||||
"MIPS I (32-bit)", "MIPS II (32-bit)",
|
||||
"MIPS III (32-bit)", "MIPS IV (32-bit)",
|
||||
"MIPS V (32-bit)", "MIPS32 (32-bit)", "MIPS64 (64-bit)",
|
||||
diff --git a/mak/SDKMakefile b/mak/SDKMakefile
|
||||
index 4d141f6..fd13abf 100644
|
||||
--- a/mak/SDKMakefile
|
||||
+++ b/mak/SDKMakefile
|
||||
@@ -68,6 +68,7 @@ endif
|
||||
ifeq ($(OS),linux)
|
||||
PACKAGED_PLATFORM_FILES = \
|
||||
LINUX_AARCH64_GNU \
|
||||
+ LINUX_SW_64_GNU \
|
||||
LINUX_IA64_GNU \
|
||||
LINUX_IX86_GNU \
|
||||
LINUX_IX86_CLANG \
|
||||
@@ -445,6 +446,13 @@ ifeq ($(RUNTIME_PLATFORM_TEST_NEEDED), true)
|
||||
@$(ECHO-E) " endif" \
|
||||
>> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
|
||||
|
||||
+ @$(ECHO-E) " ifeq (\044(shell uname -i),sw_64)" \
|
||||
+ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
|
||||
+ @$(ECHO-E) " PEGASUS_PLATFORM = LINUX_SW_64_GNU" \
|
||||
+ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
|
||||
+ @$(ECHO-E) " endif" \
|
||||
+ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
|
||||
+
|
||||
@$(ECHO-E) " ifeq (\044(shell uname -i),ia64)" \
|
||||
>> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
|
||||
@$(ECHO-E) " PEGASUS_PLATFORM = LINUX_IA64_GNU" \
|
||||
@@ -531,6 +539,13 @@ ifeq ($(RUNTIME_PLATFORM_TEST_NEEDED), true)
|
||||
@$(ECHO-E) "endif" \
|
||||
>> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
|
||||
|
||||
+ @$(ECHO-E) "ifeq (\044(PEGASUS_PLATFORM),LINUX_SW_64_GNU)" \
|
||||
+ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
|
||||
+ @$(ECHO-E) " PEGASUS_ARCH_LIB = lib" \
|
||||
+ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
|
||||
+ @$(ECHO-E) "endif" \
|
||||
+ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
|
||||
+
|
||||
@$(ECHO-E) "ifeq (\044(PEGASUS_PLATFORM),LINUX_IA64_GNU)" \
|
||||
>> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak
|
||||
@$(ECHO-E) " PEGASUS_ARCH_LIB = lib" \
|
||||
diff --git a/mak/platform_LINUX_SW_64_GNU.mak b/mak/platform_LINUX_SW_64_GNU.mak
|
||||
new file mode 100644
|
||||
index 0000000..30dfd3b
|
||||
--- /dev/null
|
||||
+++ b/mak/platform_LINUX_SW_64_GNU.mak
|
||||
@@ -0,0 +1,36 @@
|
||||
+#//%LICENSE////////////////////////////////////////////////////////////////
|
||||
+#//
|
||||
+#// Licensed to The Open Group (TOG) under one or more contributor license
|
||||
+#// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
|
||||
+#// this work for additional information regarding copyright ownership.
|
||||
+#// Each contributor licenses this file to you under the OpenPegasus Open
|
||||
+#// Source License; you may not use this file except in compliance with the
|
||||
+#// License.
|
||||
+#//
|
||||
+#// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
+#// copy of this software and associated documentation files (the "Software"),
|
||||
+#// to deal in the Software without restriction, including without limitation
|
||||
+#// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
+#// and/or sell copies of the Software, and to permit persons to whom the
|
||||
+#// Software is furnished to do so, subject to the following conditions:
|
||||
+#//
|
||||
+#// The above copyright notice and this permission notice shall be included
|
||||
+#// in all copies or substantial portions of the Software.
|
||||
+#//
|
||||
+#// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
+#// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
+#// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
+#// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
+#// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
+#// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
+#// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
+#//
|
||||
+#//////////////////////////////////////////////////////////////////////////
|
||||
+# Platform Configuration for Linux on SW_64
|
||||
+# If you have generic Linux config options, please place them in config-linux.mak
|
||||
+
|
||||
+include $(ROOT)/mak/config-linux.mak
|
||||
+
|
||||
+ARCHITECTURE = SW_64
|
||||
+CXX_MACHINE_OPTIONS =
|
||||
+LINK_MACHINE_OPTIONS =
|
||||
diff --git a/src/Pegasus/Common/Config.h b/src/Pegasus/Common/Config.h
|
||||
index afe1224..0b2db35 100644
|
||||
--- a/src/Pegasus/Common/Config.h
|
||||
+++ b/src/Pegasus/Common/Config.h
|
||||
@@ -102,6 +102,8 @@
|
||||
# include <Pegasus/Common/Platform_LINUX_LOONGARCH64_GNU.h>
|
||||
#elif defined (PEGASUS_PLATFORM_LINUX_X86_64_CLANG)
|
||||
# include <Pegasus/Common/Platform_LINUX_X86_64_CLANG.h>
|
||||
+#elif defined (PEGASUS_PLATFORM_LINUX_SW_64_GNU)
|
||||
+# include <Pegasus/Common/Platform_LINUX_SW_64_GNU.h>
|
||||
#elif defined (PEGASUS_PLATFORM_LINUX_IX86_CLANG)
|
||||
# include <Pegasus/Common/Platform_LINUX_IX86_CLANG.h>
|
||||
#elif defined (PEGASUS_PLATFORM_LINUX_SH4_GNU)
|
||||
diff --git a/src/Pegasus/Common/Platform_LINUX_SW_64_GNU.h b/src/Pegasus/Common/Platform_LINUX_SW_64_GNU.h
|
||||
new file mode 100644
|
||||
index 0000000..ffccae1
|
||||
--- /dev/null
|
||||
+++ b/src/Pegasus/Common/Platform_LINUX_SW_64_GNU.h
|
||||
@@ -0,0 +1,108 @@
|
||||
+//%LICENSE////////////////////////////////////////////////////////////////
|
||||
+//
|
||||
+// Licensed to The Open Group (TOG) under one or more contributor license
|
||||
+// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
|
||||
+// this work for additional information regarding copyright ownership.
|
||||
+// Each contributor licenses this file to you under the OpenPegasus Open
|
||||
+// Source License; you may not use this file except in compliance with the
|
||||
+// License.
|
||||
+//
|
||||
+// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
+// copy of this software and associated documentation files (the "Software"),
|
||||
+// to deal in the Software without restriction, including without limitation
|
||||
+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
+// and/or sell copies of the Software, and to permit persons to whom the
|
||||
+// Software is furnished to do so, subject to the following conditions:
|
||||
+//
|
||||
+// The above copyright notice and this permission notice shall be included
|
||||
+// in all copies or substantial portions of the Software.
|
||||
+//
|
||||
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
+// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
+// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
+// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
+// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
+//
|
||||
+//////////////////////////////////////////////////////////////////////////
|
||||
+//
|
||||
+//%/////////////////////////////////////////////////////////////////////////////
|
||||
+
|
||||
+/*****************************************************************************
|
||||
+ The platform configuration files in pegasus/src/Pegasus/Common/Platform_*.h
|
||||
+ are intended to normalize platform/compiler differences so that Pegasus code
|
||||
+ can be written to work on all platforms without requiring platform ifdefs.
|
||||
+ Since these files are part of the Pegasus SDK, their contents should be
|
||||
+ the minimum that achieves the stated purpose.
|
||||
+
|
||||
+ Examples of differences that are normalized here are support for C++
|
||||
+ namespaces, 64-bit integer type, support for C++ template specialization.
|
||||
+
|
||||
+ Examples of things that are not appropriate in these files are the enablement
|
||||
+ of Pegasus features for a specific platform and other build configuration.
|
||||
+******************************************************************************/
|
||||
+
|
||||
+#ifndef Pegasus_Platform_LINUX_SW_64_GNU_h
|
||||
+#define Pegasus_Platform_LINUX_SW_64_GNU_h
|
||||
+
|
||||
+#include <stddef.h>
|
||||
+
|
||||
+#define PEGASUS_OS_TYPE_UNIX
|
||||
+
|
||||
+#ifndef PEGASUS_PLATFORM_LINUX_GENERIC_GNU
|
||||
+#define PEGASUS_PLATFORM_LINUX_GENERIC_GNU
|
||||
+#endif
|
||||
+
|
||||
+#define PEGASUS_OS_LINUX
|
||||
+
|
||||
+#define PEGASUS_POINTER_64BIT
|
||||
+
|
||||
+#define PEGASUS_COMPILER_GNU
|
||||
+
|
||||
+#define PEGASUS_UINT64 unsigned long long
|
||||
+
|
||||
+#define PEGASUS_SINT64 long long
|
||||
+
|
||||
+#define PEGASUS_HAVE_NAMESPACES
|
||||
+
|
||||
+#define PEGASUS_HAVE_FOR_SCOPE
|
||||
+
|
||||
+#define PEGASUS_HAVE_TEMPLATE_SPECIALIZATION
|
||||
+
|
||||
+#ifndef _GNU_SOURCE
|
||||
+#define _GNU_SOURCE
|
||||
+#endif
|
||||
+#ifndef _REENTRANT
|
||||
+#define _REENTRANT
|
||||
+#endif
|
||||
+#define _THREAD_SAFE
|
||||
+#include <features.h>
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <sys/param.h> /* For MAXHOSTNAMELEN */
|
||||
+#include <limits.h> /* _POSIX_HOST_NAME_MAX */
|
||||
+
|
||||
+#if (__GNUC__ >= 4)
|
||||
+# define PEGASUS_EXPORT __attribute__ ((visibility("default")))
|
||||
+# define PEGASUS_IMPORT __attribute__ ((visibility("default")))
|
||||
+# define PEGASUS_HIDDEN_LINKAGE __attribute__((visibility("hidden")))
|
||||
+#endif
|
||||
+
|
||||
+#define PEGASUS_HAVE_PTHREADS
|
||||
+
|
||||
+#define PEGASUS_HAVE_NANOSLEEP
|
||||
+
|
||||
+#define PEGASUS_HAS_SIGNALS
|
||||
+
|
||||
+#define PEGASUS_INTEGERS_BOUNDARY_ALIGNED
|
||||
+
|
||||
+/* getifaddrs() avilable in gcc version >= 3.4 */
|
||||
+#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4))
|
||||
+# define PEGASUS_HAS_GETIFADDRS
|
||||
+#endif
|
||||
+
|
||||
+/* use POSIX read-write locks on this platform */
|
||||
+#define PEGASUS_USE_POSIX_RWLOCK
|
||||
+
|
||||
+#endif /* Pegasus_Platform_LINUX_SW_64_GNU_h */
|
||||
diff --git a/src/SDK/samples/mak/platform_LINUX_SW_64_GNU.mak b/src/SDK/samples/mak/platform_LINUX_SW_64_GNU.mak
|
||||
new file mode 100644
|
||||
index 0000000..eee4887
|
||||
--- /dev/null
|
||||
+++ b/src/SDK/samples/mak/platform_LINUX_SW_64_GNU.mak
|
||||
@@ -0,0 +1,33 @@
|
||||
+#//%LICENSE////////////////////////////////////////////////////////////////
|
||||
+#//
|
||||
+#// Licensed to The Open Group (TOG) under one or more contributor license
|
||||
+#// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
|
||||
+#// this work for additional information regarding copyright ownership.
|
||||
+#// Each contributor licenses this file to you under the OpenPegasus Open
|
||||
+#// Source License; you may not use this file except in compliance with the
|
||||
+#// License.
|
||||
+#//
|
||||
+#// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
+#// copy of this software and associated documentation files (the "Software"),
|
||||
+#// to deal in the Software without restriction, including without limitation
|
||||
+#// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
+#// and/or sell copies of the Software, and to permit persons to whom the
|
||||
+#// Software is furnished to do so, subject to the following conditions:
|
||||
+#//
|
||||
+#// The above copyright notice and this permission notice shall be included
|
||||
+#// in all copies or substantial portions of the Software.
|
||||
+#//
|
||||
+#// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
+#// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
+#// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
+#// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
+#// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
+#// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
+#// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
+#//
|
||||
+#//////////////////////////////////////////////////////////////////////////
|
||||
+
|
||||
+CXX_MACHINE_OPTIONS =
|
||||
+LINK_MACHINE_OPTIONS =
|
||||
+
|
||||
+include $(ROOT)/mak/platform_LINUX_GNU.mak
|
||||
--
|
||||
2.33.0
|
||||
|
||||
Binary file not shown.
@ -6,7 +6,7 @@
|
||||
|
||||
Name: tog-pegasus
|
||||
Version: %{major_ver}.1
|
||||
Release: 51
|
||||
Release: 52
|
||||
Epoch: 2
|
||||
Summary: OpenPegasus WBEM Services for Linux
|
||||
License: MIT
|
||||
@ -36,6 +36,8 @@ Patch15: pegasus-2.13.0-gcc5-build.patch
|
||||
Patch16: pegasus-2.14.1-build-fixes.patch
|
||||
Patch17: pegasus-2.14.1-ssl-include.patch
|
||||
Patch18: pegasus-2.14.1-openssl-1.1-fix.patch
|
||||
Patch3000: 3000-add-loongarch64-support.patch
|
||||
Patch3001: 3001-add-sw_64-support.patch
|
||||
|
||||
BuildRequires: procps libstdc++ pam-devel openssl openssl-devel
|
||||
BuildRequires: bash sed grep coreutils procps gcc gcc-c++ libstdc++
|
||||
@ -77,6 +79,12 @@ Header files for tog-pegasus
|
||||
%ifarch aarch64
|
||||
%global PEGASUS_HARDWARE_PLATFORM LINUX_AARCH64_GNU
|
||||
%endif
|
||||
%ifarch loongarch64
|
||||
%global PEGASUS_HARDWARE_PLATFORM LINUX_LOONGARCH64_GNU
|
||||
%endif
|
||||
%ifarch sw_64
|
||||
%global PEGASUS_HARDWARE_PLATFORM LINUX_SW_64_GNU
|
||||
%endif
|
||||
|
||||
%global PEGASUS_ARCH_LIB %{_lib}
|
||||
%global OPENSSL_HOME %{_prefix}
|
||||
@ -125,6 +133,8 @@ yes | mak/CreateDmtfSchema 238 %{SOURCE4} cim_schema_2.38.0
|
||||
%patch16 -p1 -b .build-fixes
|
||||
%patch17 -p1 -b .ssl-include
|
||||
%patch18 -p1 -b .openssl-1.1-fix
|
||||
%patch3000 -p1 -b .add-loongarch64-support
|
||||
%patch3001 -p1 -b .add-sw_64-support
|
||||
|
||||
%build
|
||||
cp -fp %SOURCE3 rpm
|
||||
@ -365,6 +375,9 @@ fi
|
||||
%{_mandir}/man1/*
|
||||
|
||||
%changelog
|
||||
* Thu Aug 10 2023 yeqinglong <yeqinglong@kylinsec.com.cn> - 2:2.14.1-52
|
||||
- add loongarch64 and sw_64 support
|
||||
|
||||
* Tue Aug 31 2021 caodongxia <caodongxia@huawei.com> - 2:2.14.1-51
|
||||
- Fix help package install warning
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user