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]>
---
 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 93c3678d9a..5c70765051 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 \
-- 
2.43.0

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

Reply via email to