openwrt/package/system/iucode-tool/patches/200_add-cpuid-compatibility-header-to-build-on-non-x86.patch
Sergey V. Lobanov e6a4f30ed7 iucode-tool: fix host-compile on macos and non-x86 linux
iucode-tool/host is used by intel-microcode to manipulate with
microcode.bin file. iucode-tool requires cpuid.h at compile time
for autodection feature, but non-x86 build hosts does not have
this header file (e.g. ubuntu 20.04 aarch64) or this header
generates compile time error (#error macro) (e.g. macos arm64).

This patch provides compat cpuid.h to build iucode-tool/host on
non-x86 linux hosts and macos. CPU autodectection is not required
for intel-microcode package build so compat cpuid.h is ok for
OpenWrt purposes.

glibc and argp lib are not present in macos so iucode-tool/host
build fails. This patch adds argp-standalone/host as build
dependency if host os is macos.

Generated ucode (intel-microcode package) is exactly the same on
Linux x86_64 (Ubuntu 20.04), Linux aarch64 (Ubuntu 20.04) and
Darwin arm64 (MacOS 11.6) build hosts.

Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
2022-02-26 19:52:41 +01:00

32 lines
894 B
Diff

From a21e75da32c0016f1575ea29775565934a67660d Mon Sep 17 00:00:00 2001
From: "Sergey V. Lobanov" <sergey@lobanov.in>
Date: Sat, 5 Feb 2022 13:10:23 +0300
Subject: [PATCH] Add cpuid compatibility header to build on non-x86 hosts
Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
---
cpuid-compat/cpuid.h | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
create mode 100644 cpuid-compat/cpuid.h
--- /dev/null
+++ b/cpuid-compat/cpuid.h
@@ -0,0 +1,17 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * cpuid compatibility header to build iucode-tool on non-x86 hosts
+ *
+ * Copyright (C) 2022 Sergey V. Lobanov <sergey@lobanov.in>
+ */
+
+#ifdef __APPLE__
+# include <limits.h>
+#endif
+
+static __inline int __get_cpuid (unsigned int leaf,
+ unsigned int *eax, unsigned int *ebx,
+ unsigned int *ecx, unsigned int *edx)
+{
+ return 0;
+}