mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-04 06:54:27 -05:00 
			
		
		
		
	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>
		
			
				
	
	
		
			32 lines
		
	
	
		
			894 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			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;
 | 
						|
+}
 |