From abc2821286e4d9ccc98146a5bc3cf3f8e1ff4b9f Mon Sep 17 00:00:00 2001
From: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Date: Thu, 30 Dec 2021 03:52:07 +0100
Subject: x86: improve sysinfo handling of dummy values

Fall back to using board_vendor and board_name, if known dummy values
are used for sys_vendor and product_name.

Examples:
	To be filled by O.E.M.:To be filled by O.E.M.
-->	INTEL Corporation:ChiefRiver

	System manufacturer:System Product Name
-->	ASUSTeK COMPUTER INC.:P8H77-M PRO

	To Be Filled By O.E.M.:To Be Filled By O.E.M.
-->	ASRock:Q1900DC-ITX

	Gigabyte Technology Co., Ltd.:To be filled by O.E.M.
-->	Gigabyte Technology Co., Ltd.:H77M-D3H

	empty:empty
-->	TYAN Computer Corporation:TYAN Toledo i3210W/i3200R S5211

	To Be Filled By O.E.M.:To Be Filled By O.E.M.
-->	ASRock:H77 Pro4-M

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
---
 target/linux/x86/base-files/lib/preinit/01_sysinfo | 12 ++++++++++++
 1 file changed, 12 insertions(+)

(limited to 'target/linux/x86/base-files')

diff --git a/target/linux/x86/base-files/lib/preinit/01_sysinfo b/target/linux/x86/base-files/lib/preinit/01_sysinfo
index 498b076998..97e8e003f3 100644
--- a/target/linux/x86/base-files/lib/preinit/01_sysinfo
+++ b/target/linux/x86/base-files/lib/preinit/01_sysinfo
@@ -12,12 +12,24 @@ do_sysinfo_x86() {
 
 	for file in sys_vendor board_vendor; do
 		vendor="$(cat /sys/devices/virtual/dmi/id/$file 2>/dev/null)"
+		case "$vendor" in
+		empty | \
+		System\ manufacturer | \
+		To\ [bB]e\ [fF]illed\ [bB]y\ O\.E\.M\.)
+			continue
+			;;
+		esac
 		[ -n "$vendor" ] && break
 	done
 
 	for file in product_name board_name; do
 		product="$(cat /sys/devices/virtual/dmi/id/$file 2>/dev/null)"
 		case "$vendor:$product" in
+		?*:empty | \
+		?*:System\ Product\ Name | \
+		?*:To\ [bB]e\ [fF]illed\ [bB]y\ O\.E\.M\.)
+			continue
+			;;
 		"PC Engines:APU")
 			product="apu1"
 			break
-- 
cgit v1.2.3