From nobody Sat Sep 26 20:50:59 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1788154719; cv=pass; d=zohomail.com; s=zohoarc; b=eV6S2JVosmyHWO2hJuvP0vEgRM1MJiFU2qZWVT8IbpGXsYjzV6Qcv5ts8hUGqnT4P6/sxVrDKx0nwQ8w5OPiyQ05ICgG1eGd0hYy3M6ZDG27CadFpT7JEEgakDueY0m8iARFHULPSEItuKtxC2wSGIaGZR2eKsGM4jZyyI5DDcI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788154719; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ARNvaIjwN9aCJ+utZAZURboj9S0e+Rqs5G/m5k/NbSA=; b=V3HC78GXss/fpLOIo47PlIkGKsIzUxNKteGucLI7ZfVekxzILs5wH5rsJ3aZwTtfdNxq2QNmlXQ3MDaQnMmU932uGm2CXkGhq2y6/kDCk2It6I9gwQkQEs1Jppid0DVQVdhOleka+bjwNNiE0mkw1+Kw3tPATb/cuoHkyoL65hE= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788154719091586.1263635280292; Sun, 30 Aug 2026 22:38:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x0uiD-0004mz-Tl; Mon, 31 Aug 2026 01:37:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x0uiB-0004mM-Nm; Mon, 31 Aug 2026 01:37:39 -0400 Received: from mail-japaneastazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c405::5] helo=TYPPR03CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x0ui9-0000vD-5f; Mon, 31 Aug 2026 01:37:39 -0400 Received: from SI6PR06MB7631.apcprd06.prod.outlook.com (2603:1096:4:239::11) by KUXPR06MB8654.apcprd06.prod.outlook.com (2603:1096:d10:a0::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.13; Mon, 31 Aug 2026 05:37:00 +0000 Received: from SI6PR06MB7631.apcprd06.prod.outlook.com ([fe80::afe5:a3f1:b435:e43c]) by SI6PR06MB7631.apcprd06.prod.outlook.com ([fe80::afe5:a3f1:b435:e43c%6]) with mapi id 15.21.0360.008; Mon, 31 Aug 2026 05:37:00 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dL/hIvX9Fsjc3hO7JHa/3hi5SMm7OPmhIi1HoWPM9ACCvfgQ/b9Oa8jlB5Xvt3dR4Kj1FS1opQJluvg5twO7XdSHSUU4WcVTNY/GAPtGGMqtJbHW5q6Z6B0N1rUXyJ1h4ajliRoK2If/BPlPyCI/Sb6POE1TMJrPFFPw7hgZ4ONFFPFNJ9wsAuGXwZtpM7QN3TiozLAjhsx6ifOT9zzrpLVrEOLGeApeuwe3+st8K8IAvI3suDoilHo65Chl0h4lktUTgX/mLQMucvRNIEd5DV+1GtVEdByOo5y8TswJyZdDTGx7wWT5F8vel5urnMkiZ/2Z6nMmNEX1N0KUg7UWBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ARNvaIjwN9aCJ+utZAZURboj9S0e+Rqs5G/m5k/NbSA=; b=uYem51gxfUPpUgYoHYHsB7wnlt9eoREJZ2D4cSs9NRJKKLn9Qeu9YRg2JiO/SMFt4qiiCrx+45zhY7vzaibmNzj+8DngVDrVhUmQGJIt4coaKgIStZwFgkDob+RcdCqpbexZ06vr7Ry2kYn2NI8X7fS2pB07CTa//3WlZsOQa/+PE9C/6kJwYqHchHwnkcvrrZfvhLJJTeZJDmCGdsxPrzk5TSToTiHKyMw6UdcmafCWX5JNmhtVaKcGafqn8Mni8ehnbda1oVCoY2roTVzTH/lV6d/piokk+AA4fWcHCd6XQsye1+HHFi4ndb7UKvXtxYpz4KY7lqI5+hL5cb9y0A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ARNvaIjwN9aCJ+utZAZURboj9S0e+Rqs5G/m5k/NbSA=; b=JRC6RCTyluc71RlXmq0KR8auXUWeFeQu6V4kyCjSEUJFKOTe3rqjPsC5VvN2ExZ2Ax8Eh680ltAnWz3y8GgHP+k+FNcn/dxqmlXyQSd4g0TNh+lwwRq7VVHCGGgGdJ/dtXu5W5uwdIdoGoNCYheg1Le9h2bcwijL7+XqoOlQDB3PuMT646bzc2A4hYaHdnE/hEFUKyPCQzwkbOIAK7/p74qZY1GysTvghJ8jMB2CwLE9DdUr5Vl6yy8x/TRkSVad54LFpbaFbODmrnpVxYeeD+0XrhfFdzSJQd8pR3bD3501wkasrs3vKVNVdUMnJ3O9GZohF3SDjsxmft5xvG2n2w== From: Kane Chen To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Jamin Lin , Andrew Jeffery , Joel Stanley , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Troy Lee , Kane Chen Subject: [PATCH v1 1/2] hw/misc/aspeed_sbc: Derive ABR state from OTP config straps Thread-Topic: [PATCH v1 1/2] hw/misc/aspeed_sbc: Derive ABR state from OTP config straps Thread-Index: AQHdOQq+cBR9EwprsUu3rVJhF83igA== Date: Mon, 31 Aug 2026 05:37:00 +0000 Message-ID: <20260831053658.462203-2-kane_chen@aspeedtech.com> References: <20260831053658.462203-1-kane_chen@aspeedtech.com> In-Reply-To: <20260831053658.462203-1-kane_chen@aspeedtech.com> Accept-Language: zh-TW, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SI6PR06MB7631:EE_|KUXPR06MB8654:EE_ x-ms-office365-filtering-correlation-id: 67382dbf-b12d-42fe-690a-08df0721e11a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|23010399003|366016|56012099006|10067099003|6133799003|18002099003|22082099003|38070700021; x-microsoft-antispam-message-info: vlQvx3i4eaUF7FCV9AVgTbxEJ/BAfNGRmb3GlG+8uSdQvCcjoQPojCAg57Oksfh6rhXTam8dVXkt5D+HIVKBVIF1ANU7K4faTznc5QqP+y6w6JgENW+yxO4vtKZutnZ14VsoLPCweRjfVqzZBomrJlU/ZauKy0mUu6LR36uDIp2gDK/NswbpH2sPhzXDsSfNEDLiw7fEAVliXBbl92b/Ld1OOxUTVToOvoV/rG2g7W9ZGFKtk4MnQ4DB9XZCz7WDc6uVI4+ZuqoOn6wjhFSKlv/XSMqcBSvNQkZzyygHN7nnow+n6kcMRbLXGh2UaBHumH0bevgsNC2TbWrf374nQKKiekSa42AAk8p1HaqaIW0/TisyV85v6Lz5Nr7Tmyf5Z7of5MPNEkOgcaR8JniGXs4l8CpW8CIiRBc9mm0ar5Np9XmNYC2kN42Q9iky9Fgothm1SfgFWWY+XajAloMtrPUipR07/ydsRtFEqk18NKpLUIn80k23jxZMZFB0UQZe6Yh73Wbayp2ID09tasLOykVt3ERGw4qW5+c9PCjYvv1RX/2k0oDPkE6WZ+gwE/51SShx856kCHlySMhKEMWzlVkydh0Ym5Fk8KpDdlvNLWTuSJAsTy0hPKCtBhtNuWSoE3+hEZjTe/R1qfQUoarccdIa8/WYi60f9M3eGLNmL28TC1/DYfULUE/YSVORD29r9Kugj4PBRYep3oz2w7iy+oXeRfDLWdpee1qC4eWs718= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SI6PR06MB7631.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(23010399003)(366016)(56012099006)(10067099003)(6133799003)(18002099003)(22082099003)(38070700021); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?gbeQehPVeeHZmhltsIBsbfQXPdWoskHaacbq2GXLMU6Rl1ZG5dhHcNWmb5?= =?iso-8859-1?Q?m7HkA8cvq7qolQyo4xc2t3Csd96m3k+bvDslB2/N90mMY/Zs1fMSn/OXwV?= =?iso-8859-1?Q?oqxbKG2jyHpy4J0AApR9FztqtXv4Fqr0sH0zvIOoi0vbjkhnep35yzs8+i?= =?iso-8859-1?Q?JdgnpLEhq93QCJBykbDWfQhbt23gr/vKynbwHmT33sE7GFw5RpA8/AKH9a?= =?iso-8859-1?Q?VflpSgfpclHbXucgiGZPTT+rSfvmzM6/GVfbvWVwzK+eIMjxpfTcl3l0vw?= =?iso-8859-1?Q?S0QR38rai8u9U7lVow3rUXHxh2j1yGIuJfnkOsUF9iB8xmF1jbNs0KEyNW?= =?iso-8859-1?Q?fNQDomKhBM1rwRD8zuutTUZN0tU8lJCNlZg0cVGAaK22TrfWwsMD68WyDv?= =?iso-8859-1?Q?eqGJae/fZwAhPIgedAstPQ0YLlKfd+e+ZzlKtnsLsilngug26TpUgDmX7j?= =?iso-8859-1?Q?4ngG9aCZJzC3wX4t5i0GhmBx0ECQM8LQ8P78bAVP0trt8BI0Mwuc2NUkvd?= =?iso-8859-1?Q?UVYlUWvsWiFiClCL4vMh6ql8d2wyn26PhBT+GykaQLsWC5kvC4nbpQ9Yzz?= =?iso-8859-1?Q?kvGcJW5gkDPm/fQE1xLKoUTWjL67FPxc6Z0TQ8y9ajPTR7VMWrG0tXJgG8?= =?iso-8859-1?Q?d/k2pweJij4aOUoYYXcHFaExnF7ftqHEKLT7LM3B/rxd0SNYqM3nJsH9Up?= =?iso-8859-1?Q?za2LJgkzNWPoR2RPinss76AaE+2l+kFXYa1qhW3tvR/k09M0CdWiJlwIw7?= =?iso-8859-1?Q?QssdYWaTFpolizaWqLUKsRr3/QzEvO+dnPcUuXZP1ky5FgOHC1OvKlqkeU?= =?iso-8859-1?Q?Al3wQDfEnjWMhXUX6ayU7nxgoFtszWsVoNTo40s/a/XeVivzLbmxnh8/56?= =?iso-8859-1?Q?LamXT+ZQmv0uWxYoMvJmgoTggDYMZ8zNBuU9frVCNK8G4nHy0lcLhR0Tgm?= =?iso-8859-1?Q?RdWFwGuWnm5+fc01zl808DTFmNkR4rRxb2UeeSsYtWlSKuxSXRcG0Enpu4?= =?iso-8859-1?Q?pmfW2fkODmh84kmNE+xTyQEzNoZga+CativmAZhfreTrYrdH9JD5uOqynL?= =?iso-8859-1?Q?zBgwp7YIkfp3jp2y4kacdNrGnuKVk9yYLqEDCXWDAyj7kApdVJzOQnJln+?= =?iso-8859-1?Q?mcC7SK2ifIpawPXI6q5vAVxm+CGnNpP2a44c2oRzQtlGUzclK8txBFqpDE?= =?iso-8859-1?Q?w2y997zEg4BKfL76KyL0v338/lGnLmGpmP6V1xvZlM5yYPGDoh2vtvq0e1?= =?iso-8859-1?Q?UgJ0gWL3WDU0pWbw2qUdFB3L3rD3UgoLevgd1OEFkKAb7P4XbBkdJz2mvU?= =?iso-8859-1?Q?gZ7zxVJYwjG1h+TKysr+gkhwvIJ2xcGR0bLyJRJGvIDXPvoUNzhcUs8/KL?= =?iso-8859-1?Q?JBwJknfWaQ1UdM1aRdVO8BGsJ3WAqGSlPH6VV/eiOZXLavhY63nvQqrn8t?= =?iso-8859-1?Q?Gd66U/9epTOSqg9jnI8S3kNWl9yEaPbLJdlPJdqtMHOACy2vfpTI6qvV8D?= =?iso-8859-1?Q?tyXIV3T+l3L6YodNLQ608Y5ttBuWNJFDGFCSW6wmWicpzBaV3RsYllmwri?= =?iso-8859-1?Q?jZ7Bb/F0kHnnDmJprq55KRoVVKGKa7AlxSTfZlFs4prpIfjIfoDuuhku34?= =?iso-8859-1?Q?iBcCAFETnVduUdLsgNcXsBpbE+pqF+Kd5I4Mt84Wg+5rRa01KnkRISHWcy?= =?iso-8859-1?Q?Ka/c85ind/7O7FBSVj8tfWgQ2Wzt0vO3hZDeN9UzGsLcfzSMYRnNvbnIfw?= =?iso-8859-1?Q?SDjGVRTbV+94JwIsS1Ii1+sNnAC0zl7o4cDNIBGaN/FE9nMwNUMOYhXk8H?= =?iso-8859-1?Q?T6qG+hSqmQ=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: 1y10Sw4aI/quGFOs1M8s2x+EmzZOz9PU9osSsPZRlpRnTIqyFPh69KfmsYORegBuo9GZS+1GtWE7xI0chCnlu4aYNMNbRjGFlW2blOdJLXcpUgIKJvqjbFAkPNgJJZCVUpFPhivSUhQlRx7skrQ5C0jZThPk8ZS+sSk5QRIPCmWk9j055bgUeRXhuTf54GqdFfier4fNqSp9ZYrfaZgxtFjW+PGdUTmHmc6ZEdjCpb+YuSI49OnxxEeJNdrz68HjxT0m3h6cbaqFVsaiPMfA3kSY5a+dMbDGvUZeOWV7uDDwn7Aelo+UPGEPAK9E+tmXnFrE+fJLtUxEkfy9TlCJsA== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SI6PR06MB7631.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 67382dbf-b12d-42fe-690a-08df0721e11a X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2026 05:37:00.1296 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: U96jgfnC+Wh8F8qiXqhlrI4SIMkn0E75bRkc+KzUiXlbjobAl32Y6skJAw9C7o3YZ8gGK6f5DgddFR2ESPh64FuzbufsK7vwCsjl8DsJxyA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: KUXPR06MB8654 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c405::5; envelope-from=kane_chen@aspeedtech.com; helo=TYPPR03CU001.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @aspeedtech.com) X-ZM-MESSAGEID: 1788154721990158500 Content-Type: text/plain; charset="utf-8" The eMMC ABR (Alternate Boot Recovery) enable state was controlled by a fixed "emmc-abr" machine property, and the logic reflecting it in R_STATUS was broken so ABR could never actually be reported as enabled. Instead of relying on the property, read the ABR strap value directly from the OTP configuration space and derive the enable state from it, matching how the real hardware determines ABR. The now-unused "emmc-abr" property is removed. Signed-off-by: Kane-Chen-AS Reviewed-by: Jamin Lin --- include/hw/misc/aspeed_sbc.h | 1 - hw/misc/aspeed_sbc.c | 35 ++++++++++++++++++++++++++++++++--- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/include/hw/misc/aspeed_sbc.h b/include/hw/misc/aspeed_sbc.h index 07c7c22a86..7152497b2a 100644 --- a/include/hw/misc/aspeed_sbc.h +++ b/include/hw/misc/aspeed_sbc.h @@ -32,7 +32,6 @@ OBJECT_DECLARE_TYPE(AspeedSBCState, AspeedSBCClass, ASPEE= D_SBC) struct AspeedSBCState { SysBusDevice parent; =20 - bool emmc_abr; uint32_t signing_settings; =20 MemoryRegion iomem; diff --git a/hw/misc/aspeed_sbc.c b/hw/misc/aspeed_sbc.c index 1dfcf14e5b..5d4da39d30 100644 --- a/hw/misc/aspeed_sbc.c +++ b/hw/misc/aspeed_sbc.c @@ -60,6 +60,9 @@ #define MODE_REGISTER_A (0x3000) #define MODE_REGISTER_B (0x5000) =20 +/* OTP Address */ +#define OTP_CFG0 (0x800) + static uint64_t aspeed_sbc_read(void *opaque, hwaddr addr, unsigned int si= ze) { AspeedSBCState *s =3D ASPEED_SBC(opaque); @@ -261,17 +264,44 @@ static const MemoryRegionOps aspeed_sbc_ops =3D { }, }; =20 +static bool aspeed_get_abr_state(AspeedSBCState *s) +{ + uint32_t value; + int i; + bool enable =3D false; + int config_offset; + + /* + * ABR is a strap setting, and each strap setting consists of six + * sub-values. Read all sub-values to retrieve the latest setting. + */ + for (i =3D 17; i < 28; i +=3D 2) { + config_offset =3D OTP_CFG0; + config_offset |=3D (i / 8) * 0x200; + config_offset |=3D (i % 8) * 0x2; + + aspeed_sbc_otp_read(s, config_offset); + value =3D s->regs[R_CAMP1]; + enable ^=3D (value >> 11) & 0x1; + } + + return enable; +} + static void aspeed_sbc_reset_hold(Object *obj, ResetType type) { AspeedSBCState *s =3D ASPEED_SBC(obj); + bool abr; =20 memset(s->regs, 0, sizeof(s->regs)); =20 + abr =3D aspeed_get_abr_state(s); + /* Set secure boot enabled with RSA4096_SHA256 and enable eMMC ABR */ s->regs[R_STATUS] =3D OTP_IDLE | OTP_MEM_IDLE; =20 - if (s->emmc_abr) { - s->regs[R_STATUS] &=3D ABR_EN; + if (abr) { + s->regs[R_STATUS] |=3D ABR_EN; } =20 if (s->signing_settings) { @@ -323,7 +353,6 @@ static const VMStateDescription vmstate_aspeed_sbc =3D { }; =20 static const Property aspeed_sbc_properties[] =3D { - DEFINE_PROP_BOOL("emmc-abr", AspeedSBCState, emmc_abr, 0), DEFINE_PROP_UINT32("signing-settings", AspeedSBCState, signing_setting= s, 0), }; =20 --=20 2.43.0 From nobody Sat Sep 26 20:50:59 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1788154719; cv=pass; d=zohomail.com; s=zohoarc; b=M9VVrCsnjmmWW8pDdFSwEmt9rgTuTZfBvx7j8tnmYV8Ixx4paWDtGI/5yQcW30RKB3UDF/j6sUAenMDSCkMc+KP1ygZFyZ4WhKO2aUPDE8Tkjc8+Lbthe1PkJDyI9g6P1eo7wgi6Au3Tt5JK7llKdNsuwzfRubW0bl+9ETwpH9w= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788154719; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=IS2gsnpkPz8vs6WeNcTF4vqdn3PMNJ/EteCe1l0qiZw=; b=a2xx3zc/GvwCNF2j6F/YfIm0zeWnN9Y1o+yb8UXHolJcI43Cy3KYZECrOGcpe7P0CunEj36G9x5N+9DvuxXCSvuZPcRKq1pyWTIEqcohjztO8exxkn8UgxDuSP+PZiwtxiE7Q/VV4syYl17+uijJSNoysQiFb7BaUnBskmyfNcU= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788154718922499.2619607955163; Sun, 30 Aug 2026 22:38:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x0uiH-0004nx-Bu; Mon, 31 Aug 2026 01:37:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x0uiE-0004n9-HH; Mon, 31 Aug 2026 01:37:42 -0400 Received: from mail-japaneastazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c405::5] helo=TYPPR03CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x0uiC-0000vD-KB; Mon, 31 Aug 2026 01:37:42 -0400 Received: from SI6PR06MB7631.apcprd06.prod.outlook.com (2603:1096:4:239::11) by KUXPR06MB8654.apcprd06.prod.outlook.com (2603:1096:d10:a0::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.13; Mon, 31 Aug 2026 05:37:01 +0000 Received: from SI6PR06MB7631.apcprd06.prod.outlook.com ([fe80::afe5:a3f1:b435:e43c]) by SI6PR06MB7631.apcprd06.prod.outlook.com ([fe80::afe5:a3f1:b435:e43c%6]) with mapi id 15.21.0360.008; Mon, 31 Aug 2026 05:37:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UOgw9XWgMWL6jdcz4V1A2HJdqlYLr1+AHnzD7wjxtErF3XGEGoj6kmbgwr9Y8kEWhO/C1ScOzodEmQ0bpPRgojoFEM5sc1QW0snPI2L3/ZcD73LK0f7abJwL8bWRsRG0VLCoTVFCTeXsdyvR041PgOiBpBzxyJWgO2TGeFc+D8zUMyFIdUW8sI+u9bDpcgTCOA2kRXKwiZUb1hQ64+ZlF7w0l0hTOrQ3oPbtyg2CdtBqX39RAHUS2WROEz2KEKnwKlmravDyG3zLWxb9WanEFCaVKj6SzXCJaIhrrNtJP/CsXQW3oC1iOkr+Ew6P5zHTOMpmQarFRHPelzgGoVJUpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=IS2gsnpkPz8vs6WeNcTF4vqdn3PMNJ/EteCe1l0qiZw=; b=e0zN7llDs479oGUWhuIZReioDG9Bq+0carVQ6aedf4Cl+b+S1oEpoiwwKsAfmutVNylBTq2vBCGv59CsyAljJBahYhB9Ij48ImLqzNQGQWQ23+TiDJOgVt3pDFhni86jWvIrU/ibeHF570u0A/7UmKj8qvNWkNdCHshLU6bt2P/oeasBhrD1zOYV+p9c7ji3noNA/1TVgdaFi6hjw67RGFESxuuAxYurXk8H4z7WHRyeUsdl9kb1mYLlHdU1xxQ6HEhBfR2Bk3VI0Z2PywBiHyEW73QHRzV78Icoa6p+Pavmm56oMyCnLa7MH9Kg66T/2N+aXv+VY5doNY8G4t2J7A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IS2gsnpkPz8vs6WeNcTF4vqdn3PMNJ/EteCe1l0qiZw=; b=ioiX4GmFD0Zv17Kssd+z/aqo0myKXBdlJxiA/uzxrp9eVPjv/hXGiIrvFvxflLrHqVi/YBzfBa8mjhq2PiRyJQub1LnJt5IrVb+7czHihBp42WsZjwqdMllO0G+6UXJ/YeKX8Gb/SOyZJXlXLZJ5iXumaPksJWQrjx3PlNNZAPAdGjit5b/vaEsFr4UkSBbR+Y6VXTSpX9ARgJRDsmRYuoxiOAQ1oBsyCHNM2BshdzdvANRuLNKJk+QIrSu7mLSx8dfchuCnN9MAoZdLqjfrRIC/89t2ugeQkUH0EfGB/Rn4UNexvJVmikmf2v+qXOvIwsqlXD1dCIyApvvuXEN5Zg== From: Kane Chen To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Jamin Lin , Andrew Jeffery , Joel Stanley , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Troy Lee , Kane Chen Subject: [PATCH v1 2/2] hw/misc/aspeed_sbc: Derive secure boot state from OTP config straps Thread-Topic: [PATCH v1 2/2] hw/misc/aspeed_sbc: Derive secure boot state from OTP config straps Thread-Index: AQHdOQq/TjDmmLa7oEyokggEpScsiQ== Date: Mon, 31 Aug 2026 05:37:01 +0000 Message-ID: <20260831053658.462203-3-kane_chen@aspeedtech.com> References: <20260831053658.462203-1-kane_chen@aspeedtech.com> In-Reply-To: <20260831053658.462203-1-kane_chen@aspeedtech.com> Accept-Language: zh-TW, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SI6PR06MB7631:EE_|KUXPR06MB8654:EE_ x-ms-office365-filtering-correlation-id: cdeb0612-3c57-42c4-44f0-08df0721e1b4 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|23010399003|366016|56012099006|10067099003|6133799003|18002099003|22082099003|38070700021; x-microsoft-antispam-message-info: DZ5kpyBfu1tJP02VrQivviGBBGhS2NCBRukwKqliGGdurYnyJYoHVbrlqurYqzMmeJ2ZHCDIY2PtBbAnryeB6JYe6UsmeHF9knE06i5saWCKVMhJiRTUZ/x2it4LGaBdJ3ng4DXnyYqh+gZttgYo6KnP/ESkI4WgRqCjzAKerkgJ+ZF0sezHg8pIlnYanLuSsauVjPiPGngPqU0yERGiqQGCQ9MWlkiCE3B4E65ioL3zsnMuqzERrSNnA5pJQnfqLKLQNH+vM4lYX1vnGVrq0y0FKZ/Z9+Nb6s+Z1BN7XzLSfW2HpQRsUuIM7Rd0KrwE12Gjy9MOJWIpneploOhZ40Cq4Xtcpf+Y4KqA6mN3AHKRNADfFxComF8kL3bKp4JV8G/JNlc/j/zlU4mIWffd/yH1DSPZniMcDamTPVpvzi3XDT8JtZhHJHYaXnUIiAn3vG94dMn8i2c3jFbFK56pXF5jpH9b0jo/lXlHpPMCLYP1WU47eF2jui3miqUXLMInEUKF/CJYcfxW31CbzZ+FUwhfbtRpnhQJJsBT+iUYzPegetwpJ+hnke8yUoRukAaf3fhmARSl9hFPIA3ez2c6aPTzBzDotfppBLWpxBjPEDktvfw5wYspvY188FTPbbKjjkY6P/9c3fylkZ7YN4TFNPI7mLjPeQ9WiQ7vYMagw7wpBR5G9lmANZU419WZzyPBBE6JHTOP5GsEE8Xfi+/fnaQI3wvpfAZ0SyHUZxsJl70= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SI6PR06MB7631.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(23010399003)(366016)(56012099006)(10067099003)(6133799003)(18002099003)(22082099003)(38070700021); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?J53mNIr0VAsOERe1Jwakwod3YoVWkr5r1NeHspieJaa6mRA3Y0FIh358Ce?= =?iso-8859-1?Q?Y9Eh3X7D0hXmBYFtOUtIc5H6rE50Wr0cmHTXMgTo+2Zf2RGSHJD8plOJL0?= =?iso-8859-1?Q?sIW3l0NmJmC/INri2laVJbTSVD90Pxa/ItgqfDcehcsCh6U44N6VmPOBvu?= =?iso-8859-1?Q?8fdxbQViB/1zLEGYuwuVOuGNFWxgqEIIbQjHJAAgYHDV52X6qpZ27iCBsX?= =?iso-8859-1?Q?C+Rock6WHSSgNx8DffgLzSPu6IMVvoda+3Gj3HptxktfkmYFuoN2W1zWlz?= =?iso-8859-1?Q?1vjpJRdy/4YCuMMdZ6ELO7K8yb7f8vOklKUXjz46eAATdWjFyl2hXN2DUX?= =?iso-8859-1?Q?lftvlQha8V6/FRU2RUrTM4YiNo4w/d0XvYtcePSsL0sTzvWbZjv3VGNBUV?= =?iso-8859-1?Q?4GPtIDg33ZTa5hTPfDFrFL5ijYWOSW9rRy8J1OepyHdL0ZM8kaYFYCpMU+?= =?iso-8859-1?Q?9yox8bJArHrEc6pH8mueONispPF3aNUmFXXhvQnNRTeWd9YfI7iOUjafp+?= =?iso-8859-1?Q?dRWWgyCIUQDQMjB3WimimpmwSJPLnxeHxHBlZfekevWw+Cx+nRSDAStGu0?= =?iso-8859-1?Q?WQvQdkvlENRKcXND9fCP7J59KmUthKPJDEik1BNtIPxYdTb9sko2F2byAM?= =?iso-8859-1?Q?qUoE5J7DdkxeCLoWDrPfTev+wHtzJs0b2xCeAIHF30mTwvWzgy+lL3dEtI?= =?iso-8859-1?Q?Ql2YjuFVUXzWPqWaGAYfNuoyTIFZYFXFhhi4fiLm4cWHathlL/R3hXZiF9?= =?iso-8859-1?Q?6x9ezFPA6XFkevg5vSmDLeCQORzzeT90fOzPsli/b7WTteYoQCNNY2eS0i?= =?iso-8859-1?Q?soq9bzYQFcXPLrhzF/QsI8mF/9fFMq0XyykKJX9+oKgI9AJye4+bOZ6UHd?= =?iso-8859-1?Q?40UJbkaF6m6tB8o8hSAXQG7VZhOgi6FfOOs5y8yrkOCFe14s59jLaWfS3R?= =?iso-8859-1?Q?E5In+T/ej3WrxyUGzpPzraVe7dDdJavCkH8IwJ4mNQSiyVmfeBzlqsriJm?= =?iso-8859-1?Q?eTkzGOpSRHygR1RIaShx2nLn8CmwArRo2C90X9HERYYnU+MIYjYfZ4EU4d?= =?iso-8859-1?Q?F7ARsWleQ0nWCA7jl9FUQyjWy+Avd7OVyY/s0c5dpo3t/R22pXRWnoLolS?= =?iso-8859-1?Q?L2w91K9ISS1rfFRUtDj4FZrRnYt9Gk+0Iz783lx4vruQErnvmcLt2XbVnG?= =?iso-8859-1?Q?WEi5XR+gG2ZxT6r/6A8J0T4T7IxTExbq1eYemTslXyyCQaGV+Rx/8KvYLv?= =?iso-8859-1?Q?IMX+jyQU8V539seqiXz+rKkUJ1jDMVBiSBRus9qKl0cC0dxoE/A3bL3EcK?= =?iso-8859-1?Q?r5gu65lnfd6FV1zMJvrknHLNYEQFkr4agM7Ypzc9BiPLyvjvIewVQjyEcl?= =?iso-8859-1?Q?Fq5sGEsmalYpQJv42sY8HwDwCXsSVz06MuIVTsaq6cs9ASludOx4x0DnQa?= =?iso-8859-1?Q?KhaT1/7T4+d/G4rP9WAf2YERQgL3VDgtPp426Yyoc0+4RB4zu7acrDmRXK?= =?iso-8859-1?Q?ovclin6ATR/0dXb22W+czdPfrlBw6ZZX2Oc+3yc+cV5BAPDUQKqY5ydvXC?= =?iso-8859-1?Q?8yb7GhDsfh1wOb1tq6wL65WCIWSQkKLEYud6xxAh0pAOcc7rvIScYZIaOg?= =?iso-8859-1?Q?Ch+NlarT39aSCnLTTkuUJFxxZ3yAPenzujuNow0sj2+0tBoBiad3FaUDIB?= =?iso-8859-1?Q?4YCtX7wgVKbwfljbGAk8zyHKdG5vlbLuz3CT+8rObRtYvBhAc3kvIrHvh6?= =?iso-8859-1?Q?YorgZWfr9jE7g96ck0da7eeTMSiLRtbzkTMrkAiVtjugCxKAKB6iC0OYB5?= =?iso-8859-1?Q?bGcWLQAvzg=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: lhT0u0KlD/3tUi3EbLmwXp1TxkTPZH+FDRw8kZ9Xttevj5vGJEcsysaMnQgpC0jjj5/69d0XHIPLZfvBDbqVq1sjwRtf75e0QpVbiX2IGOQDfJEy+K4OqMSTkzTi1+zsBuV8B20TOgMTPzUaiw8LJbYqkdPdpbAKHhyJtsEcLD9v0kWPy6hmKND3esevFhSKzxrdyNg7m1tXbYXWarFGC1o7s0/cmWfnzLI0ZqDzR64kRCgtwAYX/Y+fB+9i7UgJHEY3nVfI7zIk/ivrJ0E556Bsu+il1nlQIUIIqJHxKF21rdPoske6ioDAny5zcSiP9xSNeJPBN78MunD6PwAp3g== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SI6PR06MB7631.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cdeb0612-3c57-42c4-44f0-08df0721e1b4 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2026 05:37:01.1277 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: pK1owAu567xlnYa4CsOmuIn6C5w6wYgX7Yi+ie5HnKNq/XqzPnQhB7NFObY3MLO6Uykyq1448hx5Daa1qvcPknYgvi4mu9jJIm7ZGfU+SZg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: KUXPR06MB8654 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c405::5; envelope-from=kane_chen@aspeedtech.com; helo=TYPPR03CU001.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @aspeedtech.com) X-ZM-MESSAGEID: 1788154721132154100 Content-Type: text/plain; charset="utf-8" The secure boot enable bit in R_STATUS and the R_QSR signing settings were both driven by a fixed "signing-settings" machine property, but the two ended up inconsistent: the logic guarding the R_STATUS enable bit was broken and never actually set it, while R_QSR still reported the configured signing settings, so a machine could show secure boot configured in R_QSR while R_STATUS said it was disabled. Instead of relying on the property, read the relevant OTP configuration bits directly and derive both the R_STATUS secure boot enable state and the QSR value from them, matching how the real hardware determines these settings. The now-unused "signing-settings" property is removed. Signed-off-by: Kane-Chen-AS Reviewed-by: Jamin Lin --- include/hw/misc/aspeed_sbc.h | 2 -- hw/misc/aspeed_sbc.c | 34 ++++++++++++++++++++++++---------- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/include/hw/misc/aspeed_sbc.h b/include/hw/misc/aspeed_sbc.h index 7152497b2a..474922cbd2 100644 --- a/include/hw/misc/aspeed_sbc.h +++ b/include/hw/misc/aspeed_sbc.h @@ -32,8 +32,6 @@ OBJECT_DECLARE_TYPE(AspeedSBCState, AspeedSBCClass, ASPEE= D_SBC) struct AspeedSBCState { SysBusDevice parent; =20 - uint32_t signing_settings; - MemoryRegion iomem; =20 uint32_t regs[ASPEED_SBC_NR_REGS]; diff --git a/hw/misc/aspeed_sbc.c b/hw/misc/aspeed_sbc.c index 5d4da39d30..ce03f717a9 100644 --- a/hw/misc/aspeed_sbc.c +++ b/hw/misc/aspeed_sbc.c @@ -63,6 +63,19 @@ /* OTP Address */ #define OTP_CFG0 (0x800) =20 +static bool aspeed_sbc_otp_read(AspeedSBCState *s, uint32_t otp_addr); + +static uint32_t aspeed_otp_read_cfg0(AspeedSBCState *s) +{ + uint32_t value =3D 0; + + if (aspeed_sbc_otp_read(s, OTP_CFG0)) { + value =3D s->regs[R_CAMP1]; + } + + return value; +} + static uint64_t aspeed_sbc_read(void *opaque, hwaddr addr, unsigned int si= ze) { AspeedSBCState *s =3D ASPEED_SBC(opaque); @@ -76,7 +89,12 @@ static uint64_t aspeed_sbc_read(void *opaque, hwaddr add= r, unsigned int size) return 0; } =20 - return s->regs[addr]; + switch (addr) { + case R_QSR: + return aspeed_otp_read_cfg0(s); + default: + return s->regs[addr]; + } } =20 static bool aspeed_sbc_otp_read(AspeedSBCState *s, @@ -291,6 +309,7 @@ static bool aspeed_get_abr_state(AspeedSBCState *s) static void aspeed_sbc_reset_hold(Object *obj, ResetType type) { AspeedSBCState *s =3D ASPEED_SBC(obj); + uint32_t value; bool abr; =20 memset(s->regs, 0, sizeof(s->regs)); @@ -304,11 +323,11 @@ static void aspeed_sbc_reset_hold(Object *obj, ResetT= ype type) s->regs[R_STATUS] |=3D ABR_EN; } =20 - if (s->signing_settings) { - s->regs[R_STATUS] &=3D SECURE_BOOT_EN; - } + value =3D aspeed_otp_read_cfg0(s); =20 - s->regs[R_QSR] =3D s->signing_settings; + if (value & BIT(1)) { + s->regs[R_STATUS] |=3D SECURE_BOOT_EN; + } } =20 static void aspeed_sbc_instance_init(Object *obj) @@ -352,10 +371,6 @@ static const VMStateDescription vmstate_aspeed_sbc =3D= { } }; =20 -static const Property aspeed_sbc_properties[] =3D { - DEFINE_PROP_UINT32("signing-settings", AspeedSBCState, signing_setting= s, 0), -}; - static void aspeed_sbc_class_init(ObjectClass *klass, const void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); @@ -364,7 +379,6 @@ static void aspeed_sbc_class_init(ObjectClass *klass, c= onst void *data) dc->realize =3D aspeed_sbc_realize; rc->phases.hold =3D aspeed_sbc_reset_hold; dc->vmsd =3D &vmstate_aspeed_sbc; - device_class_set_props(dc, aspeed_sbc_properties); } =20 =20 --=20 2.43.0