From: Wei Gao <[email protected]>

The dmidecode Makefile uses $(shell uname -m) to detect architecture, which
returns the build host's arch (x86_64) during cross-compilation. This causes
x86-only utilities (biosdecode, vpddecode, ownership) to be incorrectly built
and installed on ARM targets.

On NVIDIA Tegra234, running biosdecode triggers a flood of CBB fabric
DECODE_ERR interrupts (23,568+ printk messages dropped) by scanning
non-existent x86 BIOS memory at 0xF0000-0xFFFFF.

Fix by passing TARGET_ARCH to the Makefile's MACHINE variable, so it correctly
detects the target architecture and skips x86-only tools on ARM builds.

Signed-off-by: Wei Gao <[email protected]>
Signed-off-by: Mathieu Dubois-Briand <[email protected]>
Signed-off-by: Ross Burton <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>
(cherry picked from commit 06a28d3a0a83551e0a75441ad2477ad7d2be98f1)
Signed-off-by: Yoann Congal <[email protected]>
---
 meta/recipes-devtools/dmidecode/dmidecode_3.7.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-devtools/dmidecode/dmidecode_3.7.bb 
b/meta/recipes-devtools/dmidecode/dmidecode_3.7.bb
index 93c3678d9a1..5c70765051d 100644
--- a/meta/recipes-devtools/dmidecode/dmidecode_3.7.bb
+++ b/meta/recipes-devtools/dmidecode/dmidecode_3.7.bb
@@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = 
"file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/dmidecode/${BP}.tar.xz"
 
 COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm|powerpc|powerpc64).*-linux"
+EXTRA_OEMAKE += "MACHINE=${TARGET_ARCH}"
 
 do_install() {
     oe_runmake \
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#240203): 
https://lists.openembedded.org/g/openembedded-core/message/240203
Mute This Topic: https://lists.openembedded.org/mt/120131956/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to