Ref:
https://github.com/intel/ipmctl/releases/tag/v03.00.00.0302

Signed-off-by: Naveen Saini <[email protected]>
---
 ...SERT-and-NULL-definition-so-we-can-c.patch | 66 +++++++++++++++++++
 .../ipmctl/ipmctl_02.00.00.3869.bb            | 27 --------
 .../ipmctl/ipmctl_03.00.00.0302.bb            | 39 +++++++++++
 3 files changed, 105 insertions(+), 27 deletions(-)
 create mode 100644 
dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-Ignore-STATIC_ASSERT-and-NULL-definition-so-we-can-c.patch
 delete mode 100644 
dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl_02.00.00.3869.bb
 create mode 100644 
dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl_03.00.00.0302.bb

diff --git 
a/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-Ignore-STATIC_ASSERT-and-NULL-definition-so-we-can-c.patch
 
b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-Ignore-STATIC_ASSERT-and-NULL-definition-so-we-can-c.patch
new file mode 100644
index 00000000..4a3b26c7
--- /dev/null
+++ 
b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-Ignore-STATIC_ASSERT-and-NULL-definition-so-we-can-c.patch
@@ -0,0 +1,66 @@
+From cc0e412ad05574d22938586172c56863666eb2a5 Mon Sep 17 00:00:00 2001
+From: Nolan Hergert <[email protected]>
+Date: Mon, 5 Apr 2021 11:15:09 +0800
+Subject: [PATCH] Ignore STATIC_ASSERT and NULL definition so we can compile in
+ OS
+
+Upstream-Status: Backport [from ipmctl patches; 
https://github.com/intel/ipmctl/blob/development/src/os/patches/0001-Ignore-STATIC_ASSERTs-and-NULL-define-for-os-and-ut-builds.patch]
+
+Signed-off-by: Nolan Hergert <[email protected]>
+Signed-off-by: Naveen Saini <[email protected]>
+---
+ MdePkg/Include/Base.h | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h
+index 8e4271f6ea..c39511a064 100644
+--- a/MdePkg/Include/Base.h
++++ b/MdePkg/Include/Base.h
+@@ -318,7 +318,11 @@ struct _LIST_ENTRY {
+ ///
+ /// NULL pointer (VOID *)
+ ///
++#ifndef OS_BUILD
++#ifndef UNIT_TEST_UEFI_BUILD
+ #define NULL  ((VOID *) 0)
++#endif
++#endif
+ 
+ //
+ // Null character
+@@ -809,7 +813,8 @@ typedef UINTN  *BASE_LIST;
+ // Verify that ProcessorBind.h produced UEFI Data Types that are compliant 
with
+ // Section 2.3.1 of the UEFI 2.3 Specification.
+ //
+-
++#ifndef OS_BUILD
++#ifndef UNIT_TEST_UEFI_BUILD
+ STATIC_ASSERT (sizeof (BOOLEAN) == 1, "sizeof (BOOLEAN) does not meet UEFI 
Specification Data Type requirements");
+ STATIC_ASSERT (sizeof (INT8)    == 1, "sizeof (INT8) does not meet UEFI 
Specification Data Type requirements");
+ STATIC_ASSERT (sizeof (UINT8)   == 1, "sizeof (UINT8) does not meet UEFI 
Specification Data Type requirements");
+@@ -821,6 +826,8 @@ STATIC_ASSERT (sizeof (INT64)   == 8, "sizeof (INT64) does 
not meet UEFI Specifi
+ STATIC_ASSERT (sizeof (UINT64)  == 8, "sizeof (UINT64) does not meet UEFI 
Specification Data Type requirements");
+ STATIC_ASSERT (sizeof (CHAR8)   == 1, "sizeof (CHAR8) does not meet UEFI 
Specification Data Type requirements");
+ STATIC_ASSERT (sizeof (CHAR16)  == 2, "sizeof (CHAR16) does not meet UEFI 
Specification Data Type requirements");
++#endif
++#endif
+ 
+ //
+ // The following three enum types are used to verify that the compiler
+@@ -841,9 +848,13 @@ typedef enum {
+   __VerifyUint32EnumValue = 0xffffffff
+ } __VERIFY_UINT32_ENUM_SIZE;
+ 
++#ifndef OS_BUILD
++#ifndef UNIT_TEST_UEFI_BUILD
+ STATIC_ASSERT (sizeof (__VERIFY_UINT8_ENUM_SIZE) == 4, "Size of enum does not 
meet UEFI Specification Data Type requirements");
+ STATIC_ASSERT (sizeof (__VERIFY_UINT16_ENUM_SIZE) == 4, "Size of enum does 
not meet UEFI Specification Data Type requirements");
+ STATIC_ASSERT (sizeof (__VERIFY_UINT32_ENUM_SIZE) == 4, "Size of enum does 
not meet UEFI Specification Data Type requirements");
++#endif
++#endif
+ 
+ /**
+   Macro that returns a pointer to the data structure that contains a 
specified field of
+-- 
+2.17.1
+
diff --git 
a/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl_02.00.00.3869.bb
 
b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl_02.00.00.3869.bb
deleted file mode 100644
index e424a390..00000000
--- 
a/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl_02.00.00.3869.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Utility for managing Intel Optane DC persistent memory modules"
-DESCRIPTION = "Utility for configuring and managing Intel Optane Persistent \
-Memory modules (PMem). It supports functionality to: \
-Discover DCPMMs on the platform. \
-Provision the platform memory configuration. \
-View and update the firmware on DCPMMs. \
-Configure data-at-rest security on DCPMMs. \
-Track health and performance of DCPMMs. \
-Debug and troubleshoot DCPMMs."
-
-HOMEPAGE = "https://github.com/intel/ipmctl";
-BUGTRACKER = "https://github.com/intel/ipmctl/issues";
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a3eb8e660b3e1c7257002b6fe4141d4f \
-                    
file://thirdpartynotice.txt;md5=cba483cb16e3fc688a1e366c75800e91"
-
-SRC_URI = "git://github.com/intel/ipmctl.git;branch=master_2_0;protocol=https"
-
-SRCREV = "001596fa2c6a3b16dae0a74c004443edd0d01095"
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-DEPENDS = "ndctl"
-
-EXTRA_OECMAKE = "-DRELEASE=ON"
diff --git 
a/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl_03.00.00.0302.bb
 
b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl_03.00.00.0302.bb
new file mode 100644
index 00000000..688ad108
--- /dev/null
+++ 
b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl_03.00.00.0302.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Utility for managing Intel Optane DC persistent memory modules"
+DESCRIPTION = "Utility for configuring and managing Intel Optane Persistent \
+Memory modules (PMem). It supports functionality to: \
+Discover DCPMMs on the platform. \
+Provision the platform memory configuration. \
+View and update the firmware on DCPMMs. \
+Configure data-at-rest security on DCPMMs. \
+Track health and performance of DCPMMs. \
+Debug and troubleshoot DCPMMs."
+
+HOMEPAGE = "https://github.com/intel/ipmctl";
+BUGTRACKER = "https://github.com/intel/ipmctl/issues";
+
+LICENSE = "BSD-3-Clause | BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=72b9da60da6219d612ce30b746a0fe71  \
+                    
file://../edk2/License.txt;md5=2b415520383f7964e96700ae12b4570a"
+
+SRC_URI = 
"git://github.com/intel/ipmctl.git;protocol=https;branch=development;name=ipmctl;
 \
+        
git://github.com/tianocore/edk2.git;protocol=https;name=edk2;destsuffix=edk2; \
+        
file://0001-Ignore-STATIC_ASSERT-and-NULL-definition-so-we-can-c.patch;patchdir=../edk2
 \
+"
+
+SRCREV_ipmctl = "4579c7ec127d6c678ce25136f928b66c7ba51097"
+#tag: edk2-stable202102
+SRCREV_edk2 = "ef91b07388e1c0a50c604e5350eeda98428ccea6"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+DEPENDS = "ndctl"
+
+EXTRA_OECMAKE = "-DRELEASE=ON"
+
+do_configure_prepend() {
+    for dir in BaseTools MdeModulePkg MdePkg ShellPkg ; do
+        ln -sf ../edk2/${dir} ${S}
+    done
+}
-- 
2.17.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#6972): 
https://lists.yoctoproject.org/g/meta-intel/message/6972
Mute This Topic: https://lists.yoctoproject.org/mt/81857335/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-intel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to