mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-29 04:54:27 -04: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;
 | |
| +}
 |