From nobody Sat Jun 27 09:32:16 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=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1782201114; cv=pass; d=zohomail.com; s=zohoarc; b=QNy+cMbscG2wkfdsFfsJJT+bOUlRT9/Nv8EEoBfqM/7IKzfdD06ZFC5GjT/OtdXyqxYNZSMJlbU/vJ0/UC7yrFw6+3/heg5TEls81dZCfXuqnUQTkDf9uDWTH9tuUzgEKAh/j31NiiVYIeL3tDcPj3ETFLtL4HMiE964UDqoea4= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782201114; 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=LZiUKhlw28P2R4J8k9wGBtIjsAUsm9jxlr7Am36IpPg=; b=TbCE8aoxUdCPk9ALIUt3FwH/GsGHBLAJqOjp1WhVM3W8ZNrPOREpzam7gCRDeK44pCnQQ04NxDMEHz2jEEqcw3ECuJCXe9fMI3GjfCiTQD36WGuzcMQ6d5P4+NUl9z2aWKwpFifq4+bfrCpRWjrJL2emt43v127V/o9M3GTwnNQ= 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=amd.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 1782201113984128.45149249209908; Tue, 23 Jun 2026 00:51:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wbvv4-0006EK-OD; Tue, 23 Jun 2026 03:51:44 -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 1wbvv1-0006Dp-Aw for qemu-devel@nongnu.org; Tue, 23 Jun 2026 03:51:39 -0400 Received: from mail-southcentralusazlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c10d::3] helo=SN4PR0501CU005.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 1wbvuz-0000gt-26 for qemu-devel@nongnu.org; Tue, 23 Jun 2026 03:51:39 -0400 Received: from SJ0PR03CA0090.namprd03.prod.outlook.com (2603:10b6:a03:331::35) by LV8PR12MB9420.namprd12.prod.outlook.com (2603:10b6:408:200::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Tue, 23 Jun 2026 07:51:30 +0000 Received: from SJ5PEPF000001EB.namprd05.prod.outlook.com (2603:10b6:a03:331:cafe::26) by SJ0PR03CA0090.outlook.office365.com (2603:10b6:a03:331::35) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.159.12 via Frontend Transport; Tue, 23 Jun 2026 07:51:29 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF000001EB.mail.protection.outlook.com (10.167.242.199) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.10 via Frontend Transport; Tue, 23 Jun 2026 07:51:29 +0000 Received: from k-Super-Server.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 23 Jun 2026 02:51:25 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KFhLu2aMuR4zdXIWO0uxXjQE2PQzQiGeiXdodwgucg5cdRZExLb34fZGI/ohA+OMAaVbgjUzemi015DeGn4brUvoGoCLrCH8rPJTEeF40twxZoujG7oWB40bYQjnun0aR90rG1pgecsMj4550A5LgbDJt6SBziJaYtQKh11n4erHzrtFjW+1dWpRlPlhABKwt0jAUqHYkYsSUwfM+b/ANHId8dz8zXULgd6sJSHqZEfSUs575Fmolz8ILpyaGj9W8Lzlxmo3ZT5oXYo67DkfOtj9D+C5gICZka5plfyhGsgYgGPnqagarVUTZH3iFH5UN7C7z02OtTzKe50vH8J1KA== 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=LZiUKhlw28P2R4J8k9wGBtIjsAUsm9jxlr7Am36IpPg=; b=otoAdVekThfFdomZ+bjNAjPhCHhslX8K0fbRuz0VnHfH/tvIXdBkbZ3RQN5c6O4Agwmw2o/8SghFjhE8xImjKU6MEhrdT3Z6+60jW/2g6MPzU4eUtSUnx5KhA4dlk+V6rGxitXkJfvQvxShYsq76q6ncvWSYNFUohCHS+h14bSqhv4PRhAGrQPqvc8naTp+YQbNdyrJ5xicHL9zYSpXvib0XbGyI2X0EdaMZgzcq8IwjH5hhc2M4JoxMdj0rV/OFdXoWPg3X+9psZevl7cbVnneCCUUWE9dmvGRyuvUD9TSTN1cxOVrrn7uwz9lKD0hb1oQj3bdkSZtor0ffAh9nsw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LZiUKhlw28P2R4J8k9wGBtIjsAUsm9jxlr7Am36IpPg=; b=3j+pQHVnIUTXwZ/BkWjeocwtmRGTTP2Z5Wy6GDZZFSumwwuZpan6REIkV1J5RfaizkRF+LdMy1KZTy1b176E1gb72RjKfoiatRV0wkW3CCaUGjrc/AGU/KUgDbHr0qcMxqa1ftrF+9Eve0JvW8wFtYxQEdBH2wDQabOM3ArXJKg= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; 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 (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: fanhuang To: , , , , CC: , , , , , fanhuang Subject: [PATCH v14 01/10] hw/mem: add sp-mem device for Specific Purpose Memory Date: Tue, 23 Jun 2026 15:50:42 +0800 Message-ID: <20260623075051.3797975-2-FangSheng.Huang@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260623075051.3797975-1-FangSheng.Huang@amd.com> References: <20260623075051.3797975-1-FangSheng.Huang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EB:EE_|LV8PR12MB9420:EE_ X-MS-Office365-Filtering-Correlation-Id: eddca42d-5684-4397-600c-08ded0fc3c31 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|36860700016|82310400026|23010399003|6133799003|22082099003|18002099003|11063799006|56012099006|43062017; X-Microsoft-Antispam-Message-Info: rG5Me0GmekhMcEinIEAq5MKSbCHWKu0b/Yzl82TgWvdLCbPJaRW8SqS9l4P21cRzpSPaP3Ah8ZsJjOg8yvRL61LEd5/yBoTZqIYU4heoCY6RsADk9ZGvISYlTabUO38ONRQ7Wxd5Y628Ei1uxGzm+2rt4IMIDaVHn13C3dpfqr7tW8IiPznzocQC7OuP7iVzad+O4KdumK6z0hNaV1Rc77MuwN3AsXHnllijDt/z7W4aJqnxgqyDNAAW6gA7WJCceI+H7Dxpn0BKjsvxlWcLv6+xnDLUtzud0I1LMFuqZvOjtUT1y3A7sek+ruPAcNBSKQ+3DSI3U7Ys/1TDjjeof6C37J77eFE9zJPADZJisr4N/1q0Xmqn1FUygPcIH3TpuOo7zpHiIgVnhjRxoKKQDuoioBx1AbNBtJwJacUjvbIr+lxysshrFlq63pm4eBpcU8B2DUNipxnXha+BfdEBF/73wpXIhYsxpsdqp/mWSl07T9jbRgSruFLpOjzPdnIcKUzXj7b1qN7aHo6YncNKVixj9DB2CowFe/PDBaBgqqyIwBz4PC5JZB74hXjeO9XJ6VrqeLVgdFxSXDg+oT8hjaMWHOCpnSfA9rd9GYAWMvpYbW3DHfs2VS8lqoKsFaRhEYGStagGEibsySkKpajLljZSV9425eGMPDRBfq6wQ7CMl4veP20ZQgEW0yX0LpELwilJmDseCXOxp94jcdxedyIIOOmlSEdHA+o0Oq2TBYo8QEpEFThjPkMhIkRqCTOU X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(376014)(36860700016)(82310400026)(23010399003)(6133799003)(22082099003)(18002099003)(11063799006)(56012099006)(43062017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: CXhzfXXks47WTv0dNDVRDCCzhLDP3McBmiHl3ZITM2ru3ZV0bJNqn+CIm377P22LARTWvzxX4ummO/2HVIfAerRS8dRjwve1xJ3E8jVDAfdH1KlFycJoYB+yvHi+4bzVFpQkMbLtuc5chcPuh06PVlu6PekfmBJgsUi3x80ZUDKiPxi3ose8KbCRDW7yt2pm6+g9o+b/mzyTG6b+OV9pdil1t1tE2ECR+8qdFAKmtowd4jedZqTVGAdQqosPQaIjvumeIyN85MHkcy0W5SxBgMfVQ5vku4mr3GInfkjJMhOsmsQuoXke0GDHVEriAeIgKSO8tkXqpvI5Vx8Fj8GhPrjjh/jt5wLr7QA1RzA0lZ2Yj7aJUsP9tCgfr6bF7Y737dx65ltgF71VCGzvsVYe2st0bhAntUhQagPuqtDS8J3DEw6t+6fkkkra8nLoLRD4 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 07:51:29.2134 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: eddca42d-5684-4397-600c-08ded0fc3c31 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF000001EB.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9420 Received-SPF: permerror client-ip=2a01:111:f403:c10d::3; envelope-from=FangSheng.Huang@amd.com; helo=SN4PR0501CU005.outbound.protection.outlook.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=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 @amd.com) X-ZM-MESSAGEID: 1782201115968158500 Content-Type: text/plain; charset="utf-8" Introduce a TYPE_MEMORY_DEVICE subclass `sp-mem` for boot-time SOFT_RESERVED memory exposed to the guest with a per-device NUMA proximity domain. The device targets accelerator memory (HBM and similar) that the firmware hands to the guest OS as SOFT_RESERVED memory, so a driver in the guest -- rather than the kernel's general allocator -- owns the range. Usage: -object memory-backend-ram,id=3Dspm0,size=3D$SIZE -numa node,nodeid=3D$N -device sp-mem,id=3Ddev0,memdev=3Dspm0,node=3D$N[,addr=3D$GPA] The device is boot-time only (no hotplug). Signed-off-by: FangSheng Huang Reviewed-by: Igor Mammedov --- include/hw/mem/sp-mem.h | 33 ++++++++++++ hw/mem/sp-mem.c | 109 ++++++++++++++++++++++++++++++++++++++++ hw/mem/Kconfig | 4 ++ hw/mem/meson.build | 1 + 4 files changed, 147 insertions(+) create mode 100644 include/hw/mem/sp-mem.h create mode 100644 hw/mem/sp-mem.c diff --git a/include/hw/mem/sp-mem.h b/include/hw/mem/sp-mem.h new file mode 100644 index 0000000000..a8951b49e6 --- /dev/null +++ b/include/hw/mem/sp-mem.h @@ -0,0 +1,33 @@ +/* + * Specific Purpose Memory (SPM) device + * + * TYPE_MEMORY_DEVICE subclass for boot-time-only memory exposed to the + * guest as an E820 SOFT_RESERVED range with a SRAT memory-affinity entry. + * + * Copyright (c) 2026 Advanced Micro Devices, Inc. + * + * Authors: + * FangSheng Huang + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef QEMU_SP_MEM_H +#define QEMU_SP_MEM_H + +#include "hw/core/qdev.h" +#include "qom/object.h" + +#define TYPE_SP_MEM "sp-mem" + +OBJECT_DECLARE_SIMPLE_TYPE(SpMemDevice, SP_MEM) + +struct SpMemDevice { + DeviceState parent_obj; + + HostMemoryBackend *hostmem; + uint32_t node; + uint64_t addr; +}; + +#endif /* QEMU_SP_MEM_H */ diff --git a/hw/mem/sp-mem.c b/hw/mem/sp-mem.c new file mode 100644 index 0000000000..d088222f54 --- /dev/null +++ b/hw/mem/sp-mem.c @@ -0,0 +1,109 @@ +/* + * Specific Purpose Memory (SPM) device + * + * Copyright (c) 2026 Advanced Micro Devices, Inc. + * + * Authors: + * FangSheng Huang + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "qemu/module.h" +#include "qapi/error.h" +#include "hw/core/qdev-properties.h" +#include "hw/core/qdev.h" +#include "hw/mem/sp-mem.h" +#include "hw/mem/memory-device.h" +#include "system/hostmem.h" + +#define SP_MEM_MEMDEV_PROP "memdev" +#define SP_MEM_NODE_PROP "node" +#define SP_MEM_ADDR_PROP "addr" + +static const Property sp_mem_properties[] =3D { + DEFINE_PROP_LINK(SP_MEM_MEMDEV_PROP, SpMemDevice, hostmem, + TYPE_MEMORY_BACKEND, HostMemoryBackend *), + DEFINE_PROP_UINT32(SP_MEM_NODE_PROP, SpMemDevice, node, 0), + DEFINE_PROP_UINT64(SP_MEM_ADDR_PROP, SpMemDevice, addr, 0), +}; + +static uint64_t sp_mem_get_addr(const MemoryDeviceState *md) +{ + return object_property_get_uint(OBJECT(md), SP_MEM_ADDR_PROP, + &error_abort); +} + +static void sp_mem_set_addr(MemoryDeviceState *md, uint64_t addr, + Error **errp) +{ + object_property_set_uint(OBJECT(md), SP_MEM_ADDR_PROP, addr, errp); +} + +static MemoryRegion *sp_mem_get_memory_region(MemoryDeviceState *md, + Error **errp) +{ + SpMemDevice *spm =3D SP_MEM(md); + + if (!spm->hostmem) { + error_setg(errp, "'%s' property must be set", SP_MEM_MEMDEV_PROP); + return NULL; + } + return host_memory_backend_get_memory(spm->hostmem); +} + +static void sp_mem_realize(DeviceState *dev, Error **errp) +{ + SpMemDevice *spm =3D SP_MEM(dev); + + if (!spm->hostmem) { + error_setg(errp, "'%s' property is required", SP_MEM_MEMDEV_PROP); + return; + } + if (host_memory_backend_is_mapped(spm->hostmem)) { + error_setg(errp, "memory backend '%s' is already in use", + object_get_canonical_path_component(OBJECT(spm->hostmem= ))); + return; + } + host_memory_backend_set_mapped(spm->hostmem, true); +} + +static void sp_mem_unrealize(DeviceState *dev) +{ + SpMemDevice *spm =3D SP_MEM(dev); + + host_memory_backend_set_mapped(spm->hostmem, false); +} + +static void sp_mem_class_init(ObjectClass *oc, const void *data) +{ + DeviceClass *dc =3D DEVICE_CLASS(oc); + MemoryDeviceClass *mdc =3D MEMORY_DEVICE_CLASS(oc); + + dc->desc =3D "SPM (Specific Purpose Memory) device"; + dc->hotpluggable =3D false; + dc->realize =3D sp_mem_realize; + dc->unrealize =3D sp_mem_unrealize; + device_class_set_props(dc, sp_mem_properties); + + mdc->get_addr =3D sp_mem_get_addr; + mdc->set_addr =3D sp_mem_set_addr; + mdc->get_memory_region =3D sp_mem_get_memory_region; + mdc->get_plugged_size =3D memory_device_get_region_size; +} + +static const TypeInfo sp_mem_types[] =3D { + { + .name =3D TYPE_SP_MEM, + .parent =3D TYPE_DEVICE, + .class_init =3D sp_mem_class_init, + .instance_size =3D sizeof(SpMemDevice), + .interfaces =3D (InterfaceInfo[]) { + { TYPE_MEMORY_DEVICE }, + { } + }, + }, +}; + +DEFINE_TYPES(sp_mem_types) diff --git a/hw/mem/Kconfig b/hw/mem/Kconfig index 73c5ae8ad9..39ddb36710 100644 --- a/hw/mem/Kconfig +++ b/hw/mem/Kconfig @@ -16,3 +16,7 @@ config CXL_MEM_DEVICE bool default y if CXL select MEM_DEVICE + +config SP_MEM + bool + select MEM_DEVICE diff --git a/hw/mem/meson.build b/hw/mem/meson.build index 8c2beeb7d4..f410d75475 100644 --- a/hw/mem/meson.build +++ b/hw/mem/meson.build @@ -4,6 +4,7 @@ mem_ss.add(when: 'CONFIG_DIMM', if_true: files('pc-dimm.c')) mem_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_mc.c')) mem_ss.add(when: 'CONFIG_NVDIMM', if_true: files('nvdimm.c')) mem_ss.add(when: 'CONFIG_CXL_MEM_DEVICE', if_true: files('cxl_type3.c')) +mem_ss.add(when: 'CONFIG_SP_MEM', if_true: files('sp-mem.c')) stub_ss.add(files('cxl_type3_stubs.c')) =20 stub_ss.add(files('memory-device-stubs.c')) --=20 2.34.1 From nobody Sat Jun 27 09:32:16 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=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1782201115; cv=pass; d=zohomail.com; s=zohoarc; b=A06Ly0aJD9E/PX22kwtRcgxMNTbcxeL8FdZcS+ehe7h+Gy+zBYvzAu9WcOvIggETB6PstKyvaJEgGwEcc5JE7M6bBszh0+PlOBDRRGe8NQwznP+tLYsrSTecDOp4rEwSIr5gF2qwCc1yTzMx+gtVjYc4CnCDBiTRuP3/eY5h3kw= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782201115; 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=OPnV5VBFNRIoOCemhNZA4bHn41Nd2GErZtYJq5CobTI=; b=Dr9TMVOLHW+mEiSfqBBOtKJRBwhDXlhkbTA+TASRnlrda51IySXeqrzbmDHK18P5e+B7JrjWvDuzfVw+6ypugH6nbqTCTc31CNbEmxp4u8Jdm+WNWNudr6PMVzRfdZBKB7uw0tBmisXcXUDkYcYhxH1SBv7gRZXetPDg9cum3ec= 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=amd.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 1782201115357979.6409738542958; Tue, 23 Jun 2026 00:51:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wbvvD-0006GC-8l; Tue, 23 Jun 2026 03:51:51 -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 1wbvv1-0006Dr-TP for qemu-devel@nongnu.org; Tue, 23 Jun 2026 03:51:40 -0400 Received: from mail-westcentralusazlp170130007.outbound.protection.outlook.com ([2a01:111:f403:c112::7] helo=CY3PR05CU001.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 1wbvv0-0000h1-20 for qemu-devel@nongnu.org; Tue, 23 Jun 2026 03:51:39 -0400 Received: from SJ0PR03CA0074.namprd03.prod.outlook.com (2603:10b6:a03:331::19) by DM4PR12MB5795.namprd12.prod.outlook.com (2603:10b6:8:62::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Tue, 23 Jun 2026 07:51:32 +0000 Received: from SJ5PEPF000001EB.namprd05.prod.outlook.com (2603:10b6:a03:331:cafe::a4) by SJ0PR03CA0074.outlook.office365.com (2603:10b6:a03:331::19) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.20 via Frontend Transport; Tue, 23 Jun 2026 07:51:31 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF000001EB.mail.protection.outlook.com (10.167.242.199) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.10 via Frontend Transport; Tue, 23 Jun 2026 07:51:31 +0000 Received: from k-Super-Server.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 23 Jun 2026 02:51:28 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sxOIxQZ4GzNfVGV/fCG4hzAQ49S1M+77Cbe0Bbb/u7O49pZimPVEV73FHo9aG22WaI+sFnyCK4e/OK6iBv9WOd/BSGgieRsJTSuTT6JEGl5Isb+E9V+p00T+rBrt5NnjtIWXIb9Feen0OFthNnzB8RYe2YrnSf+eIZa+KX8pS22+lhj4EweZpdpZhETZqNXQ6lnJfnXyMauHutJ6f4peM2OfkAMkWbpw43gPlQRiY6oLOYfZaBk33Mg9lrn6qNmjHhoKS5gIqvpOaTAQHjMSfW5JnFuOp7OsrWvJNV5rjkekja0eW5OjesjrMTHBYrXvCUPMOty4EM+SXlWMlRQHLA== 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=OPnV5VBFNRIoOCemhNZA4bHn41Nd2GErZtYJq5CobTI=; b=jOLxK2kfLixA4hqsDNBsHMBNZEVLd//Cnr+mXsaBVGKKuvD+lztsWxgZGLThKyIzCD95HCFS2BZPhHy+Jg7QrZtl0BQLNrCXhIaBKi/SM00qmPcBt0hf6h63qBZkj95S0P+m8QdtYqC09yzgLXgsENdwKybflytcAAJWpUcSazM8kY+jA3Ponauw0d5zE8NoRgGFCikvcJFe9dYfamJssCnUac5tRjbMCOXiS9LDO6trgFlCYJIR41edrx0mTNDgyMUdHi1XjcJctlIR1IadIheCjgmdm8XzLIWFVTxg5SW0Dh8iRxcj98aOhyWnFsKulhqzOlj+qXQcAiDxoTRD4g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OPnV5VBFNRIoOCemhNZA4bHn41Nd2GErZtYJq5CobTI=; b=fT6f8Wttk46aCx25wqctu0nqlgLXoa6XgBz8en5SRz/3u7Kqt0c5PB9lpffxfAvdVoDkqCQYEFhudinRIfKkgDdOQ0fWKrql+RkvO/UmbWxAjFYI1J8rar2qpMFQGiWnDNqTbWfcZv1/vk5WIIrMJ5x7L1vbEpmaPag10jVH0fo= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; 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 (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: fanhuang To: , , , , CC: , , , , , fanhuang Subject: [PATCH v14 02/10] qapi, hmp: introspection for the sp-mem device Date: Tue, 23 Jun 2026 15:50:43 +0800 Message-ID: <20260623075051.3797975-3-FangSheng.Huang@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260623075051.3797975-1-FangSheng.Huang@amd.com> References: <20260623075051.3797975-1-FangSheng.Huang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EB:EE_|DM4PR12MB5795:EE_ X-MS-Office365-Filtering-Correlation-Id: 4553c76a-39b6-4d03-1d1f-08ded0fc3db7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|36860700016|1800799024|23010399003|376014|18002099003|22082099003|56012099006|11063799006|43062017; X-Microsoft-Antispam-Message-Info: xZVZuDJ/EtFPiQUpyBDYuBnskI9y+BKCUeg+/6vl8Y2hQhaKJ4+3kJoL075Fq2wAH4kU70SVczmHJyW56mkYu3rnwzIrlxanPGMAWD91T7fpAyCxFZoJ8vDmEWrImVcCKS/7T4jwfcZkTRBHa79SY9COr5nikD60+u2cFRtFqdg4+qf/WejS7ImEcEF7o4f0khoS5bnCmecfWqZWVWmNu3rG3+pNk4PgRt3bn/O3qfMME2p2xabCfH7DxVs0cq9bm/PBUU8FYW7r+4aMkQKbPaz5zdAk3113OjHMnqeuOLUxoK9aUexALdNwgecRWUKtTtVA3Pcf5tlBq+AT29Ai1nfdvj594MjtjCqgmoW1nIqUaJyTSn1MjMJkCV5bOIuXu60g3CxSINBgvK0ZJ4ja3RQu87kvyz25QrHbk+uVZkIj+XHzEI/pcPb2WjiE23aj1LluOCODhuSqBHoIWOf+cehYyxrd4DOIE8+xNmuyYIuE1RAcyPNqctAMHB99Y9Qg6z8pIeoP5NC1CzG1pEmKaCqInot2KfsoQgIIByuqIpqXJF/Ie1PcLEKG0W66CCndDLcQVBFZbVhSSQZXK1Wa0xPcL7tEUOSstEMzVjwgHD1obeyVeWGJup0dAckmllNaTAeipX03GfuBA14wwQf1fPtOMLhg70rWtBlCmbUOkqodUuwSLZ7eBGetjd2RKLDLKoMXc35IXArdlFONTuz9BVEcSr0tg7i+2Vn0XBKg9XuT8If86cXzImVQSxDwsrLn X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(36860700016)(1800799024)(23010399003)(376014)(18002099003)(22082099003)(56012099006)(11063799006)(43062017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: x7wafrrwBsavGJYAUpZqBgDi6j02azIIyNoRzK3SYexVDQoFu9SDq8/ef9GyvlC02/O7hX9iEseIatNt1xS+AiJe7ZLZoqGfO9/7EzbE/1N32Sxa2wWnlpS0JVvplnkEEaQrqWFDK5uNhJKT65iZcRDx9Iw8EngxP9eyiLHm7lTVZqL2boPKuZLTY+ogMdOZkuBKoLcrCjRtbnOXIMWaVuO3NRlw7hssugsdMeD2SHtyqZxuCH6m3LmsHtZJuURkbFHXpP7YlCn4V1AItH6WiCOS+Y3eiruyVJ8ALFmMs66+gILc1tYjtAZWIJLUp4xnomIIb+A6OzBGccel9JPK1cUkNvHghBuPlsN+AZlm7ChFYyRGrVt0OMq3Qcx3Uaid7ZFV6bl8PE8+KoHPWXiuLVWEbhXQB3skqg9u2C6DQxpXM0lq3z/qhE7VJQIU05kl X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 07:51:31.8233 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4553c76a-39b6-4d03-1d1f-08ded0fc3db7 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF000001EB.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5795 Received-SPF: permerror client-ip=2a01:111:f403:c112::7; envelope-from=FangSheng.Huang@amd.com; helo=CY3PR05CU001.outbound.protection.outlook.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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 @amd.com) X-ZM-MESSAGEID: 1782201117586158500 Content-Type: text/plain; charset="utf-8" Add a SpMemDeviceInfo variant to MemoryDeviceInfo so `query-memory-devices` reports each sp-mem instance (id, addr, size, node, memdev), and print it from HMP `info memory-devices`. Signed-off-by: FangSheng Huang Reviewed-by: Igor Mammedov --- qapi/machine.json | 43 ++++++++++++++++++++++++++++++++++++-- hw/core/machine-hmp-cmds.c | 11 ++++++++++ hw/mem/sp-mem.c | 19 +++++++++++++++++ 3 files changed, 71 insertions(+), 2 deletions(-) diff --git a/qapi/machine.json b/qapi/machine.json index 685e4e29b8..9b2248038f 100644 --- a/qapi/machine.json +++ b/qapi/machine.json @@ -1413,6 +1413,32 @@ } } =20 +## +# @SpMemDeviceInfo: +# +# sp-mem device state information +# +# @id: device's ID +# +# @addr: physical address, where device is mapped +# +# @size: size of memory that the device provides, in bytes +# +# @node: NUMA proximity domain to which the device is assigned +# +# @memdev: memory backend linked with device +# +# Since: 11.1 +## +{ 'struct': 'SpMemDeviceInfo', + 'data': { '*id': 'str', + 'addr': 'size', + 'size': 'size', + 'node': 'int', + 'memdev': 'str' + } +} + ## # @MemoryDeviceInfoKind: # @@ -1426,11 +1452,13 @@ # # @hv-balloon: since 8.2. # +# @sp-mem: since 11.1. +# # Since: 2.1 ## { 'enum': 'MemoryDeviceInfoKind', 'data': [ 'dimm', 'nvdimm', 'virtio-pmem', 'virtio-mem', 'sgx-epc', - 'hv-balloon' ] } + 'hv-balloon', 'sp-mem' ] } =20 ## # @PCDIMMDeviceInfoWrapper: @@ -1482,6 +1510,16 @@ { 'struct': 'HvBalloonDeviceInfoWrapper', 'data': { 'data': 'HvBalloonDeviceInfo' } } =20 +## +# @SpMemDeviceInfoWrapper: +# +# @data: sp-mem device state information +# +# Since: 11.1 +## +{ 'struct': 'SpMemDeviceInfoWrapper', + 'data': { 'data': 'SpMemDeviceInfo' } } + ## # @MemoryDeviceInfo: # @@ -1499,7 +1537,8 @@ 'virtio-pmem': 'VirtioPMEMDeviceInfoWrapper', 'virtio-mem': 'VirtioMEMDeviceInfoWrapper', 'sgx-epc': 'SgxEPCDeviceInfoWrapper', - 'hv-balloon': 'HvBalloonDeviceInfoWrapper' + 'hv-balloon': 'HvBalloonDeviceInfoWrapper', + 'sp-mem': 'SpMemDeviceInfoWrapper' } } =20 diff --git a/hw/core/machine-hmp-cmds.c b/hw/core/machine-hmp-cmds.c index 46846f741a..686304bafa 100644 --- a/hw/core/machine-hmp-cmds.c +++ b/hw/core/machine-hmp-cmds.c @@ -279,6 +279,7 @@ void hmp_info_memory_devices(Monitor *mon, const QDict = *qdict) PCDIMMDeviceInfo *di; SgxEPCDeviceInfo *se; HvBalloonDeviceInfo *hi; + SpMemDeviceInfo *spmi; =20 for (info =3D info_list; info; info =3D info->next) { value =3D info->value; @@ -350,6 +351,16 @@ void hmp_info_memory_devices(Monitor *mon, const QDict= *qdict) monitor_printf(mon, " memdev: %s\n", hi->memdev); } break; + case MEMORY_DEVICE_INFO_KIND_SP_MEM: + spmi =3D value->u.sp_mem.data; + monitor_printf(mon, "Memory device [%s]: \"%s\"\n", + MemoryDeviceInfoKind_str(value->type), + spmi->id ? spmi->id : ""); + monitor_printf(mon, " addr: 0x%" PRIx64 "\n", spmi->addr); + monitor_printf(mon, " node: %" PRId64 "\n", spmi->node); + monitor_printf(mon, " size: %" PRIu64 "\n", spmi->size); + monitor_printf(mon, " memdev: %s\n", spmi->memdev); + break; default: g_assert_not_reached(); } diff --git a/hw/mem/sp-mem.c b/hw/mem/sp-mem.c index d088222f54..962d0f937e 100644 --- a/hw/mem/sp-mem.c +++ b/hw/mem/sp-mem.c @@ -53,6 +53,24 @@ static MemoryRegion *sp_mem_get_memory_region(MemoryDevi= ceState *md, return host_memory_backend_get_memory(spm->hostmem); } =20 +static void sp_mem_fill_device_info(const MemoryDeviceState *md, + MemoryDeviceInfo *info) +{ + SpMemDeviceInfo *di =3D g_new0(SpMemDeviceInfo, 1); + SpMemDevice *spm =3D SP_MEM(md); + DeviceState *dev =3D DEVICE(md); + + di->id =3D dev->id ? g_strdup(dev->id) : NULL; + di->addr =3D spm->addr; + di->size =3D memory_region_size( + host_memory_backend_get_memory(spm->hostmem)); + di->node =3D spm->node; + di->memdev =3D object_get_canonical_path(OBJECT(spm->hostmem)); + + info->u.sp_mem.data =3D di; + info->type =3D MEMORY_DEVICE_INFO_KIND_SP_MEM; +} + static void sp_mem_realize(DeviceState *dev, Error **errp) { SpMemDevice *spm =3D SP_MEM(dev); @@ -91,6 +109,7 @@ static void sp_mem_class_init(ObjectClass *oc, const voi= d *data) mdc->set_addr =3D sp_mem_set_addr; mdc->get_memory_region =3D sp_mem_get_memory_region; mdc->get_plugged_size =3D memory_device_get_region_size; + mdc->fill_device_info =3D sp_mem_fill_device_info; } =20 static const TypeInfo sp_mem_types[] =3D { --=20 2.34.1 From nobody Sat Jun 27 09:32:16 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=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1782201149; cv=pass; d=zohomail.com; s=zohoarc; b=c0EQ+kcn4s8JgGR9zCFW3q42FAe9+QDJNllGD4irRAKdNQXPVURadotkOcesRWYHy4n6lw0tN0COW5jfU7FrWzJElEuDLHV7BczMe1rpvOsQo/KB8aAf689YEwLy3VVx2CWIEpkfS0OLl631qzOA8PZAcIM6Sz5xXH1Lke0+K84= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782201149; 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=gLr26veEEN6L5LsbtaQLzbD1Y8Kev6iUaUeI+r4jQ8E=; b=Asd+Pkhj9U3R0WV/L9aNJZCxxx7gnFRzJzqynRei1G2obrlK23xvoLFqQ6OBYPqA6j7UhAwL9dhwr542me5JL6+xoCmowfqcLxGPxD41WtuA4e3Qt3TP2y/y35jj4QmtYdKq5eqvHDKMznKYZ4+MrCvnmR1WaR01eIUSOVDTv+4= 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=amd.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 1782201149579554.6803192753814; Tue, 23 Jun 2026 00:52:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wbvvE-0006GN-Ns; Tue, 23 Jun 2026 03:51:52 -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 1wbvv9-0006Fe-WD for qemu-devel@nongnu.org; Tue, 23 Jun 2026 03:51:48 -0400 Received: from mail-westusazlp170100005.outbound.protection.outlook.com ([2a01:111:f403:c001::5] helo=BYAPR05CU005.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 1wbvv8-0000hV-2p for qemu-devel@nongnu.org; Tue, 23 Jun 2026 03:51:47 -0400 Received: from SJ0PR03CA0074.namprd03.prod.outlook.com (2603:10b6:a03:331::19) by DM4PR12MB7527.namprd12.prod.outlook.com (2603:10b6:8:111::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.12; Tue, 23 Jun 2026 07:51:35 +0000 Received: from SJ5PEPF000001EB.namprd05.prod.outlook.com (2603:10b6:a03:331:cafe::4c) by SJ0PR03CA0074.outlook.office365.com (2603:10b6:a03:331::19) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.20 via Frontend Transport; Tue, 23 Jun 2026 07:51:35 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF000001EB.mail.protection.outlook.com (10.167.242.199) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.10 via Frontend Transport; Tue, 23 Jun 2026 07:51:34 +0000 Received: from k-Super-Server.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 23 Jun 2026 02:51:31 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RtJbDEvsEelxghgYKMEnBfyL3n3AF+Gj0wDPtjV3XrOfylYqtTaZL9c2GOQmvTylU2A/ucTHr0yZaWQ3AF5qi1HgwwP+CUX48tus1UWGuWASVm5XB6nRRUWGgjQV4KZOmiyR/JjhU1mAUIwrd98h1EBnAICFTaa9dYYHfGpDGV2F8Lh+0M4sR92ExJ5plC5nBaxrI9BaIM3+gfS9958cf3HrPqNc7XCzWM5FY7vm5cT0Bo36OdwOfvtlyISlpbwcRgZXGCwSAmm7CjQYAsPjmGHHdXRNKyyBh34u+cKgyAIVy6TerhCmRFpyO325F8Sc665RVQQEl2xrt2L/lp/RrQ== 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=gLr26veEEN6L5LsbtaQLzbD1Y8Kev6iUaUeI+r4jQ8E=; b=P4j/aJnKWN040V555EPE3YFfL0WduQ26NT/lL4YRkm1YYZt+HPWK6YzrTNcId/Y6LCmt9gbeOnr91ZNHYavq1VtqjGNyNF4ro+pNzYOqnBob88Ci6trdeGNUKn8XLNt0R08ny1eZquahIFs+SkIT5MwpTeZAloMVi9gXrs2+lYAEl2JTkVIqNLoL25Xh99yWe5jh1IpqPAxq5za7fICVqwRmK5zbZHhIKVtPQ2euw1rgCqisig/NlBWJbSO6iMWTWXS9iqMcsZ8K/KhOJF6vOL4VMdAIsxnLF9rYRRniqzkWj9n0LEi5izDfRIt2zWG43wi/Ikeph8EMoDXam6BNMg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gLr26veEEN6L5LsbtaQLzbD1Y8Kev6iUaUeI+r4jQ8E=; b=VhsBNpK/NJZgVpvX6HXyDFrG+cS8GTHpxKaNcYy3f4kbqPz7dulzslsZ1jb3ZkUWJ6WxFDy4IAI/XHbQNpotQfo2zl2NxncXPh/A0MAiR9K5bM379ualrJOekt7E12tu+R4Ov9dHEzD3x+hn2uFrr406F34Jm/o+NQviPMzFxjI= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; 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 (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: fanhuang To: , , , , CC: , , , , , fanhuang Subject: [PATCH v14 03/10] i386/acpi-build: partition device_memory SRAT umbrella for sp-mem Date: Tue, 23 Jun 2026 15:50:44 +0800 Message-ID: <20260623075051.3797975-4-FangSheng.Huang@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260623075051.3797975-1-FangSheng.Huang@amd.com> References: <20260623075051.3797975-1-FangSheng.Huang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EB:EE_|DM4PR12MB7527:EE_ X-MS-Office365-Filtering-Correlation-Id: 327cd9a5-409a-4a72-08a9-08ded0fc3f96 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|23010399003|36860700016|376014|82310400026|22082099003|18002099003|11063799006|56012099006|6133799003|43062017; X-Microsoft-Antispam-Message-Info: NlgjcQmKhgayR3/9CxD4d2Th7aBHb34tyStIrmyWIEY/FcwOJkBCaj3J8U6tN5l629p8zQjro8ZftBbrvemWJR+OYrt7ekK/+RUHUXW7y3tPXIxNy4oKJW3E0dCW/fnvhmGYaa0R9NfusLcQaYosNEzAsDsHYEBYwFo/uuOhSPlgdokKg1UVJc3eHRaa/8wgiGAjQRt+a8+HKjNoPi5LuXXB9M627NokJMX/wscy7S2s3Gr6ONJlMndtHndGCec5oyxy+mwTO1AugYpcA2DBz/kXBDyO2i1CV+pc9YJx33Q2RDvkMchZKgudclMBHHGPdftK0owbnN1toGBzekzxRIYhgdqkVPIv7Ve1I3g2lldPjS5eblvWx0wcdvdtZy+4xqNo2DNY9+6lHUBt9RZ/V+JoKprOOdib45fCzeydyQbuoC9jnwQDHZjYG0CbZ7uKBwREYLc98vnS4I7fVGhHOwZEKHRJdud24rlGrpByWymIC2Jt3ZeYyv8Rhwz1qM7YlACZuiAVgTFL9lukulsmykmQUS9URZm/2JI1iGR0PYjdAkpZJWIp9ktDutudmpwMfQ56pMSpThPbE/xDYudKgl5K9cWyYJH/DqcRxqxyoDD6lfL9XpTsGwYztofVDmRN76cbEz3RcGaPN+zylTgsmkLgRI3w28BS6m5svzOtQUd/o+6x/fBIvU0Zo5r3TFdmx/FoCwfFgYuru3ujM1GMPfa1sfHiu/QelQ5I5wxO/tS0+3zfeRs7TQe0QMtCqnrV X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(23010399003)(36860700016)(376014)(82310400026)(22082099003)(18002099003)(11063799006)(56012099006)(6133799003)(43062017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: LJIpvtzCVQjc3PGr3xIsx4KVHA6opxQJKEpwvK0npg4VBis/amekd1G+vO6rTJj6Vfhvwov4iGk1k7bXmEVPywl7ol8VU9xNTFDtEODJuv56k81nbQJQWp/wpghDi3mzW89l5gr3cnZuY0QzdRGEU0oaCQ4uO0rJqoLtzgGQofQ4eqFVi0lhFnh6CftlwgfLbZtm2POzqk4DNHSwy84rnWXoDVLRoHqjKJVa+A8gFwXHCw62s58v9PP1EuZpOy6CwHaxAEt4LYurN+8rUE7io8muqxjSHxW2519iKz8206aS1durw/b+2J7EsMqBFFmGsoXhpp8DMvNfEfp7hYi41FzSpmqlhLXaf6QQ1GfLkCgXxhjeyhDs/0FlM01RkCwy7ncBi3niaNohQmxaeRK48tzoQ6X7joF/TnDEo8J7NTshq/0kqb3pouqb93OenGTI X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 07:51:34.9711 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 327cd9a5-409a-4a72-08a9-08ded0fc3f96 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF000001EB.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7527 Received-SPF: permerror client-ip=2a01:111:f403:c001::5; envelope-from=FangSheng.Huang@amd.com; helo=BYAPR05CU005.outbound.protection.outlook.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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 @amd.com) X-ZM-MESSAGEID: 1782201151759158500 Content-Type: text/plain; charset="utf-8" Restructure the device_memory SRAT umbrella entry into a per-kind partition: each TYPE_SP_MEM device gets an ENABLED entry at its own proximity_domain; the remaining sub-ranges get HOTPLUGGABLE | ENABLED placeholders at the highest PXM, preserving the existing umbrella convention. Signed-off-by: FangSheng Huang Reviewed-by: Igor Mammedov --- hw/i386/acpi-build.c | 96 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 92 insertions(+), 4 deletions(-) diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 2ee061558c..8837b69687 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -52,6 +52,7 @@ #include "migration/vmstate.h" #include "hw/mem/memory-device.h" #include "hw/mem/nvdimm.h" +#include "hw/mem/sp-mem.h" #include "system/numa.h" #include "system/reset.h" #include "hw/hyperv/vmbus-bridge.h" @@ -1351,6 +1352,96 @@ build_tpm_tcpa(GArray *table_data, BIOSLinker *linke= r, GArray *tcpalog, } #endif =20 +typedef struct { + uint64_t addr; + uint64_t size; + uint32_t node; +} SpMemRange; + +static int sp_mem_collect_ranges_cb(Object *obj, void *opaque) +{ + GArray *ranges =3D opaque; + SpMemDevice *spm; + MemoryDeviceClass *mdc; + SpMemRange r; + + if (!object_dynamic_cast(obj, TYPE_SP_MEM)) { + return 0; + } + spm =3D SP_MEM(obj); + mdc =3D MEMORY_DEVICE_GET_CLASS(MEMORY_DEVICE(spm)); + r.addr =3D mdc->get_addr(MEMORY_DEVICE(spm)); + r.size =3D memory_region_size( + host_memory_backend_get_memory(spm->hostmem)); + r.node =3D spm->node; + g_array_append_val(ranges, r); + return 0; +} + +static gint sp_mem_range_compare(gconstpointer a, gconstpointer b) +{ + const SpMemRange *range_a =3D a; + const SpMemRange *range_b =3D b; + + if (range_a->addr < range_b->addr) { + return -1; + } + if (range_a->addr > range_b->addr) { + return 1; + } + return 0; +} + +/* + * Emit SRAT memory-affinity entries covering the device_memory region. + * + * For each plugged TYPE_SP_MEM device, emit an ENABLED entry at the + * device's own proximity_domain. All remaining sub-ranges (gaps + * between sp-mem devices, leading and trailing padding, and ranges + * occupied by other memory devices) are covered by HOTPLUGGABLE | + * ENABLED placeholder entries at PXM =3D nb_numa_nodes - 1. + */ +static void build_srat_device_memory(GArray *table_data, MachineState *ms) +{ + g_autoptr(GArray) ranges =3D g_array_new(FALSE, TRUE, sizeof(SpMemRang= e)); + uint32_t hotplug_pxm =3D ms->numa_state->num_nodes - 1; + uint64_t region_start, region_end; + guint i; + + region_start =3D ms->device_memory->base; + region_end =3D region_start + memory_region_size(&ms->device_memory->m= r); + + object_child_foreach_recursive(qdev_get_machine(), + sp_mem_collect_ranges_cb, ranges); + g_array_sort(ranges, sp_mem_range_compare); + + for (i =3D 0; i < ranges->len; i++) { + SpMemRange *r =3D &g_array_index(ranges, SpMemRange, i); + + if (region_start < r->addr) { + build_srat_memory(table_data, region_start, r->addr - region_s= tart, + hotplug_pxm, + MEM_AFFINITY_HOTPLUGGABLE | + MEM_AFFINITY_ENABLED); + } + build_srat_memory(table_data, r->addr, r->size, r->node, + MEM_AFFINITY_ENABLED); + region_start =3D r->addr + r->size; + } + + /* + * Cover the rest of the device_memory window that no sp-mem device + * occupies. Keeping it HOTPLUGGABLE preserves the umbrella entry's + * role for future pc-dimm / virtio-mem hot-add into this window. + */ + if (region_start < region_end) { + build_srat_memory(table_data, region_start, region_end - region_st= art, + hotplug_pxm, + MEM_AFFINITY_HOTPLUGGABLE | + MEM_AFFINITY_ENABLED); + } +} + #define HOLE_640K_START (640 * KiB) #define HOLE_640K_END (1 * MiB) =20 @@ -1487,10 +1578,7 @@ build_srat(GArray *table_data, BIOSLinker *linker, M= achineState *machine) * providing _PXM method if necessary. */ if (machine->device_memory) { - build_srat_memory(table_data, machine->device_memory->base, - memory_region_size(&machine->device_memory->mr), - nb_numa_nodes - 1, - MEM_AFFINITY_HOTPLUGGABLE | MEM_AFFINITY_ENABLED= ); + build_srat_device_memory(table_data, machine); } =20 acpi_table_end(linker, &table); --=20 2.34.1 From nobody Sat Jun 27 09:32:16 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=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1782201123; cv=pass; d=zohomail.com; s=zohoarc; b=Lh17wiogJwe9LXX5QegH/jBvdPyX9IF8uHZ60BScbCOteolX8m5v4Zk7TD6R/eIYHRvP+g6x420HcDn/aa1v8hkYiUCKVV2o1crFIt3nj64nBswxUNBti8D/f/SyrH6Po5gckf45YFvGlH+55eBiuGJ2Zz/7xrUgBS+oQWSRRok= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782201123; 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=zvn2DbhvmYkxJU4hIQ2m7Uycv31Z5NldVRCEfVIXlx8=; b=ZdsptFPxtcq9llzJGnI5QSS4ABc9x/C+9IRn1aEe0wSa8gNWRCw3SmGfyK9Z8OmQ9ugf5lxaI9vtgDVnAY6Gx/tSmeSmv3HdaxxnZ/X1Hpn0ZWf0MEHiQnqyqWLxEF88OiAbKaiWkmOS8TTKDjIeZUN6WnBmR/0Au+G7TyK+cYc= 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=amd.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 1782201123323510.703150753674; Tue, 23 Jun 2026 00:52:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wbvvG-0006Kw-Kz; Tue, 23 Jun 2026 03:51:54 -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 1wbvvA-0006Ff-71 for qemu-devel@nongnu.org; Tue, 23 Jun 2026 03:51:48 -0400 Received: from mail-eastus2azlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c110::3] helo=BN8PR05CU002.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 1wbvv7-0000hX-V8 for qemu-devel@nongnu.org; Tue, 23 Jun 2026 03:51:47 -0400 Received: from SJ0PR05CA0172.namprd05.prod.outlook.com (2603:10b6:a03:339::27) by SA1PR12MB8598.namprd12.prod.outlook.com (2603:10b6:806:253::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Tue, 23 Jun 2026 07:51:39 +0000 Received: from SJ5PEPF000001EE.namprd05.prod.outlook.com (2603:10b6:a03:339:cafe::3f) by SJ0PR05CA0172.outlook.office365.com (2603:10b6:a03:339::27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.159.11 via Frontend Transport; Tue, 23 Jun 2026 07:51:38 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF000001EE.mail.protection.outlook.com (10.167.242.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.10 via Frontend Transport; Tue, 23 Jun 2026 07:51:38 +0000 Received: from k-Super-Server.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 23 Jun 2026 02:51:34 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Q2KDA9VL6fny+UFA7SvDmMo6bv4yP4+QNjdDPfa2mXRhMRH4GuS/ACVP2L4+Q7HyJhybt8/bQPWynoTf3bKxtaBsXUzi8H/rRil4HcM2ld0SeGeoobcgYtIbAjkQG6pdwqPmajBI+0VTU0J5oqgi2+3W2pXyyM9lQU7+tljEphHyyjL2zD6UZHVMBaYnfZXfxKfOJCaA360JR7TkQ5LaALOVOcD3PzNZoqwZ7nxptaP9O2m4dwqaPtIcme9qy03svvKeoqh0a27e+53wllv+uZXgqfMMl2+62AF9CY6DSw4gmCOeapkvFlMvYVtgiWIbSbPi7BYRXx3IaG37+4dk6w== 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=zvn2DbhvmYkxJU4hIQ2m7Uycv31Z5NldVRCEfVIXlx8=; b=RbboPrWf7QANdY+IZsooDBsSuNN2lD7KMsrbETJ+j6GxLSLewqgzzZNFXB0PeATE9OG+H+HTwgPSYrU32OOSLw0KMRUlCAwGJop1CNngp553uKteadMuW7gEyavICFfeEj5cMXqOMeKMccKUstjYfUck/+IMYkDNCRvaIsBYpiNLTZgSDTm7LMw+MYNaf1+XldUTXN01qQbG3s6bNdJXKlPu5jk2Lv6+3x7dkZR895kTRMKjjKQJwbiHzOVNTb7KzNkJV+r/1NsNmQxzIkSqxUbxHv/uXq7w+YR1d4q/TyVbzWqeztaAA5wzDWLVFkb/sfiUheUrb0jUB3SY9FjUow== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zvn2DbhvmYkxJU4hIQ2m7Uycv31Z5NldVRCEfVIXlx8=; b=2cXFFZGV41G9sCqcX3ibbrdKJ1yCMa/PktVliETxvbSl13Ssh6lSHbGETL3r5fcZUNiHJiLnJ9/I/g8elT87BiO4GOpQy02vj7SZvfc572nNnSJ2bYRP1w6OX70dioIeQlFVl1X9sPhPugCuwhHo42nTePz5s3oXd/YKWPEkqyQ= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; 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 (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: fanhuang To: , , , , CC: , , , , , fanhuang Subject: [PATCH v14 04/10] hw/i386: hook sp-mem into the pc machine plug path Date: Tue, 23 Jun 2026 15:50:45 +0800 Message-ID: <20260623075051.3797975-5-FangSheng.Huang@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260623075051.3797975-1-FangSheng.Huang@amd.com> References: <20260623075051.3797975-1-FangSheng.Huang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EE:EE_|SA1PR12MB8598:EE_ X-MS-Office365-Filtering-Correlation-Id: a645ee39-062c-4eb4-abff-08ded0fc41e0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|82310400026|36860700016|1800799024|23010399003|11063799006|56012099006|18002099003|22082099003|43062017; X-Microsoft-Antispam-Message-Info: qMpfVqlEMWeM8PmQJYg1BC5q5G8EMbmYz9KZYUorJx2OLfXhcco4Yz4TOgyMlKORmJ8kFYuRFhWfHixP9i7n5UIpi6eS2appfIBXQxku6BxiUjjrotRQhVsUnK6/Pz88kGo5WBZ5A+YMHQAb5RRb8TNiCZMYmvOYSdKm3Fqqrs5Lh5rEDQBdyks5KHYS1x+bvUe+WbDyeiWMubwg/hvKiql8jwA5qtukVds66K+OgW7mYD+fJ1nkA2YqnoUImOMhv1qzBHv1hqYLLGHoDbjGw9td/lLxaMGHzlfAWA63BlD1cmMnAbj0H0eT9xYWIl1WtvEU3ISctDku3Ha8flgM1RcMwrIz5r0P7dII2XVXyQNwawlff61mndmYiCRjmXYXGhFpeiusjntbDXxTmWr8gXTO4+SqYe/n/a1V+lFyFjShvq3SGnuulw2weVECtOH2ySNrOmB4bFCDN3W3xIULFrlDp0ScSSQ5F7Tbw36WuqcmgPaP8I2A+QpO1zhzXE7JiYMYZ64nSi8KqwQqtbZRtaSE6gNEoLaag3nl0AVR+rtvYpq1rEWVspiwzQPIgbdBtFQFHpssZNne8oaqgx0lqrfLDfXQsobOOS8TtIch3ieUfWdtiJDPV2vflBhWXbbiY1I+91izYxmquEuBePx04OEGU+QnhzwNFFgpjnRFwHLILf/zFE8JOs8uzVRE2zTYeLUklqXIpVZghd/UmfvfDSeCbN6t/6di0IwVlPYY+up645zXUVg4NrLUtT8MGcLJ X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(82310400026)(36860700016)(1800799024)(23010399003)(11063799006)(56012099006)(18002099003)(22082099003)(43062017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: OoZlUF77o8GDS0Yby8Xbz8WLi1wudATusuhM8L0CvzK66YYdICZMENe0aUx9+MF3nmMFH94+LZ13NbKCObHNmj/0BdXmPgEzrTinmjXwzfHlZMH2JElb9dKv0yv4WqR/+y2Z5wTZFIl/nREspr2CnxiDlosAiSNEU4gOdi/x0XmvxgIX0/q5drVSF7oIdbUz9ZBjSHeZUrRn/Pj++tA6yKWzsQlbnTMitfjAy8ZlvjOKcSQm6OvzJu8I2CSXObk0IgH0mzwdomgMBSDP6UiwOTyvpN3hmjJK0oQl7vV+dtPO7bDo+euVjmCZ5b+G9EGpxnOrDt8a9fdkPedcn+7+nUolrOrfmce0UlbFsjQ0e5Y7Euc2UOd9Jmgt7EO2mmamkwJzA5NVUhOyVRGdgBkdFDAGJIudoDuDG9WMEVcfXltL63xwDpif7UuC58iwy2aN X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 07:51:38.7469 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a645ee39-062c-4eb4-abff-08ded0fc41e0 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF000001EE.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8598 Received-SPF: permerror client-ip=2a01:111:f403:c110::3; envelope-from=FangSheng.Huang@amd.com; helo=BN8PR05CU002.outbound.protection.outlook.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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 @amd.com) X-ZM-MESSAGEID: 1782201125788158500 Content-Type: text/plain; charset="utf-8" Add the pc machine hookup for TYPE_SP_MEM so each sp-mem instance is placed by the memory-device framework and reported to the guest as E820_SOFT_RESERVED. Signed-off-by: FangSheng Huang Reviewed-by: Igor Mammedov --- hw/i386/e820_memory_layout.h | 11 ++++++----- hw/i386/pc.c | 36 ++++++++++++++++++++++++++++++++++++ hw/i386/Kconfig | 2 ++ 3 files changed, 44 insertions(+), 5 deletions(-) diff --git a/hw/i386/e820_memory_layout.h b/hw/i386/e820_memory_layout.h index b50acfa201..6ef169db9c 100644 --- a/hw/i386/e820_memory_layout.h +++ b/hw/i386/e820_memory_layout.h @@ -10,11 +10,12 @@ #define HW_I386_E820_MEMORY_LAYOUT_H =20 /* e820 types */ -#define E820_RAM 1 -#define E820_RESERVED 2 -#define E820_ACPI 3 -#define E820_NVS 4 -#define E820_UNUSABLE 5 +#define E820_RAM 1 +#define E820_RESERVED 2 +#define E820_ACPI 3 +#define E820_NVS 4 +#define E820_UNUSABLE 5 +#define E820_SOFT_RESERVED 0xefffffff =20 struct e820_entry { uint64_t address; diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 73a625327c..2bacece249 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -63,6 +63,7 @@ #include "hw/i386/kvm/xen_gnttab.h" #include "hw/i386/kvm/xen_xenstore.h" #include "hw/mem/memory-device.h" +#include "hw/mem/sp-mem.h" #include "e820_memory_layout.h" #include "trace.h" #include "sev.h" @@ -1285,11 +1286,43 @@ static void pc_hv_balloon_plug(HotplugHandler *hotp= lug_dev, memory_device_plug(MEMORY_DEVICE(dev), MACHINE(hotplug_dev)); } =20 +static void pc_sp_mem_pre_plug(HotplugHandler *hotplug_dev, + DeviceState *dev, Error **errp) +{ + MachineState *ms =3D MACHINE(hotplug_dev); + SpMemDevice *spm =3D SP_MEM(dev); + + if (ms->numa_state && spm->node >=3D ms->numa_state->num_nodes) { + error_setg(errp, + "'node' property value %" PRIu32 + " exceeds the number of NUMA nodes (%d)", + spm->node, ms->numa_state->num_nodes); + return; + } + memory_device_pre_plug(MEMORY_DEVICE(dev), ms, errp); +} + +static void pc_sp_mem_plug(HotplugHandler *hotplug_dev, + DeviceState *dev, Error **errp) +{ + SpMemDevice *spm =3D SP_MEM(dev); + MemoryDeviceClass *mdc =3D MEMORY_DEVICE_GET_CLASS(MEMORY_DEVICE(dev)); + uint64_t addr, size; + + memory_device_plug(MEMORY_DEVICE(dev), MACHINE(hotplug_dev)); + + addr =3D mdc->get_addr(MEMORY_DEVICE(dev)); + size =3D memory_region_size(host_memory_backend_get_memory(spm->hostme= m)); + e820_add_entry(addr, size, E820_SOFT_RESERVED); +} + static void pc_machine_device_pre_plug_cb(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp) { if (object_dynamic_cast(OBJECT(dev), TYPE_PC_DIMM)) { pc_memory_pre_plug(hotplug_dev, dev, errp); + } else if (object_dynamic_cast(OBJECT(dev), TYPE_SP_MEM)) { + pc_sp_mem_pre_plug(hotplug_dev, dev, errp); } else if (object_dynamic_cast(OBJECT(dev), TYPE_CPU)) { x86_cpu_pre_plug(hotplug_dev, dev, errp); } else if (object_dynamic_cast(OBJECT(dev), TYPE_VIRTIO_MD_PCI)) { @@ -1326,6 +1359,8 @@ static void pc_machine_device_plug_cb(HotplugHandler = *hotplug_dev, { if (object_dynamic_cast(OBJECT(dev), TYPE_PC_DIMM)) { pc_memory_plug(hotplug_dev, dev, errp); + } else if (object_dynamic_cast(OBJECT(dev), TYPE_SP_MEM)) { + pc_sp_mem_plug(hotplug_dev, dev, errp); } else if (object_dynamic_cast(OBJECT(dev), TYPE_CPU)) { x86_cpu_plug(hotplug_dev, dev, errp); } else if (object_dynamic_cast(OBJECT(dev), TYPE_VIRTIO_MD_PCI)) { @@ -1370,6 +1405,7 @@ static HotplugHandler *pc_get_hotplug_handler(Machine= State *machine, DeviceState *dev) { if (object_dynamic_cast(OBJECT(dev), TYPE_PC_DIMM) || + object_dynamic_cast(OBJECT(dev), TYPE_SP_MEM) || object_dynamic_cast(OBJECT(dev), TYPE_CPU) || object_dynamic_cast(OBJECT(dev), TYPE_VIRTIO_MD_PCI) || object_dynamic_cast(OBJECT(dev), TYPE_VIRTIO_IOMMU_PCI) || diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig index 12473acaa7..e27d8816e5 100644 --- a/hw/i386/Kconfig +++ b/hw/i386/Kconfig @@ -84,6 +84,7 @@ config I440FX select PCI_I440FX select PIIX select DIMM + select SP_MEM select SMBIOS select SMBIOS_LEGACY select FW_CFG_DMA @@ -113,6 +114,7 @@ config Q35 select LPC_ICH9 select AHCI_ICH9 select DIMM + select SP_MEM select SMBIOS select FW_CFG_DMA =20 --=20 2.34.1 From nobody Sat Jun 27 09:32:16 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=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1782201159; cv=pass; d=zohomail.com; s=zohoarc; b=RP7siLFT/5ADf2QB1Lq4RXxNAF4vy/R1ODWinIjClydjNixUcfIAtpbYIWSLyxlOjzV8Ya6zxl+4eEHNOnXrd3QepnKdx61urwi5UgAD4E1smQJXz/QmKxfiyTOIuOhd68lytXxVrr7sZjA/eL5ikGQYiKnh6q2pupTBopYQbww= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782201159; 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=uI5ScM+oJRFbfYfZjtlPlPXO6mvy8/mwyn0hWf88JaQ=; b=mqiTM/kYERcXKBz+mh2GoHAAY2MtCGsLJi5ZagxPNKSfoKWzN/ZMxiMPJ6imN7NJJZvQyJo4WPJF15AsZTxVbTpzkRJFpbKEJo1TyWCCyXF8hbDVpSaz9bYS8I/wSGxrSq2nprEEhSrXYryonBPh8cKxY1AvvvlS+9jilTJaHmk= 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=amd.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 1782201159705260.78735876931853; Tue, 23 Jun 2026 00:52:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wbvvE-0006GM-OG; Tue, 23 Jun 2026 03:51:52 -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 1wbvv9-0006FZ-Dt for qemu-devel@nongnu.org; Tue, 23 Jun 2026 03:51:48 -0400 Received: from mail-westus3azlp170120001.outbound.protection.outlook.com ([2a01:111:f403:c107::1] helo=PH8PR06CU001.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 1wbvv7-0000hb-QC for qemu-devel@nongnu.org; Tue, 23 Jun 2026 03:51:47 -0400 Received: from SJ0PR05CA0157.namprd05.prod.outlook.com (2603:10b6:a03:339::12) by SA1PR12MB6727.namprd12.prod.outlook.com (2603:10b6:806:256::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Tue, 23 Jun 2026 07:51:40 +0000 Received: from SJ5PEPF000001EE.namprd05.prod.outlook.com (2603:10b6:a03:339:cafe::70) by SJ0PR05CA0157.outlook.office365.com (2603:10b6:a03:339::12) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.159.11 via Frontend Transport; Tue, 23 Jun 2026 07:51:40 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF000001EE.mail.protection.outlook.com (10.167.242.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.10 via Frontend Transport; Tue, 23 Jun 2026 07:51:40 +0000 Received: from k-Super-Server.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 23 Jun 2026 02:51:37 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dcHuwXsBx7HjcVjwlblocBAdbztEy45oSWcy/Lwj59qZG8CgzPaai8zk/Vu++0vubdGy4dGxjugTyi7LOUY+CvWbN9eYEuY9KuEJH4m/TyNMUnRgbspV4WtAGQ/1ydz8+HFDX5F09HmB2adkLQvJvAKCuBgerQ3yAuIFZZ6gVJrOIKnNMHnCQRY8evwx5X+OJaj+Elaje8hTzo2l924c1paTBBlQqr8fHypID3A8bCDuvzNqGw3I9UYENT3l7qkDmUva9Qf1cT/91R13jRMf1wjiwJJcihSy3v+oTnsSMYE9Y+TMI2FBJTHpKEAkRv7TGRYHnhv78gTvw4gDX38StQ== 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=uI5ScM+oJRFbfYfZjtlPlPXO6mvy8/mwyn0hWf88JaQ=; b=YAjdBOkqCGOHzsb6zOKL9KuHsxisiCZDlIcQHFcAEQzpTLeuKTyAHBbxI6xpou6AI2dphKXl3N/EeAadanmZHylAqyA5I6/ghbHpZfguik2SZWn00pZKaSAAdSd4o35JzTmTjjdmddWyniL4Cq9sR+zTvUED6ZhnRn7W/GOQUPLEkKI+crEUStSsK+GLhRcacaZ/tsACetOVzfrl1Oxkk07ktgrZmbOs6F0CGk2notAtEneEuQfQoDm5R7xmEuWWIgdHEM98IxePdYU2IF/ekAUpCGu3sTHT53h+4CU9ZVDnWr/C4DTbntFqKLiEHoD/VGD6CUmiFWA3wvPotfNGig== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uI5ScM+oJRFbfYfZjtlPlPXO6mvy8/mwyn0hWf88JaQ=; b=q9iKoHZT26kVyQ10tgasSAap7kpOfj18HyqiJEytStQGAaEW3ePZ+8iLmwMuPKw+3dyRXUqxfg5SjxQynf40KLGkonHZ2VfjrPSv+gwm2P914a+aeDIx7GtB1n9Hs76xtO4cOdBs4qJyEeq4zIQJA4uE4Rzkh80h0LyguHE61TU= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; 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 (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: fanhuang To: , , , , CC: , , , , , fanhuang Subject: [PATCH v14 05/10] MAINTAINERS: cover sp-mem under Memory devices, add R: tag Date: Tue, 23 Jun 2026 15:50:46 +0800 Message-ID: <20260623075051.3797975-6-FangSheng.Huang@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260623075051.3797975-1-FangSheng.Huang@amd.com> References: <20260623075051.3797975-1-FangSheng.Huang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EE:EE_|SA1PR12MB6727:EE_ X-MS-Office365-Filtering-Correlation-Id: 4666f5a2-b20e-4307-7e95-08ded0fc42bd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|376014|82310400026|1800799024|36860700016|18002099003|22082099003|11063799006|56012099006|43062017; X-Microsoft-Antispam-Message-Info: 9PA4sZa+6lSZNI1+WL2hJogiSNJZPGan18o971oZxnCD0M6GbU71BOU59SUh9t0DXioJhlBjs1K1eMGRSN6nxksRd5yXIFFIchCv7QVG949dUOlwrASpu1Jt0QmAslpP89ewS9Rr7VIRtbDHX0rLEWDgKxaq7CiRVIntiiEJn/4jB2Qi7d3x8pnANxMsJ31J2S3GvMueJD/042WsLM4RgcMCRG9bzDfR7Ipc4K8XuojkSZGis7SsR2wcsvGTAHQMLKHZnQRREmmn8hjkVQwD8m+12f4LBWQwYvJynNKiN+PGmQBa9sprwrlB4zjxUnaL0MhhUebscrWGrZQMYgoN9MlTKna1RPOOGsGo++Gsh60YFg6dZqT4FgblHszwtKnILggy42lWKV4/cWqrm2RJ4jDOEj/PIDHeYt2fX4g4uoWVMcRZ5ff5kzmdFL4/+mQmiBEp0wZUdMC+EfUmkn9eshxWgNDwI0iNl09uouwDAHyTRz1Ln6z09Gvdwj6H8iNOO/QN5X3yuvxQWMC9T1Q3KYg7GWCmjScJ2rO0alPSKHONdlzH/LJ0tW9+/VlgnwBdzt6Aks/E5LLsr06y7Z7y1h6DGsklMlqDa+2Kg/GEzchsiTYVi9YwyxgaFmraNRJQSygv5QpVgI0qZx9uZ/nwInozuHWzp84r3SwnBoqzzK17qJJYvxiKtm/wBoQ1zfaTXuUfspn0xS8RBlXchVL+GSdcURkpOpgpeXW3rpN2bdTMDMlAtCQgCOWM2p8X9rWY X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(23010399003)(376014)(82310400026)(1800799024)(36860700016)(18002099003)(22082099003)(11063799006)(56012099006)(43062017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: kBQ42ZJyJDevBsh+HIMrN8AZRr0HoSzSB80XQ8U8Bxle98xNvLNXGY8bRfleeuw3XPrZmcysbzdQwEgJAXtSAMBiUFoDZsWS6A3m/j3+UBMUFhmXR5EhJO968k3MNCu073TZHXesEw5mB/0zPHRaKvpxbK/fUCm1DZr2ZFdO2AaJ9R0XkT9r+Cm+iz9X37Mzpf2HhKLzpUIXIn7HiIW2JhSvJFXALADWdJhPzZNGYjdIDnfgXsRnKueDK6xRTRUVq1YwGHfEDoDmRq9yoRpywg89n2UjdqABgKCDFNnp455n76uRjAEJGwWTEu2ReAQI8Wx9ZJSBp8FLuaW8wKoA39sI+4zfBBRM2m00qRZnv4LZE1ux78gTQ8O97SIIqWXZ+DQA5vWuSCutvHBQo3nSYCGCsWy/gzAd43+2rMqhlhYt1JlPCVyhhjpfblxoYZk+ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 07:51:40.2550 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4666f5a2-b20e-4307-7e95-08ded0fc42bd X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF000001EE.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6727 Received-SPF: permerror client-ip=2a01:111:f403:c107::1; envelope-from=FangSheng.Huang@amd.com; helo=PH8PR06CU001.outbound.protection.outlook.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=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 @amd.com) X-ZM-MESSAGEID: 1782201161624158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: FangSheng Huang Acked-by: Igor Mammedov Acked-by: David Hildenbrand --- MAINTAINERS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 93df53d87f..08f0d11a74 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3364,13 +3364,16 @@ F: scripts/coccinelle/memory-region-housekeeping.co= cci Memory devices M: David Hildenbrand M: Igor Mammedov +R: FangSheng Huang S: Supported F: hw/mem/memory-device*.c F: hw/mem/nvdimm.c F: hw/mem/pc-dimm.c +F: hw/mem/sp-mem.c F: include/hw/mem/memory-device.h F: include/hw/mem/nvdimm.h F: include/hw/mem/pc-dimm.h +F: include/hw/mem/sp-mem.h F: docs/nvdimm.txt =20 SPICE --=20 2.34.1 From nobody Sat Jun 27 09:32:16 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=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1782201128; cv=pass; d=zohomail.com; s=zohoarc; b=Q7fZyogUsiHGVe719elmVrOi5nwweK65M2dltaW256NTuEJ7Vbq91JQNQ30MUvZWCvLOri+M4t8Fmbf11whohPVGjgoHoc+ZwolDI8uaTKr6rC9YA5OL9uomN8tYqvevBaJjiYLP+p4Wg4jIfgwMCXECSmbrcu7OxaFpwb7wf6Y= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782201128; 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=hP9zeM9FmMTi0J7AJNsJ0SXrUQIFN+IPl5FqEzyALDw=; b=Vmc7M5aaZzXzYK+7cbhdJeCgHmbrNHKFYF7zElWZXJUldbLFzDQCPjnSe7Z5wtV50r3oFVfsqcWMTkEK9FesqehOitrxDNlCdMMKMRr3fj3pXGnSTeJbUoUL0rNbYBa3FmYso9+UVDS1svwLY2wTfsC+08t1NLOci1nfxtXmc0o= 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=amd.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 1782201128889459.2653406317204; Tue, 23 Jun 2026 00:52:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wbvvO-0006cs-5J; Tue, 23 Jun 2026 03:52:02 -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 1wbvvM-0006Wo-GC for qemu-devel@nongnu.org; Tue, 23 Jun 2026 03:52:00 -0400 Received: from mail-northcentralusazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c105::5] helo=CH5PR02CU005.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 1wbvvK-0000jD-Mu for qemu-devel@nongnu.org; Tue, 23 Jun 2026 03:52:00 -0400 Received: from SJ2PR07CA0004.namprd07.prod.outlook.com (2603:10b6:a03:505::10) by IA0PR12MB7556.namprd12.prod.outlook.com (2603:10b6:208:43c::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.19; Tue, 23 Jun 2026 07:51:44 +0000 Received: from SJ5PEPF000001EC.namprd05.prod.outlook.com (2603:10b6:a03:505:cafe::2) by SJ2PR07CA0004.outlook.office365.com (2603:10b6:a03:505::10) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.20 via Frontend Transport; Tue, 23 Jun 2026 07:51:44 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF000001EC.mail.protection.outlook.com (10.167.242.200) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.10 via Frontend Transport; Tue, 23 Jun 2026 07:51:43 +0000 Received: from k-Super-Server.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 23 Jun 2026 02:51:40 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bXg/fu3GE3SAwsvMtrAt5VHGAt8Me/JIzcdtFrJmfh+AgvWteb4AfU0Znw1Vn+QHXcNk56vXkn4xhBxeO3O4vruUc7uRx/KGpWd31GLUKr2AafGHo2vMi3no1XvBsb18C+jmqO3wGjsnGCtsWe1YAA/3fmsFhFoEp+fCRqEgyknE1rUn5CzNemMtAkS+65YwrWRrxY24AAoxv8FFQoRQ0jYWu54qTMo8759/E7N9LY8HZx65CnugvMmek5HVmdOobgDceOcIU6rBVdBR+nx8o9sAx0tNc/qNC6jQ1jOOJWoqNR2Mo4jmOmv7of4lgG2m886rnNm63QtqzRwEoxL7Aw== 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=hP9zeM9FmMTi0J7AJNsJ0SXrUQIFN+IPl5FqEzyALDw=; b=Z4/VYjTLMPe7f7HnDv+wby9bhg/Aq7c13tj1UkyL8Kw9mWARahThlM+hp5LHUHmupBK2K66Z1QKuE0W0rEj8PfTMpOQr2PZEyB/8/ZIgmJPyFAf3ldxMcvmcxj0mAEFK2NNpZ/5YbDFQgZ1rYUCX99SykT1wgO00HsFTt7smtONFO7cCFkr0sjrd0He4G0ZIz0NYy25vySSyV9b2Mkdf0ZRaFTgWqim0V0slwJTtcScRmJyuc0udwVGzwCYSyogUwEoTrCGCBY7mQs5WOUdFbW2LYaTr5xWW2O/0YpiRgqu0iNTPLPbJucKlTbYgkupFJE4I4ykr+2ScCFXWKWe+lA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hP9zeM9FmMTi0J7AJNsJ0SXrUQIFN+IPl5FqEzyALDw=; b=VOf94Ze64p5GHzTp/cfts16F5FlIiefv2AlTpO5VeHXW2Tw+/DYLpcIoP0vGKupmg0bHXROWc1RNPvbSWdIhdjWWoSuwfKt0ev2Ziz403XrAeHe1ZNKYR+IAMiuMjDzfZZFZvMoueTkUU5ulhsp7sBvwvNwxubTSCcO4DwUb80s= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; 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 (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: fanhuang To: , , , , CC: , , , , , fanhuang Subject: [PATCH v14 06/10] tests/acpi: add empty expected blobs for sp-mem SRAT test Date: Tue, 23 Jun 2026 15:50:47 +0800 Message-ID: <20260623075051.3797975-7-FangSheng.Huang@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260623075051.3797975-1-FangSheng.Huang@amd.com> References: <20260623075051.3797975-1-FangSheng.Huang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EC:EE_|IA0PR12MB7556:EE_ X-MS-Office365-Filtering-Correlation-Id: 5cd62442-b2c0-43c5-c0fc-08ded0fc44a8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|23010399003|36860700016|82310400026|376014|22082099003|18002099003|56012099006|11063799006|43062017; X-Microsoft-Antispam-Message-Info: d5i35MiWJXpIojelX2CiGb9L5OtnfjWCGz++Bt0puN9+yiFevSH6HU7726Izc9AEnV65fqV3ULLuJuRNn+8RBaP166HLqT8COCGlSF26fZg63e5cuY/vv4sX1+FWm62QTmVy8dl28WH8r9itf6X0UEZFwmL/NXA4QLeJfYmkWsXILdiVXoGnA4I0Ygs4jSgpdpVmkdNfgY3hXu3QwCTbRogwidOpKzeOY4mCUQqhV8oq4rLItsTN9Q0qUNi1fI+n5R8KU9QB7kAWS48Rh/rblDxvn/WqC5wL6uvXTI+csto8VVf0nQ44pTIo5FtkwOu/s70k7haSR1WWqrUgiFGh9BS4xllXngVb8vXwpxUWlx4TsGj3frn1fkvDaX3RyyNB8P91ZtXvkOx/qMe5Gex0ebEtqI6hK4M0xF+/W8kJ9A8F6fzk7/5CC+Yu5U2nPkpJPtT4jQUykaYZ/C+qaarIG/oTKVyjDWK1vFq6Bd1UpnPMxlcu65L3HsYWMhcGy2X10ms7sjdvZIucLuH7ThDsoojam5SpnKnmV8jVkfAUzBez0BdV9co+Hn4PLcJDOjMsrFYJh3NveKV+W8fAGqzv4Kxtn9vSsQvT0vAt0yTKYBOysBrU0obynUMqtfKRwZLj X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(23010399003)(36860700016)(82310400026)(376014)(22082099003)(18002099003)(56012099006)(11063799006)(43062017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: I0E+69LJq2WWPlFBO4SzxEWMDr9Kp1q9wHu6On/mtAk2WIqvw2jiFvYk7CI2hpzGb4XQbxM+ZPGXi0N3ECOAFJGuJnXE7mUoIgF2lQRnkQ+K2rv/0WDd0h2IgBzR6WsMvcwGK1m+vx+9wPQXqvOOoAzCW3Hkc9g41+CCBmo8RtbKtVIyYnnano0DQ4B5Brt5RfJWuGZfzToVbqYvUgH6+TkSXC7ALYVvLUsp5LUqqFPaEX48ctjaZ2qFVCqRLQOqVwEPrids6X35Dd3qOGYWq/Fi3Bf25HY4NfPlhUj5JSYtESqjobmzWtq/2YpFtsP2h03bDKB0jbAQYl2vOHN7gyDrwBzeHppbO+WY1JUEQ0ktNrzmiPKBg3mySvmutYvQFzY54OVlPNbx5F465bYnULtKQGRTcKi6+s/8AmsopMjeMPC7dAgEUdViI5ZYrB1E X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 07:51:43.4171 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5cd62442-b2c0-43c5-c0fc-08ded0fc44a8 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF000001EC.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7556 Received-SPF: permerror client-ip=2a01:111:f403:c105::5; envelope-from=FangSheng.Huang@amd.com; helo=CH5PR02CU005.outbound.protection.outlook.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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 @amd.com) X-ZM-MESSAGEID: 1782201129724158500 Content-Type: text/plain; charset="utf-8" Add empty SRAT.spmem and DSDT.spmem stubs and list them in bios-tables-test-allowed-diff.h. Signed-off-by: FangSheng Huang Acked-by: Igor Mammedov --- tests/qtest/bios-tables-test-allowed-diff.h | 2 ++ tests/data/acpi/x86/q35/DSDT.spmem | 0 tests/data/acpi/x86/q35/SRAT.spmem | 0 3 files changed, 2 insertions(+) create mode 100644 tests/data/acpi/x86/q35/DSDT.spmem create mode 100644 tests/data/acpi/x86/q35/SRAT.spmem diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index dfb8523c8b..188003fa90 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,3 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/x86/q35/DSDT.spmem", +"tests/data/acpi/x86/q35/SRAT.spmem", diff --git a/tests/data/acpi/x86/q35/DSDT.spmem b/tests/data/acpi/x86/q35/D= SDT.spmem new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/data/acpi/x86/q35/SRAT.spmem b/tests/data/acpi/x86/q35/S= RAT.spmem new file mode 100644 index 0000000000..e69de29bb2 --=20 2.34.1 From nobody Sat Jun 27 09:32:16 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=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1782201172; cv=pass; d=zohomail.com; s=zohoarc; b=McH9QS3axF4QUUwT6KgBaHlmssYlWZ5yYgtoAaYYxpnGphfpjR7BjlQAjBYjcNG2mkjEKZtPJvcvW+VfnmVSlAQNbdiq1dDwIrLSCtIppXcxe4eCMzV2i2iguPgqfdrNkXtag0NggLHVnnwaqHKBa1JsFPiWgbKdrGC2FefWRRs= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782201172; 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=IKYEAMa8cYWWXqlG84PAdCOA+Bdi4JeFtZgyp0wZXeM=; b=Yww/BLEqhMD9D9os2fqlsOXVgHiNtc3qzGmKcbJEyA15zi+P5HGyNyKuzaxxqmXABwL/G9mdJpZ2iXWimO8MpvSHyXW4PsgqJy/8n0qwwHJejJlAu3y0s9Yle7Ffghb5HzlN2ByUe5gz8yaIr8hhfLC/rnpn40XE8Vm9P8ypiME= 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=amd.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 1782201172542156.62351566315908; Tue, 23 Jun 2026 00:52:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wbvvJ-0006N6-MQ; Tue, 23 Jun 2026 03:51:57 -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 1wbvvH-0006Ls-GB for qemu-devel@nongnu.org; Tue, 23 Jun 2026 03:51:55 -0400 Received: from mail-westus3azlp170100009.outbound.protection.outlook.com ([2a01:111:f403:c107::9] helo=PH7PR06CU001.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 1wbvvF-0000iL-K7 for qemu-devel@nongnu.org; Tue, 23 Jun 2026 03:51:55 -0400 Received: from SJ0PR03CA0292.namprd03.prod.outlook.com (2603:10b6:a03:39e::27) by DS0PR12MB999081.namprd12.prod.outlook.com (2603:10b6:8:2ff::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.18; Tue, 23 Jun 2026 07:51:46 +0000 Received: from SJ5PEPF000001EF.namprd05.prod.outlook.com (2603:10b6:a03:39e:cafe::4b) by SJ0PR03CA0292.outlook.office365.com (2603:10b6:a03:39e::27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.20 via Frontend Transport; Tue, 23 Jun 2026 07:51:46 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF000001EF.mail.protection.outlook.com (10.167.242.203) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.10 via Frontend Transport; Tue, 23 Jun 2026 07:51:46 +0000 Received: from k-Super-Server.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 23 Jun 2026 02:51:43 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UF/r0u+059bad1Yz5dUMGOhb2ve/nEE/Zadnme5BtGRfq1oRALmnXqBBXmBFYXHLyDBIy2oQSwL5HKLtVwvePw1KJ1D72c/Uhn3nf2Zb22KUUeeJgGZ4VVPmnHJBQTGuqEQUu2yVZPoNsiNzud/ZZ7nW8k8wG4xGRVA/iI48HV9b/wZvgbrcjyNFS5Yr6qbF0+MxsF3tirbx7dt0gXri5NgNG9zkBJ4UAFkejTa14/Nf3r9gbaMmeOkb8bFFSmbWNPRic3+sKhvrQI3ojhHkmdOPLLE1T62eABXqGJYWblHvLDq95v3JVy63lF0Fa7YrHeILh7oFZIt/+AAWDMayUw== 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=IKYEAMa8cYWWXqlG84PAdCOA+Bdi4JeFtZgyp0wZXeM=; b=u8ZXiFn6xm8RS0rK5mMj/64o9u5oufrpOgBq6MqsY2WxJXkv+IPZG0VxQ/rMJE3VEJ+4CzXF5InLy7TUNSqN3str5KHjPZ5u0dOA2o+Ljs/I0Euo4qFoiNNSueHHyIu4K+vj3meUSnfGykL4kARlRLJZ+I8ppSb7kyWWC7E2P7KOp3Cy/+sz76W23wATE4gcjL2YnG2DTL9YYNr5ciOPii2B+7ffnGrtHLRYbFAKJT5EtJxV/tD8UhyKhRHX/9Ptf02dAZ8HDYJ+P/v6D4p4szhsiMYmYnn+PP6JqZOL37duED97lQINN5J9AZ8QvQm2xzlsM6bhQ9CnhIL75TpIpQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IKYEAMa8cYWWXqlG84PAdCOA+Bdi4JeFtZgyp0wZXeM=; b=S2xQNABVVfEGLR8JUiSkd8kqmKchvRnsGmm+KVTFq/Iag4WTcm6CgnkvUgv1bxTqqMlIr05Za+iIwfJTco8N8GRlVbP+1yaKetUKIjKMF+A62LutpHMW/HhlzSLmfLqguZuHEkyN4JYLd2aYrwsTeROjYJSmaurqNRNqj71W0Bw= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; 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 (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: fanhuang To: , , , , CC: , , , , , fanhuang Subject: [PATCH v14 07/10] tests/acpi: add bios-tables-test case for sp-mem Date: Tue, 23 Jun 2026 15:50:48 +0800 Message-ID: <20260623075051.3797975-8-FangSheng.Huang@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260623075051.3797975-1-FangSheng.Huang@amd.com> References: <20260623075051.3797975-1-FangSheng.Huang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EF:EE_|DS0PR12MB999081:EE_ X-MS-Office365-Filtering-Correlation-Id: 34bf975b-a4e4-45f7-e44c-08ded0fc465d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|376014|23010399003|36860700016|1800799024|22082099003|18002099003|11063799006|56012099006|43062017; X-Microsoft-Antispam-Message-Info: +NADthi0WVY3t5GYBy67pAS+RLOAXW6bD6bcEIsT9cbdwHwA2PdYQhghMgu+JfzmF/gvx7OEwJAH5SbN5JOeYTUNuMnaWoktKJbIZng75w2VPNKgeLATUwSUfvcIEuoX5zmSaxDDNXwzDjDOuoShiKV0fwAWF5HK1LEfT8NLt0FkkJnmTHUb0oOgMLG5eQ1oMEJZyrqgsxw+uU/NBQ+A/kUMsT8ZhvqckcGeFHUeoEdn1cnMgj3c3xLBeojysfdye6Ka2YKxRbYlMICx+OzodBW9Q3SjRn9uTPH2bpWQMygd07kGhAcYIvjrQU7V17Ot0Ge9HNhjB2ML7qDsd5/Cp+HAXk6g6NZwsY8t6hO6n+WMTfI++QIYboV21gUYVSekI1SczQFUpxy7ybp8xkEEDf0HplCdUsaClD0TmRCdDOp/oOzdFpGdtRALEnusr1wp/iBHho4NCA7Ni61ybXOHK14y+WX/oO9CT8mbaqymzjKwsmjvbQFAAtWKNN4m/Br7hXV9SSMxEoWQfNM210IT8KE70NK6F3aZH23EmI1ozYz3q/TaNlt9xnHqtFOOO4DelQrJ/cG/99qoXNLkxADc4R5VZ0wib5dJg3yTQm3Oqv/UfObd0uxnSpH+T3kJEex+38yHiMneIukC+K8r9atlqX43JwkmWO95IIXzQWsGVs7L/g8jlb31NO3er83B5NzEjONGtZTpC4dYVFaWGMQYo+a9ELxuzhBUtZ//OurLm69fOEIKV/uZaWi0wSbvy4rg X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(376014)(23010399003)(36860700016)(1800799024)(22082099003)(18002099003)(11063799006)(56012099006)(43062017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: BHV91XNlteaMOAd24S59TcQTxySaZcvUIZsjVcRuFT/u3f4gP/ybmli4x/4vOR6B0LkaXP+0u500GoIJn9EUIRvpVcVwz9BgM1a8lsuAM2T1qU7lzCP4vK8FR7nxR+emE2Nz55kh5VtyJNYeNQQZFOGlrOTyLQI+wyJF8fPBiZJREjGAgI+aEkFxpZCDqxY9E4W5Z7p4GZz1pDk+AxV00chfggLk3zURbWgY0/UYrCGMgrwWwmbxnSwt29r9hPQFfIJoPC02tkNLv7Kgy1EuAI7W0pZig7xGGxAotyOjsndjZeHNu6aOA241nS19sUS8N5e0TEtON+Vgsjub5cDW7MqOOF+C3qLQNRAc5PonYXEJ6lLjwGPGz7/Th7dRUC4qfHowpc4WcP/cGaex41l9YdOUB10NCpwqejRhwV1a8AW764qX69GQwMe2z7JS92/6 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 07:51:46.2757 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 34bf975b-a4e4-45f7-e44c-08ded0fc465d X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF000001EF.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB999081 Received-SPF: permerror client-ip=2a01:111:f403:c107::9; envelope-from=FangSheng.Huang@amd.com; helo=PH7PR06CU001.outbound.protection.outlook.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=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 @amd.com) X-ZM-MESSAGEID: 1782201173706158500 Content-Type: text/plain; charset="utf-8" Add a q35 bios-tables-test case that boots two sp-mem devices on distinct NUMA nodes within the device_memory window, exercising the per-kind SRAT partition (per-device ENABLED entries plus HOTPLUGGABLE placeholders for the remaining sub-ranges). Signed-off-by: FangSheng Huang Reviewed-by: Igor Mammedov --- tests/qtest/bios-tables-test.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c index af6d9b5136..45abd8bd8c 100644 --- a/tests/qtest/bios-tables-test.c +++ b/tests/qtest/bios-tables-test.c @@ -1416,6 +1416,26 @@ static void test_acpi_q35_tcg_numamem(void) free_test_data(&data); } =20 +static void test_acpi_q35_tcg_sp_mem(void) +{ + test_data data =3D {}; + + data.machine =3D MACHINE_Q35; + data.arch =3D "x86", + data.variant =3D ".spmem"; + test_acpi_one(" -m 128M,slots=3D4,maxmem=3D1G" + " -object memory-backend-ram,id=3Dram0,size=3D128M" + " -numa node,nodeid=3D0,memdev=3Dram0" + " -numa node,nodeid=3D1" + " -numa node,nodeid=3D2" + " -object memory-backend-ram,id=3Dspm0,size=3D128M" + " -object memory-backend-ram,id=3Dspm1,size=3D128M" + " -device sp-mem,id=3Dsp0,memdev=3Dspm0,node=3D1" + " -device sp-mem,id=3Dsp1,memdev=3Dspm1,node=3D2", + &data); + free_test_data(&data); +} + static void test_acpi_q35_kvm_xapic(void) { test_data data =3D {}; @@ -2807,6 +2827,7 @@ int main(int argc, char *argv[]) if (strcmp(arch, "i386")) { qtest_add_func("acpi/q35/memhp", test_acpi_q35_tcg_memhp); qtest_add_func("acpi/q35/dimmpxm", test_acpi_q35_tcg_dimm_= pxm); + qtest_add_func("acpi/q35/sp-mem", test_acpi_q35_tcg_sp_mem= ); qtest_add_func("acpi/q35/acpihmat", test_acpi_q35_tcg_acpi_hmat); qtest_add_func("acpi/q35/mmio64", test_acpi_q35_tcg_mmio64= ); --=20 2.34.1 From nobody Sat Jun 27 09:32:16 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=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1782201127; cv=pass; d=zohomail.com; s=zohoarc; b=EvH84g3f/QdqTRVKXMfpVUbzvig9oIs0zi0i95IzTeEZqNxQ4ZAgakVCKEYSos42p6/RV6exSHxzF+kyUs1+4EpN/mhZM+6cbiWEXqp36O9UFlxOOpBkSp+vf83DAU7kTqyHbFF5aXGZhDEO8YxyyASllqfDDvdX/xZKWgoys/o= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782201127; 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=KCEplKdFdTv3IF2poyuVqzDwq8cfF/iN16SHhrSUInE=; b=jjhxef0U1gY1cJYhUX6UUy4L9cRNa27gVTt2vWKZ2iWgWm11OpqKDIrLZx6s1Iaa8ZAgo60YGAaDow7WHZJMPgKBKNK3bnJkdw5fDvPH1N9obkhA8z4yrEcq8gzT9tv09pBKxjvZJInfzd3tZsb1c+h+w8syzd5nVVXAAVdohI8= 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=amd.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 1782201127831902.9466766444941; Tue, 23 Jun 2026 00:52:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wbvvL-0006Uq-VE; Tue, 23 Jun 2026 03:52:00 -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 1wbvvJ-0006N7-Le for qemu-devel@nongnu.org; Tue, 23 Jun 2026 03:51:57 -0400 Received: from mail-westusazlp170120002.outbound.protection.outlook.com ([2a01:111:f403:c001::2] helo=SJ2PR03CU001.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 1wbvvH-0000il-6m for qemu-devel@nongnu.org; Tue, 23 Jun 2026 03:51:57 -0400 Received: from SJ2PR07CA0012.namprd07.prod.outlook.com (2603:10b6:a03:505::13) by SJ2PR12MB8806.namprd12.prod.outlook.com (2603:10b6:a03:4d0::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Tue, 23 Jun 2026 07:51:49 +0000 Received: from SJ5PEPF000001EC.namprd05.prod.outlook.com (2603:10b6:a03:505:cafe::81) by SJ2PR07CA0012.outlook.office365.com (2603:10b6:a03:505::13) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.159.12 via Frontend Transport; Tue, 23 Jun 2026 07:51:49 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF000001EC.mail.protection.outlook.com (10.167.242.200) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.10 via Frontend Transport; Tue, 23 Jun 2026 07:51:49 +0000 Received: from k-Super-Server.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 23 Jun 2026 02:51:45 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Syt8rsm7KqYEt9FWKLKG21hVmqqiIQxfFZL3yvArxfxNMnktUBkSgE06POFr3ELyzqqdcmk1L0gDI+X6+337VQVyt2QDG/5Uu1Cki14mc+6q2l6HwyV06BVq8JkbeTLiN8YBkSmJwXc02jGX8dxwrc65UnDu96VaN747iL2uYFX/vtaoB1GurR+DcFQ70eSom31nXAf6wzLMfRV9OqxDU9cjHi9mFgdG+BdPlhCu9dEo0Uu1irPL1cOEfDrX4IUcsM131BWYEJMcBLzhvKaEReJ1vsTlH9/uRA4nGOKufkom97LEBzwC8R7Y4+y1yg6aCuHnqEKwfWENOpdohKSamg== 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=KCEplKdFdTv3IF2poyuVqzDwq8cfF/iN16SHhrSUInE=; b=e9XZYIiY32z8/ILSn5Yo3iOlZ203GtR2XS7sYjQ81LNysLYGawDoWsxoEoPqA7xihmUYvEk3i+jVNTojfHtT9+xY904fA3DGfsloIGKEu+EbC9AjUXF17HIsaU9qMt3+J9RRnk/vhWb26WzRT3p3dLd92zOSwnPyK3ekRzKEIfdt1XEDE6IIzZJvTYNVEfsPMef03L/sjggVkmC617KLAY13TFrIzhjgwn+nZHBTUo0wA2hy4waA3o4W2myo10oTQutoLq7qUtpmrNJbZ1Unbvbn7l1ielKTdg2Q2dzljlhGLm22SqRHnDI3uVEPzjmzVXPF5fj/GgoAXwgBP29Z+g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KCEplKdFdTv3IF2poyuVqzDwq8cfF/iN16SHhrSUInE=; b=SKsUfgrYGZENfyDpISWPnvTloMe+gLLIXFPWt1ry6JovR/YXvX8KFdPuF6KGYCaMBnSLt9ZEFjb31IHDegecsPK1/TpUkpPj4f6c1aL77zs+pTrcHDG30xiRNVUFgY1pMW5LQ+E+tylGYjdRXN8Pp7NyT4ufz+TCytAd3V1qeC4= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; 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 (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: fanhuang To: , , , , CC: , , , , , fanhuang Subject: [PATCH v14 08/10] tests/acpi: generate expected blobs for sp-mem SRAT test Date: Tue, 23 Jun 2026 15:50:49 +0800 Message-ID: <20260623075051.3797975-9-FangSheng.Huang@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260623075051.3797975-1-FangSheng.Huang@amd.com> References: <20260623075051.3797975-1-FangSheng.Huang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EC:EE_|SJ2PR12MB8806:EE_ X-MS-Office365-Filtering-Correlation-Id: f9b91495-7195-443b-34c4-08ded0fc4812 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|1800799024|36860700016|376014|23010399003|11063799006|3023799007|56012099006|22082099003|18002099003|43062017; X-Microsoft-Antispam-Message-Info: RP2ukE1dsuBfgDqRxvJW7l8obqkHyTfRgpodie9qlmeN5sEMyRZ2Pa3xd2zAylvcpiJ0QPOh4sWIotEb/fWMVgZKFwnkcPNTq/+ULDsCCUrQDGPvDdSLsHr/USGwy9x7RlS8u/Mq9giXfjdZlNapQIKTVI1Ei+N+sTIXpGYgwjbMygr5OVZcDSPmBszVvvOEOYarpW0brqsqJXgFed2gKwpP8gEyatu6Ha1KUH7T3+be2CyjZ+XZ7CFTx8bD10yphUxSROrODlYytC24E9ImMSXYG3PLQ052RPLTPXNkaXQp1DG9/6uadorFqTZ5r4KHUMA7A7X+fVd083jl7DYXbbFNTII+hFeVaP93hez4SBY0vMV57r4DQqMCVg/o2glOxV3cpUqNOufAwYhDhAgm9NENiNCM8DcI/8AItuabpp/aXNycGPZshc+CQAfqtqsUE0wfrEu4ztP0RK5DdFjzfqUqsiQIgThbnzcXeJ5bZBwtYf9lRRA+ZphE+ZILkmErKp3g/k/KW9Ao7fJOCemEg4POYWIg22QUy+QFvfZHaEKOIZwfSUK3+1ybjLkpS51B+gonrJHf46L2x2+MwvvAgIG6cBDAmn20TlZKjYAV7t9tgJtUG4gNv234EDRKjGaXjJkzTDC+LFzRd4uKsAiJ1RNBBgYOmG5oO/rSmyb62dZJTUL8Fp+vYf2RMFNX4DBQdROXPA5T8I67mZ9zFa9Cd8tq4aCMlPN046wdYX4FqcZ/XYxT4DTLNyVA5D/HvRxY X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(1800799024)(36860700016)(376014)(23010399003)(11063799006)(3023799007)(56012099006)(22082099003)(18002099003)(43062017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Ah2RkTdBvSEp84+MM1WYyCwQCrF1GR/pwprLyYnaPFS8Nt5DBYflYwtOfHJgUEIxlwtXauMsth6WDn/Tqr1HwC2w15NlEaP7bvlifKwHhKtmJZvX3SZHLDVYQsBpVpM9FOxPsD2YD72fSGsAOiZ3NPyX7Rd7McpL/2BXtUdpz276BraCC8+OJ/Uw2zqFwkpIh7xUqDVWsri1+5kEGzZJHLjqpGK8Eu+TPmyFx6f4EMHOmLQt08vX7RZT5p+ztxvDV6ioWODQG2LZWHysK1kRn1zYK2pdnTqWRmtBact1ieM2ePG9l5GI09b/XnypUe1yscGodRmzWBIZqw1YHj6ch7r704BUPE+uk4q+tEr5RD2s8K5Q9o/aoIBffP5JNs7KBE01HPcEEqCh7oKb6lMXLxwTXFt3P6yY0ptW3SjRVSm/hMiFxOm9z3Adhdy+vVOT X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 07:51:49.1429 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f9b91495-7195-443b-34c4-08ded0fc4812 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF000001EC.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8806 Received-SPF: permerror client-ip=2a01:111:f403:c001::2; envelope-from=FangSheng.Huang@amd.com; helo=SJ2PR03CU001.outbound.protection.outlook.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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 @amd.com) X-ZM-MESSAGEID: 1782201129706158501 Content-Type: text/plain; charset="utf-8" Populate the expected ACPI blobs for the sp-mem test and clear the allowed-diff list. SRAT memory-affinity entries for the device_memory window (q35, -m 128M,maxmem=3D1G, sp0 on node 1 and sp1 on node 2, each 128M): Proximity Domain : 1 Base : 0x100000000 Length : 0x08000000 (Enabled) Proximity Domain : 2 Base : 0x108000000 Length : 0x08000000 (Enabled) Proximity Domain : 2 Base : 0x110000000 Length : 0x128000000 (Hot Plugg= able) Each sp-mem device gets an ENABLED entry at its own proximity domain; the remaining device_memory window is covered by a HOTPLUGGABLE placeholder at the highest proximity domain. (DSDT.spmem differs from the base only by the memory-hotplug AML enabled by -m,maxmem.) Signed-off-by: FangSheng Huang Acked-by: Igor Mammedov --- tests/qtest/bios-tables-test-allowed-diff.h | 2 -- tests/data/acpi/x86/q35/DSDT.spmem | Bin 0 -> 9910 bytes tests/data/acpi/x86/q35/SRAT.spmem | Bin 0 -> 384 bytes 3 files changed, 2 deletions(-) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index 188003fa90..dfb8523c8b 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,3 +1 @@ /* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/x86/q35/DSDT.spmem", -"tests/data/acpi/x86/q35/SRAT.spmem", diff --git a/tests/data/acpi/x86/q35/DSDT.spmem b/tests/data/acpi/x86/q35/D= SDT.spmem index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..7e6f850e7a25aaa3cb7abc0ff2a= eab4ca7fdb716 100644 GIT binary patch literal 9910 zcmcgyO>7&-6`tjfv|3UUDXnB%c5K3S(lkjEN^+c_KWWHa{#jg^Ch4DI4R9q{t>mQ0 z!m*1ufdN?o633@Htb_K(7z)r^d&;#2dTDRIH9${2^pa~)#HXm=3Do7s_PNE(O^DG$qe zv+sLvzM0wic4yaZx$Q5XW6Zc(JnK|jx#FdUlf%zoj8U2XGquEJ=3D5M*hO2} z#mhJpP5ULcc)nu%ek1rS2(Et|7%L%LeUQ1ox)OePCs<|VbYnHNEGlG{raP@-$KS3^ zHk?}C>{M%Ry70&{&5k2VakF#2<}$lJ+Bw^D5_jKXj(c&wx18*5WT&l+@BMS}n`1}b z{OscO!o#2a+2lgZlG19Ne70 z)heCAQ2i}!B`{WGIK_PF3{Di6y{3_RBw%DX#pUx}u2FL@<$R-9cb1s_Y{My?iTNkU z+T9H|$RoUIY%+@B|A4A@nEhe_m| zx~r_annvI3vRf<0%B_`~hBf-6gL|*>-tPm3Q?VEg;=3DL#6aFs?R9A|d|1EXd(YEGHi z=3D??ylaD%MO_637_JmY-LXKSO`ZcHt`yET#P7yi{VMY@l3bQ)#NVVlXPwh{LF| zsqq9_jDZz?kwqvtPKa|H2Ulql67jijj3eP2S%j3XF~*T_L~FQjoFiom;*5~e zH7<~FlvxrSDO-@>Na>moNZELpD$k_GGs%(CH7Ss?@i0}MBO1>Uj+Cw=3DI!~A? z&ryx%sK#?t=3DLu8gX=3D*%8ji;&egsJiz(|C?)JjZmNFjbzG#?#VxS~^ddD$kV0Go|rN z=3D{#YoJkuJ_w8k^7^MtAL9M^b`Ydptwo-kFO6B^G6jpu~U6Q;^@QsX(P@to9o!c=3D)? zG@coaXGZ4u*)_B@F zPnast8I9+R#&bsJ2~*`ctMQ!Gc+ToPVX8bKY+}vgtI`3D=3DK-B3OqJ(Bjpsp)=3DRut( zOqJ&$jx0ng;USJJMvL7cfpngjgmfd{ISo0dA?I`?Oci-pLmt+Uhjk=3DO6?sHM9?_6T zbR-gp^8hOv`yp%Xv)C2~*@WA)p0C zKr5{pQgbmiP)6cNKw%)QFyb&|QV6K<gp%zukW{$t2`EfS4FW2BrGP4~B%s1| zPe5U!HBvx@Z)8zUM3st3NZDf~pfJ%Q?h64GzL6Dir2fC``!{0xEnt5(28Yl7I?Vo|6O=3DrsN3$6}}t^0aaW{K!qzul7PaLJRzXMmm?vd ziYp1IaOFr6P?&N&A)vySBO#!QD+#D@}6{awG{TOvw`hDttK-0;;%@fC^WRBmspf zc|t&iFGoT^6;~2a;mVODpfDv*2&nMoNC>FnN&+feIg$hvrsN3$6}}t^0aaW{K!qzu zl7PaLJRzXMmm?vdiYp1IaOFr6P?(Y@1XTEPBm`7(B>@$#97zHSQ}Tp>3SW+dfGVye zpu&|SNkCyro)A#s%aIUJ#gzn9xN;;3C``!{0xEnt5(28Yl7I?VjwAtvDS1Lbg)c`! zKowUKP~pmvB%m-QPY9^+r3xraRX|}X0;(V(pbC-%R6&w}Do6;Zf`ou7ND@#5Ndl@MA)pEp0;(WMKoukj zsDgxmDo6;Zf+PV|kR+fA5&{ZKjxGcg7DkMBCJ87^41+WYDf<=3Dz3QP7a1QeF+TM|&1 zvTsR1VPaQgt^)~Wy>yp9tnSbQ>E|Q#SFopR=3DddHt8~ec8+F(1@*p8L5Pu0#j%`wPs zGoPKXQlE^lF}}HQlij5{D~V$*{9wbHWK=3D?+X5Qbfk3#1Qa&IO*DRyK`q;6$rt?5rD z*jOA2#jpl5tfuTHvnM;Pc7g3s6B^BP1v}euYb|z*%GMUInWQZa@^G5mKG113TgKgu zs11~!>Z9z%zU;<6vKN)?MV`Hg_Nm#6_VDaQf7>JOVs{4nQW1A6wvY6VlHTFzoxb$W zQ_?$8dbf|fg*~zF-1n}M-sS1tzVz->(z{XmQh)lyKGK(z^d+9Y)R(^Wl=3DP)2eYrn< zav$l-O8PQSU+zm^eoFdsl)loReq7>8ncmDoVj!HT8yarly0P_exZM~CC+dcV8@LW;^l-Qb83-rp zhK3uM*Ry&!+?Wi66Lmww4b0O6dN|yz41^PPdbo^diWdSUv)U-N<@7VK{K$H*v4K z!hW}sX8-zcatGoFNuv$-tTpiw9ziHL!^0Z3*zHcGA;xjM;52IaeEu}cEEPo)m&Pu? z5|=3Dyhjb^DOTWevBKx@aH#`#?Jo$KM-H-447w*KxrH?FO%zsr2XY1EgZi)P%iD#lmo zuhK^PCfH$F$1eU?X)EpDex8g1%Q=3DnGvf z%daFPtI;?InrH{t_Aep%7tce7iR1w47!0 zDKt!HxpZ+VwripZb^M2HEi|q?I6Kq5Vub8UXapf%Ah7iZ%cEY&(?hLJ1e=3DWIQ?XSe}3~inN;Tv>W(3-<@Wq}bB8Vv zTtr@>olRLL!*&PVMB5X1LD^0b8Md)`70cfxkJ*QD6=3DDhLl=3D2HKS}o{`q{#_QOezbA zS8WIZ;%@;9SZKr|;;sMsoohF98w2ZzShM&7f?IEk9i#=3DM+MxG&%(4#p+m*Ih0uWg! zWnW~s=3D6Sg*>%ZBgRmt?+{_U5B_!rol zmRD+Z43FlnM|0DoH<14AlS91Y9<5y7+0q3ZT29W!J7M&2Z>&pgVzfY~e8c1KA`2rP zx=3DuNV3)4SA=3DXQ4=3D{Pcc6h%lglz3HyVju{^qA#cj(vpu^jnnSgizPxeQ0t3qw1=3D%s| zA9=3DI}D`CSwY%m@$)#aSTqQ<=3DgyKvBha$pq`O_08(*F1eHyJ+R_zK9pNc;}}7zNNR7 z_{myf?e5|^jDXezT3#2$DHN-s_*}gtYhOSys-5);mm=3DRe6ssW(6M?8ur$8vws|27z zoq}AWYAO(x41Su>J^Mb@(fMm+8@w{hD~;=3DWHB_q8xq8nX?NT)+P;+r%@16A?Wui(n zi6W=3DBxL{cb-vK8SCxDHLvuIE!q|9_Wq~LTiq;}G&XoLv1S3G^nK8bng8T|tg((IIj z8raWcVzmpvGw7^G{N*0F1Tz*yha}1Dv-qI-^1!4bw9l& zZ?9=3Dm(0SN2m3L@PMK&!9JJe=3DwXKB%hQ|rjYx&Z_UJT-&YMCs=3DD($Uue;wy>oG2Oym zx`qEoy2ZV8i{EQH`;_WBK<0{3h~D%KGxoIE&#Pm8Lx%jEeC%{Wxuys5iuF@C{BsPVd>{{37`e|J)x*ZNt|JS)XqG_7b4$^GY{VwSbN^YTMxPre@;6!>JJizyIp_V zNkFT_S2%rILG{W#EN;@<1uLaUP;MkQV&JP3fBQ_LQEfE&B<%}=3DP8xDQJQ(X?`eE9D zoMnD^8PlP)*qIth7|>XhPj#lugcY;E1lFr`hKOW-@?;qN?U&0J9r3s{ey-%5hk(;8 z?r(7>nMu-Jccy&!GTrHBmgi^`{q0mMpYNERg4+a}7h3t(g@F+>7@px;^DZ=3Dr3JbEZ zNCkg;$!?XOI3J_?`C9W_%nGb@#!2ub{_P*X5~noeNoNh(<-(5Kxgs4LI=3DCjo!_2u7 zmCJOf(4lJj+ozU_E*c{)|2UqBh*R|Na?qNo7y%2If$4UIUBUnH7$4P>-r4hes7XB3 zDk#%R9;c6q{OyH$qm5NY#7>~UupVKXP4UfG;}zq*_Blh#tLo?2v`bFpo2X+B4ZI7ov`jG4v%>6r+kbDl%!h MvBJ}12_H=3DT4{{!rhyVZp literal 0 HcmV?d00001 diff --git a/tests/data/acpi/x86/q35/SRAT.spmem b/tests/data/acpi/x86/q35/S= RAT.spmem index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..9ecd266eda68d035f72f170cb13= 46b97da623c28 100644 GIT binary patch literal 384 zcmWFzatvu;WME+AbMklg2v%^42yj*a0-z8Bhz+7a7!Cwb`HUKH87PAbE`Y2Lp$=3D#O z7<^!dDa5W0CX1a$n1@{+CQ7_Ige#yd4!9XG29RddV1n^Dh*T#4Ri^>7ff;53kOlxB Ct_cAE literal 0 HcmV?d00001 --=20 2.34.1 From nobody Sat Jun 27 09:32:16 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=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1782201174; cv=pass; d=zohomail.com; s=zohoarc; b=HKwIMANP8WqFqhTY9Ehf/N/ddTCxoumhQFKpKdneDgPkOduEQdX9T4Ab3XcBlNpGmiql1kI4u7a2ZckGh2iLM24gYN5XyrpKMOuONNLAT3GT2BnL5OE1tbndfXiz2h3hLqc4ExJGP/oI+o6TiSBKXnW/rlGw7s7vcuFZU/5fb70= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782201174; 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=omCNqVj94aDrgzvJ+1Gz0A53gEmlKI/lQfzZxHuj+Pk=; b=ftyvVG823lm26Ff4nBppyKMAVl5QlljZAQ8B7f6voKEazDz3cbbK/ObabmNKX9eYhodtVZBda3/bfc8QdL3qKM5S0qAoVn/22HbjI+SFXs2cevtK/sRHhZ5esyMBKy85O5ZXf13x57RDi3FFh7JH7NvEI6dJHtMh6moFQA3/JMU= 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=amd.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 1782201174563426.95571588543373; Tue, 23 Jun 2026 00:52:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wbvvM-0006X4-OX; Tue, 23 Jun 2026 03:52:00 -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 1wbvvK-0006Qa-S6 for qemu-devel@nongnu.org; Tue, 23 Jun 2026 03:51:58 -0400 Received: from mail-eastusazlp170120007.outbound.protection.outlook.com ([2a01:111:f403:c101::7] helo=BL0PR03CU003.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 1wbvvI-0000iw-UD for qemu-devel@nongnu.org; Tue, 23 Jun 2026 03:51:58 -0400 Received: from SJ0PR03CA0296.namprd03.prod.outlook.com (2603:10b6:a03:39e::31) by DS3PR12MB999216.namprd12.prod.outlook.com (2603:10b6:8:38d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.21; Tue, 23 Jun 2026 07:51:52 +0000 Received: from SJ5PEPF000001EF.namprd05.prod.outlook.com (2603:10b6:a03:39e:cafe::9d) by SJ0PR03CA0296.outlook.office365.com (2603:10b6:a03:39e::31) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.20 via Frontend Transport; Tue, 23 Jun 2026 07:51:52 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF000001EF.mail.protection.outlook.com (10.167.242.203) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.10 via Frontend Transport; Tue, 23 Jun 2026 07:51:52 +0000 Received: from k-Super-Server.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 23 Jun 2026 02:51:48 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FKazGJklfDOzKswbMt0VeaGorGQ03qQVyX+lA/So53n55zazo2JSgRPk/xtI9DKGtspAWe0JSrMC3ElP8Mzd/bkcZJ0KmxqgHdKbGpmy0TM/Yov9F+uYUpPrhz0Bw43KmzTNh/K7i2aSARvftv01TNPqFI6Q4z4nUHsvkxsuT/nvIyvnhAgHU9n5PyCsyRZ52P7yuTQIGdlJX/H2Z6wzwCQXfB9eIFbRWj9nzh8AUKHrNrVGNZPQilReC8odT8F5RF2kQvOZt2d+LDxKinFFcURv7T+BShYlorjR9Tw7z8ruDcovMdZ6mPQuU0rwIreUEqZn9sgj0/Ynw2velMjFmQ== 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=omCNqVj94aDrgzvJ+1Gz0A53gEmlKI/lQfzZxHuj+Pk=; b=Z2MOz6vshcBh98ixxlolYHnR6q2oAjeJTfzJWKyc45qLJDRYlu2lFIoX1GqmBgYI2090UQ2yZDb7ys6K4PvmevTi+ERhT+s+N9puQd2LnkZyP41ir6MzauS6CHqUfXcUciCiY/CoSaSr57q5GhUZUrOFdA+nw8mTNRDLk73bWJw3x9ykAoEKLN6HcN/94NyuR8WyY/vira1aKGhgA8FY7V0LFgbMxQD6MmGyAbnT/e+8rsj75m1R93QEPJu8s79uRBN5D48lESJpGqtLz4FL9vexsC0md1Wru5WWBnNzCrt7CPbylJtqX3gYWEkWP6t2JaT5KngcvurS77a3fdanGA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=omCNqVj94aDrgzvJ+1Gz0A53gEmlKI/lQfzZxHuj+Pk=; b=OdZLtOha4HsrQJ7+DywmecLRZakSoOdb+lBdt3lzLgjY1AoUADmUPAdSWjO3ZPTtnQjOGzZQdWaac1t4djwScg7aBm8s62doagD7/++v1GZdzCfmzTwCmQ79FSrW4g+uMPlBjtLTYQOQocYcmK9DuWcTAJo2tsUr8se2jop8mOU= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; 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 (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: fanhuang To: , , , , CC: , , , , , fanhuang Subject: [PATCH v14 09/10] tests/qtest: add e820 fw_cfg test Date: Tue, 23 Jun 2026 15:50:50 +0800 Message-ID: <20260623075051.3797975-10-FangSheng.Huang@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260623075051.3797975-1-FangSheng.Huang@amd.com> References: <20260623075051.3797975-1-FangSheng.Huang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EF:EE_|DS3PR12MB999216:EE_ X-MS-Office365-Filtering-Correlation-Id: 346f153b-0a46-4ec0-03af-08ded0fc49c9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|1800799024|36860700016|82310400026|376014|18002099003|22082099003|56012099006|11063799006|43062017; X-Microsoft-Antispam-Message-Info: FHddVKW/V9v65j0oAt3e9uLvwhMthhHTN2oQ6RV8cUDy5YPxDPalDWqKx5Xt9uGgOPlcXAoNh6FLJkGktDw9dIPoXAV0Of+MoI2DKD5rC0P/Syjhebw5VlHZ+UZJZh0iXOHGKcErUZlHNH2AdjR08HP3Pe7UmMib6Vs8jt8jisRe0BZ2JhpX89+nZaxQyMmFnu6NxVSaqzzX4qcNkh97qD4zzh2k2EzuWyY2DIEq7teSClojKNXdRduS6geVMtr6ztwO5E5d9lYfF2iBtCjTUs0T51M6EYBaM/Z8UVR4CSPuqafVC3xlTgLtXwWhr6nDey39I33DNljQVoLFinxYiWIHQulz//XGG8Qh5yT25oc8s8lOeN/6XTa2l0iwMfKSx8ssxcoucTqTVFo1vrX06lxMUu+dvqVRVYHesMfutHC3YGc0uM8ZgpxnWF7WH7+r23umu680pzhdNzgtClh4mX3zDAJ7SxoCO8k2ZHwnrVB/WWuWqLlNKcUi8t/4IWLulaMTp6a3zUAP0nXsYpgEz0HeEetlFbyKVVd7tqZWssz8ODmBExrSmVIS/5NxqYT4iAduHk92GnmrSPLiER/nRgPbQCxyovxq0FaEEFY3hM9ppB9xaVumnjXpftRcHgJw7CaUd5sfL8Llcu2INUftnj6v5qYePWvSXcabok6Cx14pG4QGHDMlDxPOP3a8+GE8usDlKM5wC0UurN1NREP9D3WI5gnIQ6mIAsAnRmtxeO4hd3/G9NIKaqc91e/BosEg X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(23010399003)(1800799024)(36860700016)(82310400026)(376014)(18002099003)(22082099003)(56012099006)(11063799006)(43062017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: emuDrd9hCvx8Xbheacsu93ixDMqUTvG4Hdlp53S5qFyynektOpJN13YC+7jmXgNHzw1jtIKw4S/2FeanurRBj0lMjSmVEofP3hvqxlW8aV0FcShj1JtPIwxg5ZGIa6s0cE9zIR+1C6Ku/sCNMa26q7Nmq8bcpF2XXFSHF5vXtFEE+xzq8OKSEHqi/BpGq4rEi8NkY9GcamfvpX87QqKfzFdnlfS89IGFWP5K5cZsJi+JGsRGh0EtwizgE+LvTzqrEd931PZMV/VfSHl6AzjN1kmgd/ix7O5H8o40+7B239D/ZOX1UOe+hbsMX+7To5Pdd5mNH/OPbNpbcEPZrV+24hw1mKc2QCH4fw9oO7fJq2h86OHedI4ddIbgsrfjBQzi1S8+7K4vkImw34Gio55/1hYNo0rxaihSllV9DrwF6S7CEI1QQJcqfJsFPCZI3xTd X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 07:51:52.0116 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 346f153b-0a46-4ec0-03af-08ded0fc49c9 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF000001EF.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS3PR12MB999216 Received-SPF: permerror client-ip=2a01:111:f403:c101::7; envelope-from=FangSheng.Huang@amd.com; helo=BL0PR03CU003.outbound.protection.outlook.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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_NONE=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 @amd.com) X-ZM-MESSAGEID: 1782201175732158500 Content-Type: text/plain; charset="utf-8" Add a qtest that reads the "etc/e820" fw_cfg table and checks its structural invariants: the file is a whole number of e820 entries and every entry has a non-zero length. The baseline q35 case asserts the guest sees RAM and, with no sp-mem device, no SOFT_RESERVED range. Signed-off-by: FangSheng Huang Acked-by: Igor Mammedov --- tests/qtest/e820-test.c | 95 +++++++++++++++++++++++++++++++++++++++++ tests/qtest/meson.build | 1 + 2 files changed, 96 insertions(+) create mode 100644 tests/qtest/e820-test.c diff --git a/tests/qtest/e820-test.c b/tests/qtest/e820-test.c new file mode 100644 index 0000000000..1db0744c08 --- /dev/null +++ b/tests/qtest/e820-test.c @@ -0,0 +1,95 @@ +/* + * qtest e820 fw_cfg test case + * + * Validate the "etc/e820" fw_cfg table that QEMU hands to the firmware. + * + * Copyright (c) 2026 Advanced Micro Devices, Inc. + * + * Authors: + * FangSheng Huang + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" + +#include "libqtest.h" +#include "libqos/fw_cfg.h" +#include "qemu/bswap.h" + +/* e820 entry layout and types (cf. hw/i386/e820_memory_layout.h) */ +#define E820_RAM 1 +#define E820_SOFT_RESERVED 0xefffffff + +struct e820_entry { + uint64_t address; + uint64_t length; + uint32_t type; +} QEMU_PACKED; + +#define E820_MAX_ENTRIES 128 + +/* + * Read and structurally validate "etc/e820": the file is a packed array + * of struct e820_entry, so its size must be a whole multiple of the entry + * size and every entry must have a non-zero length. Returns the entry + * count and fills @table. + */ +static size_t get_e820_table(QFWCFG *fw_cfg, struct e820_entry *table) +{ + size_t filesize, n, i; + + filesize =3D qfw_cfg_get_file(fw_cfg, "etc/e820", table, + E820_MAX_ENTRIES * sizeof(*table)); + g_assert_cmpint(filesize, >, 0); + g_assert_cmpint(filesize % sizeof(struct e820_entry), =3D=3D, 0); + + n =3D filesize / sizeof(struct e820_entry); + g_assert_cmpint(n, <=3D, E820_MAX_ENTRIES); + + for (i =3D 0; i < n; i++) { + g_assert_cmpint(le64_to_cpu(table[i].length), >, 0); + } + + return n; +} + +static void test_e820_basic(void) +{ + struct e820_entry table[E820_MAX_ENTRIES]; + QFWCFG *fw_cfg; + QTestState *s; + size_t n, i; + bool found_ram =3D false, found_soft_reserved =3D false; + + s =3D qtest_init("-machine q35 -m 256M"); + fw_cfg =3D pc_fw_cfg_init(s); + + n =3D get_e820_table(fw_cfg, table); + for (i =3D 0; i < n; i++) { + switch (le32_to_cpu(table[i].type)) { + case E820_RAM: + found_ram =3D true; + break; + case E820_SOFT_RESERVED: + found_soft_reserved =3D true; + break; + } + } + + /* baseline: RAM present, no SOFT_RESERVED range */ + g_assert_true(found_ram); + g_assert_false(found_soft_reserved); + + pc_fw_cfg_uninit(fw_cfg); + qtest_quit(s); +} + +int main(int argc, char **argv) +{ + g_test_init(&argc, &argv, NULL); + + qtest_add_func("e820/basic", test_e820_basic); + + return g_test_run(); +} diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build index 4897325d84..d69ee27fa4 100644 --- a/tests/qtest/meson.build +++ b/tests/qtest/meson.build @@ -58,6 +58,7 @@ qtests_i386 =3D \ (config_all_devices.has_key('CONFIG_AHCI_ICH9') ? ['tco-test'] : []) + = \ (config_all_devices.has_key('CONFIG_FDC_ISA') ? ['fdc-test'] : []) + = \ (config_all_devices.has_key('CONFIG_I440FX') ? ['fw_cfg-test'] : []) + = \ + (config_all_devices.has_key('CONFIG_Q35') ? ['e820-test'] : []) + = \ (config_all_devices.has_key('CONFIG_FW_CFG_DMA') ? ['vmcoreinfo-test'] := []) + \ (config_all_devices.has_key('CONFIG_I440FX') ? ['i440fx-test'] : []) + = \ (config_all_devices.has_key('CONFIG_I440FX') ? ['ide-test'] : []) + = \ --=20 2.34.1 From nobody Sat Jun 27 09:32:16 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=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1782201153; cv=pass; d=zohomail.com; s=zohoarc; b=GpFVq+KIF3nxS1tJb9qyocQrtK8AUul+c5d1Mnik+y/8f3vdY5vxdomrCAB56ucArS7yITzyjOi5rON/gw1qSLmTfq0bW5Pc6MRwWsTQSFMLRmhtJ9RvEgCRoMlLxTOeXeuy4Y3VOq+w/r34JxXDnLuTxoGrVtAU9NWsaN2IzOY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782201153; 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=c/Qx/vsAim6qCvjytKLZ1qRsEsA35CZydUX0JHPvF2I=; b=eXv/EL+7q+mtN/L+1arZs5DQwkYS/Ggd86MoWtLp76UVYDKDYYNyfDMQ7PchKgPWT4GGuR7pWCeEeIOC974j5I2aSbyOCZFnvBCcT1gZwDVTqSxS2UtDFJMw3wXn8x8UfKfn+bbG7VxLh7m1UYL6V5b8uFSWsZACpm7AllgV1Ig= 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=amd.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 1782201153367418.81494876205113; Tue, 23 Jun 2026 00:52:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wbvvQ-0006jp-Uv; Tue, 23 Jun 2026 03:52:04 -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 1wbvvP-0006hF-8m for qemu-devel@nongnu.org; Tue, 23 Jun 2026 03:52:03 -0400 Received: from mail-eastus2azlp170100001.outbound.protection.outlook.com ([2a01:111:f403:c110::1] helo=BN1PR04CU002.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 1wbvvN-0000jb-Dn for qemu-devel@nongnu.org; Tue, 23 Jun 2026 03:52:02 -0400 Received: from BY1P220CA0015.NAMP220.PROD.OUTLOOK.COM (2603:10b6:a03:5c3::10) by MN0PR12MB6102.namprd12.prod.outlook.com (2603:10b6:208:3ca::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.20; Tue, 23 Jun 2026 07:51:55 +0000 Received: from SJ5PEPF000001E9.namprd05.prod.outlook.com (2603:10b6:a03:5c3:cafe::69) by BY1P220CA0015.outlook.office365.com (2603:10b6:a03:5c3::10) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.159.12 via Frontend Transport; Tue, 23 Jun 2026 07:51:54 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF000001E9.mail.protection.outlook.com (10.167.242.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.10 via Frontend Transport; Tue, 23 Jun 2026 07:51:54 +0000 Received: from k-Super-Server.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Tue, 23 Jun 2026 02:51:51 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=N72O5tzVB86DbqJSMUIr9k2FHM05GhnhykDpwDCqPL4AXjc5sW4niGq8IIicSxtI845utdDvT9QbeMuWuIZNNrA4zTLRHuEzgp2URqCbncip21HjBQlC5iqZzW0dU6ZMt7VS/1ziqTtu6nGaG9pnJ3g7xB87Q/eUv/nKPBnFApLeDAmjM0D+91sIbRjulmwnWZKmJ56111u5wAIFJeOtrbDY58NFnMckcJC+4BOVQ0XfK4PmdASTyZCFFISNqX0MH4cvx/A4NsjvfGOo1ja/Z6kpHdQYWwL3TDVV6CM8XQYuZeUUw9FsOpSczI3spYQeRRjGLQg0vP9+U33ywEgxLQ== 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=c/Qx/vsAim6qCvjytKLZ1qRsEsA35CZydUX0JHPvF2I=; b=jKjpSfYtDmYq2yKqGWYqz49jfXgvh2N9FJNfWlkXaiCEuJtu6D9nwTgZaB8dELZuMsdWpu5h76GdOnWEoa2ONAB4E3d25PMlws6XFOyUkMHIJfDOEuT8MW60CRdmeXxtNgtTN4tVq0beaLl5AaD0oMAUKYHobOGqoUfKQcFCbAJ8LS0lMR+8Fyo19z9S5S67BZgzfl+vODoEzDHEZ7on8AoU7wCFgC8rGvRSvIlS444AbhzCQN6z0+I3ASFDmaezB9Dr0PDNDTn7jZ43krg7hPLLuEOjqQUwyJBcSD7ZOU8zKHOF46RK3m9CMGYDO74ASOpeByXv+DNf8POxeeKa2g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=c/Qx/vsAim6qCvjytKLZ1qRsEsA35CZydUX0JHPvF2I=; b=NFLJd/27OADWJ/NPD9SVEORvXCuJ0KUTFkPmKlOBz2KXj1/mAXoggDUc46KTqlCtTUvJ4BsPsDKeVXnYDv4YqDV7/VAxAaSb4AHrsu6SlktKbVKacHne2LSBWccaaL7D5tdc3BHmt5n2XbaqY3D0hkILy6Jj02lNFWuO5TeZ/8U= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; 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 (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: fanhuang To: , , , , CC: , , , , , fanhuang Subject: [PATCH v14 10/10] tests/qtest: cover sp-mem SOFT_RESERVED e820 entry Date: Tue, 23 Jun 2026 15:50:51 +0800 Message-ID: <20260623075051.3797975-11-FangSheng.Huang@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260623075051.3797975-1-FangSheng.Huang@amd.com> References: <20260623075051.3797975-1-FangSheng.Huang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF000001E9:EE_|MN0PR12MB6102:EE_ X-MS-Office365-Filtering-Correlation-Id: 776d3a03-ebfa-4ac3-4992-08ded0fc4b77 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|36860700016|82310400026|23010399003|376014|18002099003|22082099003|56012099006|11063799006|43062017; X-Microsoft-Antispam-Message-Info: ZXyyyS+BO1Fu3gP9ypWFCrW37UAj/sIXFzQ8MXnO4JRGEufBKn9KkBJujOfIoWCQ/6qaawyD9fScDLzH2hJ1D9D3Du7XfgvMkIw7Psi1kUmxgnRs23vkjtPDX8MsSZ07ZJN6LSa13dr2NS2GLaOuLC6mcpmV0VYiiRN3uvPKM7eEOz/6S1cdXkkkmJspEniJhPmmL8jcsxbDc/V9gtxf0MjEF7lBbG045K0Bo9zTEq16WKAm382mdkSaxXGSZuXD51JY51TvkbCIC2UC/VK2Zjmxfh/aVgBC8OZDL4KhMr4cApoXhifTtkPWq5T1b4htMPcdESQbXrmeBpzmuANmWf4tZaweUlRGebY/5qexUotfNt4HeuOaVYX7vbPKjcxSvv8k+1Wf5E1ZaaHeBVEznqc7rya5PKGIcY3lal7zBSMPqpQ4A0Pv0aQj/wEgD+qNm3arpZEwsM9oKfzA0yNwW1Q+9RaZwEukfMkruk1IGdgD6mToR/HkGCgkp7IGF7XuzdR89kf9EJ0EMQHBpZ3ZBsD0cwg1YqobfAMroTnnX4wic2C1OSwu3D4xyiHo2AvAn4CaVISmJba6Ci17pkVtDlhqNGEw9GTuYk11lnXVzxEMu7EYx30Yyx4X9HhL1JQTtLsThJaujMoVyvA1LdxpkFLQ+/HBLN4kwyczEFH2G7Lj84COShZS+mXxs1mB63NAY5FlSzdfX2NXJzUkKPlQDNHuHuDN/wWT4CX3j80GwXHePs9QfJ40z8Jw8tafGIIU X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(36860700016)(82310400026)(23010399003)(376014)(18002099003)(22082099003)(56012099006)(11063799006)(43062017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: N2yDm2aQ2qBhOi0yY8hJ6qbDK77ndI1B0+0VGofUrF96cVjZGyrJ5I1p5vTqOb46isQ+pNf2epgAM5/gtZqJm2nNGV4VK+CNvUQXu+Mz9hnRw0gHl4AZFXG4tSDYsCDWCggirVgR4AzIL+L6vaRmoIr3Ad59qz5Vc/lsVlaOqYssPv3CIehOpB4aOcX9gzCrbxYIbi7rC39/xIi8YO1AuURviwYqNnZ9JlV0LaVldivcC56zQXDg1tXPHgkod9eFF3tnLhC2zFYvo7iadJAm7iUbAvuUKhMGN8BOZnLnu/PN/CSi3BPxR89YcOuDnySH8JGvPWjDMcQXBlQa7zQlc1jMpnqBiHFfz7rTsIlpiRBkvMg/kgFPR+HidXrmmuEeCbaQJKUB1o+6q9NrjIScfYDgs31IpDlkhiRRAdthq9TsVD3/E0x1cfBpd5T7MQKN X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2026 07:51:54.8371 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 776d3a03-ebfa-4ac3-4992-08ded0fc4b77 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ5PEPF000001E9.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6102 Received-SPF: permerror client-ip=2a01:111:f403:c110::1; envelope-from=FangSheng.Huang@amd.com; helo=BN1PR04CU002.outbound.protection.outlook.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, 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 @amd.com) X-ZM-MESSAGEID: 1782201155763158500 Content-Type: text/plain; charset="utf-8" Boot one sp-mem device and assert the guest's e820 table gains exactly one E820_SOFT_RESERVED range whose length matches the device's backend size. Signed-off-by: FangSheng Huang Acked-by: Igor Mammedov --- tests/qtest/e820-test.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/tests/qtest/e820-test.c b/tests/qtest/e820-test.c index 1db0744c08..aafa3c1aa2 100644 --- a/tests/qtest/e820-test.c +++ b/tests/qtest/e820-test.c @@ -16,6 +16,7 @@ #include "libqtest.h" #include "libqos/fw_cfg.h" #include "qemu/bswap.h" +#include "qemu/units.h" =20 /* e820 entry layout and types (cf. hw/i386/e820_memory_layout.h) */ #define E820_RAM 1 @@ -85,11 +86,44 @@ static void test_e820_basic(void) qtest_quit(s); } =20 +static void test_e820_sp_mem(void) +{ + struct e820_entry table[E820_MAX_ENTRIES]; + QFWCFG *fw_cfg; + QTestState *s; + size_t n, i; + int soft_reserved =3D 0; + uint64_t soft_reserved_len =3D 0; + + s =3D qtest_init("-machine q35 -m 256M,slots=3D2,maxmem=3D2G " + "-object memory-backend-ram,id=3Dram0,size=3D256M " + "-numa node,nodeid=3D0,memdev=3Dram0 " + "-object memory-backend-ram,id=3Dspm0,size=3D128M " + "-device sp-mem,id=3Dsp0,memdev=3Dspm0,node=3D0"); + fw_cfg =3D pc_fw_cfg_init(s); + + n =3D get_e820_table(fw_cfg, table); + for (i =3D 0; i < n; i++) { + if (le32_to_cpu(table[i].type) =3D=3D E820_SOFT_RESERVED) { + soft_reserved++; + soft_reserved_len =3D le64_to_cpu(table[i].length); + } + } + + /* exactly one SOFT_RESERVED range, sized to the backend */ + g_assert_cmpint(soft_reserved, =3D=3D, 1); + g_assert_cmpint(soft_reserved_len, =3D=3D, 128 * MiB); + + pc_fw_cfg_uninit(fw_cfg); + qtest_quit(s); +} + int main(int argc, char **argv) { g_test_init(&argc, &argv, NULL); =20 qtest_add_func("e820/basic", test_e820_basic); + qtest_add_func("e820/sp-mem", test_e820_sp_mem); =20 return g_test_run(); } --=20 2.34.1