diff options
Diffstat (limited to 'dynamic-layers/openembedded-layer/recipes-support/ipmctl')
3 files changed, 144 insertions, 0 deletions
diff --git a/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-CMakeLists-disable-Werror.patch b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-CMakeLists-disable-Werror.patch new file mode 100644 index 00000000..4474aa3c --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-CMakeLists-disable-Werror.patch | |||
@@ -0,0 +1,38 @@ | |||
1 | From ef56be8e6bf2ea273cbeb960f3131164e7b517b6 Mon Sep 17 00:00:00 2001 | ||
2 | From: Anuj Mittal <anuj.mittal@intel.com> | ||
3 | Date: Wed, 18 May 2022 12:24:03 +0800 | ||
4 | Subject: [PATCH] CMakeLists: disable Werror | ||
5 | |||
6 | gcc12 highlights minor warnings that cause the build to fail. Ignore | ||
7 | those until they aren't fixed upstream. | ||
8 | |||
9 | Upstream-Status: Inappropriate | ||
10 | |||
11 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
12 | --- | ||
13 | CMakeLists.txt | 4 ++-- | ||
14 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
15 | |||
16 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
17 | index 418483f7..c019fea0 100644 | ||
18 | --- a/CMakeLists.txt | ||
19 | +++ b/CMakeLists.txt | ||
20 | @@ -146,7 +146,7 @@ else() | ||
21 | set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -fno-strict-aliasing -D_FORTIFY_SOURCE=2") | ||
22 | if(LNX_BUILD) | ||
23 | #A few warnings yet to resolve under esx | ||
24 | - set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Werror") | ||
25 | + #set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Werror") | ||
26 | set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Werror") | ||
27 | endif() | ||
28 | set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -ggdb") | ||
29 | @@ -791,4 +791,4 @@ if(ESX_BUILD) | ||
30 | include(CMake/esx.cmake) | ||
31 | endif() | ||
32 | |||
33 | -add_subdirectory(src/os/nvm_api_sample) | ||
34 | \ No newline at end of file | ||
35 | +add_subdirectory(src/os/nvm_api_sample) | ||
36 | -- | ||
37 | 2.35.3 | ||
38 | |||
diff --git a/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-Ignore-STATIC_ASSERTs-and-NULL-define-for-os-and-ut-builds.patch b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-Ignore-STATIC_ASSERTs-and-NULL-define-for-os-and-ut-builds.patch new file mode 100644 index 00000000..11305e83 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-Ignore-STATIC_ASSERTs-and-NULL-define-for-os-and-ut-builds.patch | |||
@@ -0,0 +1,59 @@ | |||
1 | Subject: [PATCH] [PATCH]: ignore static asserts and null define for os and ut | ||
2 | builds | ||
3 | Upstream-Status: Backport | ||
4 | Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com> | ||
5 | --- | ||
6 | MdePkg/Include/Base.h | 12 ++++++++++++ | ||
7 | 1 file changed, 12 insertions(+) | ||
8 | |||
9 | diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h | ||
10 | index d209e6de28..6e61b8f3d3 100644 | ||
11 | --- a/MdePkg/Include/Base.h | ||
12 | +++ b/MdePkg/Include/Base.h | ||
13 | @@ -316,8 +316,12 @@ struct _LIST_ENTRY { | ||
14 | #define NULL __null | ||
15 | #endif | ||
16 | #else | ||
17 | +#ifndef OS_BUILD | ||
18 | +#ifndef UNIT_TEST_UEFI_BUILD | ||
19 | #define NULL ((VOID *) 0) | ||
20 | #endif | ||
21 | +#endif | ||
22 | +#endif | ||
23 | |||
24 | // | ||
25 | // Null character | ||
26 | @@ -779,6 +783,8 @@ typedef UINTN *BASE_LIST; | ||
27 | // Section 2.3.1 of the UEFI 2.3 Specification. | ||
28 | // | ||
29 | |||
30 | +#ifndef OS_BUILD | ||
31 | +#ifndef UNIT_TEST_UEFI_BUILD | ||
32 | STATIC_ASSERT (sizeof (BOOLEAN) == 1, "sizeof (BOOLEAN) does not meet UEFI Specification Data Type requirements"); | ||
33 | STATIC_ASSERT (sizeof (INT8) == 1, "sizeof (INT8) does not meet UEFI Specification Data Type requirements"); | ||
34 | STATIC_ASSERT (sizeof (UINT8) == 1, "sizeof (UINT8) does not meet UEFI Specification Data Type requirements"); | ||
35 | @@ -792,6 +798,8 @@ STATIC_ASSERT (sizeof (CHAR8) == 1, "sizeof (CHAR8) does not meet UEFI Specifi | ||
36 | STATIC_ASSERT (sizeof (CHAR16) == 2, "sizeof (CHAR16) does not meet UEFI Specification Data Type requirements"); | ||
37 | STATIC_ASSERT (sizeof (L'A') == 2, "sizeof (L'A') does not meet UEFI Specification Data Type requirements"); | ||
38 | STATIC_ASSERT (sizeof (L"A") == 4, "sizeof (L\"A\") does not meet UEFI Specification Data Type requirements"); | ||
39 | +#endif | ||
40 | +#endif | ||
41 | |||
42 | // | ||
43 | // The following three enum types are used to verify that the compiler | ||
44 | @@ -812,9 +820,13 @@ typedef enum { | ||
45 | __VerifyUint32EnumValue = 0xffffffff | ||
46 | } __VERIFY_UINT32_ENUM_SIZE; | ||
47 | |||
48 | +#ifndef OS_BUILD | ||
49 | +#ifndef UNIT_TEST_UEFI_BUILD | ||
50 | STATIC_ASSERT (sizeof (__VERIFY_UINT8_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements"); | ||
51 | STATIC_ASSERT (sizeof (__VERIFY_UINT16_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements"); | ||
52 | STATIC_ASSERT (sizeof (__VERIFY_UINT32_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements"); | ||
53 | +#endif | ||
54 | +#endif | ||
55 | |||
56 | /** | ||
57 | Macro that returns a pointer to the data structure that contains a specified field of | ||
58 | -- | ||
59 | 2.37.3 | ||
diff --git a/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl_03.00.00.0485.bb b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl_03.00.00.0485.bb new file mode 100644 index 00000000..c4743d1c --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl_03.00.00.0485.bb | |||
@@ -0,0 +1,47 @@ | |||
1 | SUMMARY = "Utility for managing Intel Optane DC persistent memory modules" | ||
2 | DESCRIPTION = "Utility for configuring and managing Intel Optane Persistent \ | ||
3 | Memory modules (PMem). It supports functionality to: \ | ||
4 | Discover DCPMMs on the platform. \ | ||
5 | Provision the platform memory configuration. \ | ||
6 | View and update the firmware on DCPMMs. \ | ||
7 | Configure data-at-rest security on DCPMMs. \ | ||
8 | Track health and performance of DCPMMs. \ | ||
9 | Debug and troubleshoot DCPMMs." | ||
10 | |||
11 | HOMEPAGE = "https://github.com/intel/ipmctl" | ||
12 | BUGTRACKER = "https://github.com/intel/ipmctl/issues" | ||
13 | |||
14 | LICENSE = "BSD-3-Clause | BSD-2-Clause" | ||
15 | LIC_FILES_CHKSUM = "file://LICENSE;md5=72b9da60da6219d612ce30b746a0fe71 \ | ||
16 | file://edk2/License.txt;md5=6123e5bf044a66db96c4ce88a36b2d08" | ||
17 | |||
18 | SRC_URI = "git://github.com/intel/ipmctl.git;protocol=https;branch=master;name=ipmctl; \ | ||
19 | git://github.com/tianocore/edk2.git;protocol=https;name=edk2;destsuffix=git/edk2;branch=master \ | ||
20 | file://0001-Ignore-STATIC_ASSERTs-and-NULL-define-for-os-and-ut-builds.patch;patchdir=edk2 \ | ||
21 | file://0001-CMakeLists-disable-Werror.patch \ | ||
22 | " | ||
23 | |||
24 | SRCREV_ipmctl = "c75bd840ea7820c8f93a5488fcff75d08beedd51" | ||
25 | #tag edk2-stable202302 | ||
26 | SRCREV_edk2 = "f80f052277c88a67c55e107b550f504eeea947d3" | ||
27 | SRCREV_FORMAT = "ipmctl_edk2" | ||
28 | |||
29 | S = "${WORKDIR}/git" | ||
30 | |||
31 | inherit cmake dos2unix | ||
32 | |||
33 | DEPENDS = "ndctl pkgconfig-native" | ||
34 | |||
35 | EXTRA_OECMAKE = "-DRELEASE=ON" | ||
36 | |||
37 | do_configure:prepend() { | ||
38 | for dir in BaseTools MdeModulePkg MdePkg ShellPkg ; do | ||
39 | ln -sf edk2/${dir} ${S} | ||
40 | done | ||
41 | } | ||
42 | |||
43 | do_install:append() { | ||
44 | # Remove /var/log/ipmctl as anything created in /var/log will not be | ||
45 | # available when tmpfs is mounted at /var/volatile/log. | ||
46 | rm -rf ${D}${localstatedir}/log | ||
47 | } | ||