From nobody Wed Feb 11 04:18:34 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=1770700333; cv=pass; d=zohomail.com; s=zohoarc; b=kcq8nCHAdVirYF486gMJtwVr8QXZxvu86tdrRTZT2vvooX1BbLxzklIHeN6rvkh0Wx9NnZG+ItriprhVQSUYYtSgixZ1ETJItkvVfQ6/CzthQ16TTX6IKCJ227wj/M0PcATZwE8BDoXZ1Z9ZZ6ihXDv/QBQy5SSnTPfBPWtNPVU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770700333; 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=br+QEf8Nj8kSFwTCV+J7cXjK/u1NBiM/tYaDeCxcdWs=; b=St9AV8SM334WIieV+Pvk8Wld/qh1qw1N8AGAlne553yhVaI8TYJMhEg1Jqzv1rOX8gL1AZVqc0bcQLp2/vafDSzKTr9XOj1vk73coPKdomG/8eehxRxBHABHb3jEF5ZTJO76tH0tpXd3BrWUTMvIBTM5GPQXlsHTQDdai4OPoLs= 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17707003332671008.9698592661794; Mon, 9 Feb 2026 21:12:13 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vpg1R-0003CH-GP; Tue, 10 Feb 2026 00:10:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vpg1L-00037t-Dd; Tue, 10 Feb 2026 00:10:44 -0500 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 1vpg1I-0000Go-Gq; Tue, 10 Feb 2026 00:10:43 -0500 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19) by TY1PPF9851F8D71.apcprd06.prod.outlook.com (2603:1096:408::91f) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9564.15; Tue, 10 Feb 2026 05:10:19 +0000 Received: from TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com ([fe80::e659:1ead:77cb:f6d3%3]) with mapi id 15.20.9587.017; Tue, 10 Feb 2026 05:10:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PL4Wtn91uvS7OcVuygQgodT1iHCj4wGl6XRzSwZ1wJEVUYxXXYXVpe7CShxPPST8uGMhtOxyi55QNvtWaIMdcYQZxcw/zd2S9zhIX6jW6FSvzVzWdl9R356LyMSRkVRsscF8oozerJ4tsfLka+iIxwH1p1yFM8j720oeByrF6Grhw+EHUatdAA4cSQ5TFN7t/w92eHksw00rW1KHKlB6Q2kzZdcbsyhtThZrQH5jxIDOr+L0ARsZ75yd8W6oxS16oUJXM98hlleuTW1xU55WFB7DIzGOQ9RhNpZA0IS+u3f7VQe88dfWFMyF+RveRbsrGXeIkp0oO9dp0m9XiUjXfQ== 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=br+QEf8Nj8kSFwTCV+J7cXjK/u1NBiM/tYaDeCxcdWs=; b=dXbvo+IRn2UJtznCaEQAKHZIW/b10OXY8AAw+aQ1tNYO7cM/zIxiQd2bynW75SPdGtn6L4XnL5DanC0ojD5Urch7o2gEXheDaJ8X95L5bqTPCRlxtjBGH7BoFtWJzxDhE/4Ac1CxvHBBEjotfcD57/GGMVMm/wcthR0hbEAkuxBGAV5JgyuSpYMrth5sToM9/tTFShEiVQpCGEub3m3k+KJx9Xc1zIZiEhHAL5y2JBVrDciani7oIsKdDkVmphpcD8itrXSSc7rYr7r0H1RTn2BUQ3bt2KQYLw95z+rfiWQxtW90bZRkWKfMQQIyoibHcBRDIiJK+1BHSpQQKtOLjA== 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=br+QEf8Nj8kSFwTCV+J7cXjK/u1NBiM/tYaDeCxcdWs=; b=awteZQyK6WNoRV01q6nj/rw3SWay0rkaXBezL+W/KywoTdhHh6Fyndy0VYU7jtT5KTfgGADA3kP+oKeG4KDH44O4rV7++DmBvRVMvngmQMLLgBFrXJk/nHZ6xy5JARRhiRdaaJhReO0ZMqKyzy14SPlbUipf+t+z6L3JA9eDZ2ZmEHWwH3MsNoNn3K22nOOelwHxbpVd1rMiA2bJJzicErwz8lK3fuRafyNiNuAiQWAQZSI9bn/5GWHP+okRU/asJ4UimrxCgdijII0larZVX6G+835ZJi3UDgnNB6MckJk8pEpWuyuutVaw9xREWpGTJIftgwVT/E6GqPUc5OkgkA== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , Joel Stanley , Fabiano Rosas , Laurent Vivier , Paolo Bonzini , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , Kane Chen , "nabihestefan@google.com" Subject: [PATCH v2 08/11] tests/functional/aarch64/test_aspeed_ast2700: Add AST2700 A2 EVB functional tests Thread-Topic: [PATCH v2 08/11] tests/functional/aarch64/test_aspeed_ast2700: Add AST2700 A2 EVB functional tests Thread-Index: AQHcmkuMY3Xq9yXsV0qMkx9bBAe6vg== Date: Tue, 10 Feb 2026 05:10:18 +0000 Message-ID: <20260210051008.355149-9-jamin_lin@aspeedtech.com> References: <20260210051008.355149-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260210051008.355149-1-jamin_lin@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: TYPPR06MB8206:EE_|TY1PPF9851F8D71:EE_ x-ms-office365-filtering-correlation-id: 7394f46e-8cbc-48da-f678-08de6862af38 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|7416014|1800799024|366016|921020|7142099003|38070700021; x-microsoft-antispam-message-info: =?iso-8859-1?Q?AlRfqu8WBgEiTl+THlQkb6NwS3jA+sG/QiWFxbHrW2/7WQ96VYxGVpCk5l?= =?iso-8859-1?Q?/KtlF2+e8b2XfSgntQwkmulVmemC8ybtLojEmmQJH1bWAmA+XYObp9yXtG?= =?iso-8859-1?Q?5Td+6e5LZcIxms5jxF7jVcjE03yy/1b74345nuN2nx3jDH46fXRS7IAKn7?= =?iso-8859-1?Q?LdKgZjkEAB9srjpzOE+NoWuByNKDDRTICdN4vuUsZOYmsegxX+auiEk6Kt?= =?iso-8859-1?Q?QYHv46+1X2R6ktkpTxqZXegKLDaFUFkf0ssuw1Cexg+ZPCeABCfULTMEYX?= =?iso-8859-1?Q?q2d5nzkWDSKT6dVsx71ZiBd2LNYpN2o3mvlTObgpMKpiUeKbomspSwYcyn?= =?iso-8859-1?Q?M0iZ39hMJrSLMYyS09ke7JqiYXoyYruHBAHxOY3ilhx/xWj4tKIDSU/mtT?= =?iso-8859-1?Q?MR9dnbBU20NdqXviRJeTBDX8EV0sXIv6Z/cKUNh2HVRKK0p1Z86QL89ENG?= =?iso-8859-1?Q?130JEDIG15rMlRxZCVwCg6BKMxjgTaUAUWvJVenbytOlgUo6rg9IRpfLN/?= =?iso-8859-1?Q?D0BN9MJJgyWzqWzU49XD947fi8mwT2vwexEZLlqumd7RdWsPHlWcRLBg26?= =?iso-8859-1?Q?tDQr5iQmyUaRTy4TnMwa0B/MjKiOoM6oHA9viO9m+X/Q+8u9DxwQFbCW+Q?= =?iso-8859-1?Q?y0hYn4UEbf93dvuQh0SapWqNjVSM5uLjqx2Jt9nji53793kqq8TtKEXc3K?= =?iso-8859-1?Q?4WIf36fOaSbHEvemjZdh+2ki90BnzoGsPOZVpixyRmc3LMPxwUauLguTal?= =?iso-8859-1?Q?9Vk7LdKOcmz8SlnyR+fh/nV+eiWKz8Z1MgbitTLoDodMjH4Shn5b6tfViP?= =?iso-8859-1?Q?kAg16zA64XwBWIor5fq4PSO1+TNmBblZnDYXehdVXh0FTJT9/+BdDiqofX?= =?iso-8859-1?Q?gPnW/IJnf6YfC8HU+bbAhZaA6NkNcJ+nM3XMX3j96FttnaSGYUPEg4rx+s?= =?iso-8859-1?Q?b0VO+VOaeMCA/qQxU6J5drXPGbRye0fT8UM0mHACkgx7fCBw7yBavGmiTF?= =?iso-8859-1?Q?FKf8qwvf1VSevlbCVEzJQaQFm+JhtVtx+ZYUOp8XoZmynU3QhlNiBDZlK9?= =?iso-8859-1?Q?vVD3O1OoHgad4xLgt7j3s10/Gbz1beHcFQAjdGEzG2G5EGZ3LPP00Mm0Dc?= =?iso-8859-1?Q?w6RNDUGsguVQvBuMRD6K6daLWVfLrN8qXvtFem02v+ghKL2oO8c+jo8Jsz?= =?iso-8859-1?Q?kBBOhLhnl3M8orDv5SF42OuyiuHeNC9Qgc4bahUu837q3izQnRUdGtpGkI?= =?iso-8859-1?Q?4w5710MNzyJmnKCFNk475MJNd4pZnV7GG6uuT2LpYxLrrAjVaKSTLCJ1jV?= =?iso-8859-1?Q?jM5888OUbv4+KKpKtkcA7+DXwE24VUycLJrLybGJWcRnbR4wotAbgTJCAv?= =?iso-8859-1?Q?BwBU3bxKZHlIux1arkUNYTAogbjNl5wV8bqBMScwOjkKCPDsSs8Q9WRRYB?= =?iso-8859-1?Q?a9rRANtOnHtt+VeUbb8ZR6PNITPuWCrac+UwqVvYWKiPgvvPLLcPII6hDc?= =?iso-8859-1?Q?I0swzko7q+Waeri9gC2/hEB8HhlkuMAlu5HnmWYm7O9LqK3xMlas+A4ByF?= =?iso-8859-1?Q?EgbA+GaAPTZ98PuK48E31G2uH9bxZKn4CVe8MCnJPA4H8h/KWDuiG065F/?= =?iso-8859-1?Q?OP/sK5chgg8j+lkvzWcvW5/SyUGwF+CdeK6RyYYzH2ysvvcqWo/MQDuQ?= =?iso-8859-1?Q?=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYPPR06MB8206.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(7416014)(1800799024)(366016)(921020)(7142099003)(38070700021); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?dXMAMZzRoLrLmAPjOoss6QwoF/f2/kdYCkTsF4NvHE17eZa3QHAqsMKwEQ?= =?iso-8859-1?Q?114ECWrMFOZ2vQkkz5k/9AOEoxHqiLFZ2YqWr+VmTkTW5KrN6iavQ9c7g1?= =?iso-8859-1?Q?V0swDe0BEvWUhSSfnQR9nlgupmJvBvXrIjPyW8Et79CMpgXYgkZkGduDAl?= =?iso-8859-1?Q?j9i4JqQhN4BRMxiebPW9iLGxcZPldygxiKj66CkWdzNM5ieubQ2DNJclWG?= =?iso-8859-1?Q?tK4Ncx9guIVNdU4M7lrRlUoDXV7yVLQ3pR73I5AXDsQWLrIsypOhYjuN5Z?= =?iso-8859-1?Q?YEXfcYgkUspWvY/yNMoJJDi/vG0XqsWT+dzl8ZkltLo85uQ5p8viSbPLTH?= =?iso-8859-1?Q?YJQd7esWNK5UNLvUMa+yhc2uG02yA3rWOPLLGbXBr5Z2AnhyO9HcML/SJM?= =?iso-8859-1?Q?tGaycqwAxXCpEHbg1fiiQm2yHlPUsz/CY5pfM9cZT9dVCZffF44q6diI9+?= =?iso-8859-1?Q?vPYlFiO44yrRPecLISxX8D9keDhkw/rMMSEXRVdefKMleBqEjgpXC2+A/U?= =?iso-8859-1?Q?Wgo2XnI6737QT39iFXGW1p9Z+gFMxTD/mmqjVbjMkRYRRLKcAm0wWKavTi?= =?iso-8859-1?Q?fs2lNtt2jp3quG9CGkFirFfjorWj7M6eS/IY+2VbtpU/ZGWcCC4wELNvlc?= =?iso-8859-1?Q?Rc6OG+Fl3VhzYz8ykTG5W1Z/9isbDr1nD72aa3QrDnM/M3TurRefdKJp2V?= =?iso-8859-1?Q?mGgJknlSxotVyozTnwG8DrQnhiUDs9tWRCPqmlHxQIwPsg5BthuTh849Zl?= =?iso-8859-1?Q?fkYiuHLjkWHNYrjmtmUH8AIYaTdTp51C+3K+0/geXuhqwui0PeZSlwITek?= =?iso-8859-1?Q?cC0O2h2QU/+4lWrYvw46v7xaj2PZXGIegZhnYeU6cfnWNFwIUtE+APqSBy?= =?iso-8859-1?Q?b8E5/QQqBi2MsZPdXCaOCwB47+nx/VZD+fj1g3Iz7L8eKvYS+XheP+6Qw6?= =?iso-8859-1?Q?Dzus4OJOLDifr1l9+11nGB2iSSVJ8Gb0cREswVNb5dKG7m6/46A68LKi9m?= =?iso-8859-1?Q?JRKN3BKftwggbHAK31vMSnCuW8Ww4bqxgu1rX3p7upXH441zpOz1Sr2eKH?= =?iso-8859-1?Q?fodGgaiBVVrSDl/TcA/LCHpKDsfYzGxSpc6/V+2m5QI89if8L/WFdieQfi?= =?iso-8859-1?Q?9tyKWPGyDz/YYV5HUC/QD9cqkcaphzSx4HD6087oycXKB31CxzfouGbFc0?= =?iso-8859-1?Q?JoyKC6YHqE7CDSQAgwG30bH6WNQnr6J5M1D/SwB8j3kjAE008chOOrOfQd?= =?iso-8859-1?Q?JQS3Y7rg4OeWM6Dh1Y2doVxQRz4wLd2LyBNu1Nt/amvm7oRduteCM2d2SW?= =?iso-8859-1?Q?uTNWZrpqMP5pvAfQpJkhqyYNlOqI+zhE7H+SA3S2xsRDRom1761lnLw9MA?= =?iso-8859-1?Q?u+iSuAceEvYGnwxHhNHgCO7c+vlmlxmlq2050iPYbMT1dKzx5RWYpJaG4G?= =?iso-8859-1?Q?ftVYviXXkP6TmB1+nv8Iw2GXXYexDBSBYSqOAWnaD3Z75jp02kf5sajbHt?= =?iso-8859-1?Q?mo+fQ3uIWz7qcEX+dkJGCiRAn+hsGCwJUxr7/zrR8I7MqOo9e7XjkaYmUa?= =?iso-8859-1?Q?b3pgJ7wsOCkf3Irf53b3y39HQ6VPp0YSrMeGPNhHCSfF/qcZsJ+wTtA8vK?= =?iso-8859-1?Q?pEdIRPInNmCLhrYVoUzzlPPXXhvbWJ8m6LR8MpjTggBQOSQhXMN8aVchwe?= =?iso-8859-1?Q?3dJ6+pqPj4zAMI8eOTPrB4gjw0ziRJMTw8AP4wVoip8yq8Oy2hxTg7vLZc?= =?iso-8859-1?Q?3xPz3SAUxcT6NO6DU+fwVCVFORBfUrfaI59sGfu9DIrcyDdf1SL9fXSiGA?= =?iso-8859-1?Q?uBifNEgjKQ=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYPPR06MB8206.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7394f46e-8cbc-48da-f678-08de6862af38 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Feb 2026 05:10:18.8585 (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: hYGQjMOMEIX8a/ghDMPlLqJcuvSbBjq5bFfKq8hzf8/9MwHdG4jjTLskSi8sHSyWvHKw/X48QmB7y+CcF+TFvYT/Jluy7l/yTiwum3L2+NA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY1PPF9851F8D71 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=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c405::5; envelope-from=jamin_lin@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, 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: 1770700335356154100 Content-Type: text/plain; charset="utf-8" Add functional coverage for the AST2700 A2 EVB machine by introducing test cases that boot and validate an OpenBMC SDK v11.00 image on "ast2700a2-evb". Signed-off-by: Jamin Lin --- tests/functional/aarch64/meson.build | 2 + .../functional/aarch64/test_aspeed_ast2700.py | 190 ++++++++++++++++++ 2 files changed, 192 insertions(+) create mode 100644 tests/functional/aarch64/test_aspeed_ast2700.py diff --git a/tests/functional/aarch64/meson.build b/tests/functional/aarch6= 4/meson.build index b5dd674bac..1bf0a30a9b 100644 --- a/tests/functional/aarch64/meson.build +++ b/tests/functional/aarch64/meson.build @@ -3,6 +3,7 @@ test_aarch64_timeouts =3D { 'aspeed_ast2700a1' : 600, 'aspeed_ast2700fc' : 600, + 'aspeed_ast2700' : 600, 'device_passthrough' : 720, 'imx8mp_evk' : 240, 'raspi4' : 480, @@ -25,6 +26,7 @@ tests_aarch64_system_quick =3D [ tests_aarch64_system_thorough =3D [ 'aspeed_ast2700a1', 'aspeed_ast2700fc', + 'aspeed_ast2700', 'device_passthrough', 'hotplug_pci', 'imx8mp_evk', diff --git a/tests/functional/aarch64/test_aspeed_ast2700.py b/tests/functi= onal/aarch64/test_aspeed_ast2700.py new file mode 100644 index 0000000000..64f0a5abe4 --- /dev/null +++ b/tests/functional/aarch64/test_aspeed_ast2700.py @@ -0,0 +1,190 @@ +#!/usr/bin/env python3 +# +# Functional test that boots the ASPEED SoCs with firmware +# +# Copyright (C) 2022 ASPEED Technology Inc +# +# SPDX-License-Identifier: GPL-2.0-or-later + +import os + +from qemu_test import QemuSystemTest, Asset +from qemu_test import wait_for_console_pattern, exec_command +from qemu_test import exec_command_and_wait_for_pattern + + +class AST2x00MachineSDK(QemuSystemTest): + + def do_test_aarch64_aspeed_sdk_start(self, image, bus_id): + bus_str =3D str(bus_id) + self.require_netdev('user') + self.vm.set_console() + self.vm.add_args( + '-device', + f'tmp105,' + f'bus=3Daspeed.i2c.bus.{bus_str},' + f'address=3D0x4d,' + f'id=3Dtmp-test-{bus_str}' + ) + self.vm.add_args('-drive', 'file=3D' + image + ',if=3Dmtd,format= =3Draw', + '-net', 'nic', '-net', 'user', '-snapshot') + + self.vm.launch() + + def verify_vbootrom_firmware_flow(self): + wait_for_console_pattern(self, 'Found valid caliptra flash image') + wait_for_console_pattern(self, 'Check flash image checksum') + wait_for_console_pattern(self, 'pass') + wait_for_console_pattern(self, 'Read abb header') + wait_for_console_pattern(self, 'pass') + wait_for_console_pattern(self, 'Read soc manifest') + wait_for_console_pattern(self, 'pass') + wait_for_console_pattern(self, 'Load atf image') + wait_for_console_pattern(self, 'pass') + wait_for_console_pattern(self, 'Load optee image') + wait_for_console_pattern(self, 'pass') + wait_for_console_pattern(self, 'Load uboot image') + wait_for_console_pattern(self, 'pass') + wait_for_console_pattern(self, 'Load ssp image') + wait_for_console_pattern(self, 'pass') + wait_for_console_pattern(self, 'Load tsp image') + wait_for_console_pattern(self, 'pass') + wait_for_console_pattern(self, 'Jumping to BL31 (Trusted Firmware-= A)') + + def enable_ast2700_pcie2(self): + wait_for_console_pattern(self, 'Hit any key to stop autoboot') + exec_command_and_wait_for_pattern(self, '\012', '=3D>') + exec_command_and_wait_for_pattern(self, + 'cp 100420000 403000000 900000', '=3D>') + exec_command_and_wait_for_pattern(self, + 'bootm start 403000000', '=3D>') + exec_command_and_wait_for_pattern(self, 'bootm loados', '=3D>') + exec_command_and_wait_for_pattern(self, 'bootm ramdisk', '=3D>') + exec_command_and_wait_for_pattern(self, 'bootm prep', '=3D>') + exec_command_and_wait_for_pattern(self, + 'fdt set /soc@14000000/pcie@140d0000 status "okay"', '=3D>') + exec_command(self, 'bootm go') + + def verify_openbmc_boot_start(self, enable_pcie=3DTrue): + wait_for_console_pattern(self, 'U-Boot 2023.10') + if enable_pcie: + self.enable_ast2700_pcie2() + wait_for_console_pattern(self, 'Linux version ') + + def verify_openbmc_boot_and_login(self, name, enable_pcie=3DTrue): + self.verify_openbmc_boot_start(enable_pcie) + + wait_for_console_pattern(self, f'{name} login:') + exec_command_and_wait_for_pattern(self, 'root', 'Password:') + exec_command_and_wait_for_pattern(self, '0penBmc', f'root@{name}:~= #') + + ASSET_SDK_V1100_AST2700 =3D Asset( + 'https://github.com/AspeedTech-BMC/openbmc/releases/download/v= 11.00/ast2700-default-obmc.tar.gz', + 'e2b8f043fe8063dd3b6ded93422e38bd41914dc9c3202199507652df024de= 4dc') + + ASSET_SDK_V1100_AST2700_DCSCM =3D Asset( + 'https://github.com/AspeedTech-BMC/openbmc/releases/download/v= 11.00/ast2700-dcscm-obmc.tar.gz', + '0e93f7976139da71fab9df7952a58bdd80650e23e7abf5853b0eb6695deb0= 2d0') + + def do_ast2700_i2c_test(self, bus_id): + bus_str =3D str(bus_id) + exec_command_and_wait_for_pattern(self, + 'echo lm75 0x4d > ' + f'/sys/class/i2c-dev/i2c-{bus_str}/device/new_device ', + f'i2c i2c-{bus_str}: new_device: Instantiated device lm75 at 0= x4d') + exec_command_and_wait_for_pattern(self, + f'cat /sys/bus/i2c/devices/{bus_str}-004d/hwmon/hwmon*/temp1_i= nput', + '0') + self.vm.cmd('qom-set', path=3Df'/machine/peripheral/tmp-test-{bus_= str}', + property=3D'temperature', value=3D18000) + exec_command_and_wait_for_pattern(self, + f'cat /sys/bus/i2c/devices/{bus_str}-004d/hwmon/hwmon*/temp1_i= nput', + '18000') + + def do_ast2700_pcie_test(self): + exec_command_and_wait_for_pattern(self, + 'lspci -s 0002:00:00.0', + '0002:00:00.0 PCI bridge: ' + 'ASPEED Technology, Inc. AST1150 PCI-to-PCI Bridge') + exec_command_and_wait_for_pattern(self, + 'lspci -s 0002:01:00.0', + '0002:01:00.0 Ethernet controller: ' + 'Intel Corporation 82574L Gigabit Network Connection') + exec_command_and_wait_for_pattern(self, + 'ip addr show dev eth2', + 'inet 10.0.2.15/24') + + def start_ast2700_test(self, name, bus_id): + num_cpu =3D 4 + load_images_list =3D [ + { + 'addr': '0x400000000', + 'file': self.scratch_file(name, 'u-boot.bin') + }, + { + 'addr': '0x430000000', + 'file': self.scratch_file(name, 'bl31.bin') + }, + { + 'addr': '0x430080000', + 'file': self.scratch_file(name, 'optee', 'tee-raw.bin') + } + ] + + for load_image in load_images_list: + addr =3D load_image['addr'] + file =3D load_image['file'] + self.vm.add_args('-device', + f'loader,force-raw=3Don,addr=3D{addr},file=3D= {file}') + + for i in range(num_cpu): + self.vm.add_args('-device', + f'loader,addr=3D0x430000000,cpu-num=3D{i}') + + self.vm.add_args('-smp', str(num_cpu)) + self.do_test_aarch64_aspeed_sdk_start( + self.scratch_file(name, 'image-bmc'), bus_id) + + def start_ast2700_test_vbootrom(self, name, bus_id): + self.vm.add_args('-bios', 'ast27x0_bootrom.bin') + self.do_test_aarch64_aspeed_sdk_start( + self.scratch_file(name, 'image-bmc'), bus_id) + + def test_aarch64_ast2700_evb_sdk_v11_00(self): + self.set_machine('ast2700a2-evb') + self.require_netdev('user') + + self.archive_extract(self.ASSET_SDK_V1100_AST2700) + self.vm.add_args('-device', 'e1000e,netdev=3Dnet1,bus=3Dpcie.2') + self.vm.add_args('-netdev', 'user,id=3Dnet1') + self.start_ast2700_test('ast2700-default', 1) + self.verify_openbmc_boot_and_login('ast2700-default') + self.do_ast2700_i2c_test(1) + self.do_ast2700_pcie_test() + + def test_aarch64_ast2700_evb_sdk_vbootrom_v11_00(self): + self.set_machine('ast2700a2-evb') + self.require_netdev('user') + + self.archive_extract(self.ASSET_SDK_V1100_AST2700) + self.vm.add_args('-device', 'e1000e,netdev=3Dnet1,bus=3Dpcie.2') + self.vm.add_args('-netdev', 'user,id=3Dnet1') + self.start_ast2700_test_vbootrom('ast2700-default', 1) + self.verify_vbootrom_firmware_flow() + self.verify_openbmc_boot_start() + + def test_aarch64_ast2700_evb_ioexp_v11_00(self): + self.set_machine('ast2700a2-evb') + self.require_netdev('user') + + self.archive_extract(self.ASSET_SDK_V1100_AST2700_DCSCM) + self.vm.set_machine('ast2700a2-evb,fmc-model=3Dw25q512jv') + self.vm.add_args('-device', + 'tmp105,bus=3Dioexp0.0,address=3D0x4d,id=3Dtmp-te= st-16') + self.start_ast2700_test('ast2700-dcscm', 8) + self.verify_openbmc_boot_and_login('ast2700-dcscm', False) + self.do_ast2700_i2c_test(8) + self.do_ast2700_i2c_test(16) + +if __name__ =3D=3D '__main__': + QemuSystemTest.main() --=20 2.43.0