From nobody Sun Jul 26 12:31:24 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=1781867550; cv=pass; d=zohomail.com; s=zohoarc; b=EPWtsHumHn5p8Ou9EJudLYE2MgxRT1UX1iR1CYGB3fwGhv15/DfuF8ErrNyKf56h9H9OVAO7TYLoUzpvgTqEOfQMHl5kny/3AIT3euHJyCWmqh7rkx8gwtfuQ2mq3hdIDgxeXSZ3cT7rQX1fXMSY/D9XZ6LC1NqEvbCe7Rp3Q5I= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781867550; 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=qKCQs4NYHM1PFcUthhhLXTl5gJEA3qCy3umH3P7nM4A=; b=EJRKYXpHKLq+VGg9v80FG53PzGm44j5Y6yF9CbjwxYqNlBeZXE+8ypZjZRzFJZPsTj+R7meeWyZmidCVfeLbvfPxgPDLdyKZZNEn/lSvDeDL7skzkag/sdyn4VfD03lNfr175IiSUwIBjfU5Xj46wnPK6I4g2iDDCv4zscPylUU= 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 1781867550072325.70095271665707; Fri, 19 Jun 2026 04:12:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1waX8t-0004iC-VM; Fri, 19 Jun 2026 07:12:11 -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 1waX8q-0004gu-Rr for qemu-devel@nongnu.org; Fri, 19 Jun 2026 07:12:08 -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 1waX8o-0001qx-Lp for qemu-devel@nongnu.org; Fri, 19 Jun 2026 07:12:08 -0400 Received: from SJ0PR03CA0045.namprd03.prod.outlook.com (2603:10b6:a03:33e::20) by DM6PR12MB4169.namprd12.prod.outlook.com (2603:10b6:5:215::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun 2026 11:11:58 +0000 Received: from SJ5PEPF00000205.namprd05.prod.outlook.com (2603:10b6:a03:33e:cafe::89) by SJ0PR03CA0045.outlook.office365.com (2603:10b6:a03:33e::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.11 via Frontend Transport; Fri, 19 Jun 2026 11:11:58 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF00000205.mail.protection.outlook.com (10.167.244.38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.8 via Frontend Transport; Fri, 19 Jun 2026 11:11:58 +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; Fri, 19 Jun 2026 06:11:55 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rsfj7DP4l5sq5e4gF5uw4Uvw3zFtHCQSmU2xSaK0V3D0cbQklrtMnU3PdX0A2EekdPB2M4sMGJ1gD5al46HejqtePCI8XWtrLPiNjoaEjIXcp+ag3ul3wVEwtHYXz1I3B/rbGGrRrochyMwTQ7SDgwlIL17+TbcQYzsw0t6HuuD59VNvo/bemHE7CK+eIjxRSLbxsLR0+LMLswVi1qnx93jLTxqddlU0LHTKbx4LXRXf8DYq19p8bF4x2LqZmNotE9/s2Ju3btC/ZOsutWJQN7v8UT34815E7donhBJMVgUn60XAwUIDfFrIq4N7y7UKujwyWtlBopf9kizNX4k6Ww== 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=qKCQs4NYHM1PFcUthhhLXTl5gJEA3qCy3umH3P7nM4A=; b=kwXQqWlc+4I2fSBdNpj/XY57cQ8tbH0xRzcDYgK5VfG3tPHQIfdi4I3z8nXYIclZT+ZAEGZzbYePVTdYb970Q5Y96ryeWYhL9IJwHp6rl1AmzKQDYfK21OcexthsWeXN79Q99NrGtB6s2mpABtPl/CDOH/7wnmiHQ5uljzOmnShtwdHC2ow51d4joOcbux4nDIh2JC2nivAEaUcnSQ2O16HZyoSrfkvTqYoMzs46EiEGa+9b1El+oQ6pqGYDWuwv2jgBEK5Lkl7lQInNtOAdiEnK9DJN1PBfj9kesDw0a5S7KClWZRmc1vQ3ep2kADxWFjlvt6mp27j5TrNV47IM3Q== 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=qKCQs4NYHM1PFcUthhhLXTl5gJEA3qCy3umH3P7nM4A=; b=c7wnGYQUzimwAdYsptdgsYwGkhPzbv/qVMwpjjjc7Ntt3B9mggbgYpeuVVtmhy3z3DIyMSp47+3DtxRGCGERboQmKJ8R/6kYtvPwF/SYfgEQR14PBajhylMODLVH01x0wpX4FiEeMu62XMy/faifq2onra7D3cTSK9i4JydAx3s= 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 v13 01/10] hw/mem: add sp-mem device for Specific Purpose Memory Date: Fri, 19 Jun 2026 19:11:27 +0800 Message-ID: <20260619111136.3481329-2-FangSheng.Huang@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260619111136.3481329-1-FangSheng.Huang@amd.com> References: <20260619111136.3481329-1-FangSheng.Huang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF00000205:EE_|DM6PR12MB4169:EE_ X-MS-Office365-Filtering-Correlation-Id: c0474ba2-5306-4430-270a-08decdf394a2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|1800799024|23010399003|36860700016|376014|22082099003|18002099003|11063799006|56012099006|6133799003|43062017; X-Microsoft-Antispam-Message-Info: 6QNxbc/wYJNwU+/MVg7daRNbKHffCRjgkGbG9ECnNZhZ7NmdNaLRxK5Yj+wN+FNenBnBeyzYW2LzVe2VkVnX5HPku8bz7nWEW2cO8MhGkl1Qp9IiH0H0ZsUWO959+rRGv7qPqCRUJ5bdbONvtAQH8OwRWE2R8tfyAZ6LCIR1x6Nr7fg+zSH67/YjO5gu3evFUfGmQZPtMw05zdi9I+BcGNoMZzBYccSvuL9UEBkOBuqm4z7S33dm66q4dzYW5CCEs4PbUk7rMRw5bMOjHlIlqIH2/NdjqhlQ4hjLpyPLs8Wcf/RHgvKyBArVnIRhiU9ZviryanFV6O+o1p9ehEhL/3I20DIvHi3nKD/mn98GGYvKwYZd8002X3n+QwNjtpZ2BwqbayRBHbLc3trF/ut5MPnKXs9ThnBcU6ncNak5BGSq3cAP9ZftPMgAjOv/ZnnUa+D8P37HZInjDDrcM5g2J7S2cxRZt3pxwRBfqeabqzlNZH2l0LGO9Y1eRQ0KJmFiki6CagXidn1yQjVZQQeIlc7dIP/t/qlh1Oq4oGRCcdkFc+LK60mSBEqkH0turmIU1wCZU9Uvb3ZHZ3Fkuk1lyXvXujWNihAFFtXo4CUXTkeGsout8PbS/HpofOd/C0ClXpkd4HsdobDyWkUZ0h6+oPPsT1rFQAmZSB6yyuKJV8gJb8Hk/jVZyzDtVLHubO5FSOOha3WOwIpABiyVA4HBhYhDXwGsJIMHEW4/sTdxQKEZZ+bBTOVDTsbGQls2Q53S 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)(23010399003)(36860700016)(376014)(22082099003)(18002099003)(11063799006)(56012099006)(6133799003)(43062017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: wY4tO5oNYzS3J5Ne2k0UTTMhHEIZsqcrRBgRteygsQjvJ4hPBDFhZdDYa6RTAo+hDklil4qAbhVOjV99bO+MwVR6H7D0XxYW0lv5vRnHy4in4ZCLCyy4tQlNczP2+EnaQ1cKcL2YyxtOnWpCGE5s5zsxtG8q0tKlbJAdXgznQzX+pcRIJFv2oQQqO8zDSrimtYs+k3NXMGvQsNsi6kNX0Dl7NKQ6WiNjEEWfd2Dub4gZ7Yvq/t/l5oNSPbipM9pzQhB8J+36I7B1yYF/VaiLy1yvvrxg7L1j8jcYd0OCKNRsiuKMKioRDQUBNc6VNCmX2YWHY0cCPkZ20hzmjx+lADwY2Til2paary8Nx5M9VWirjDQ6X/NGbeOzOxJuD52MzrnL1+m1kQaS9zBR2lmQKAOfXED3992RsPipYpvE5XYXaBStRWAC+dvGRbSi3UT/ X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 11:11:58.6319 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c0474ba2-5306-4430-270a-08decdf394a2 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: SJ5PEPF00000205.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4169 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: 1781867551240158500 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 Sun Jul 26 12:31:24 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=1781867537; cv=pass; d=zohomail.com; s=zohoarc; b=ldTfg3CFaaQKZ1Py7SilcL8a0RjvsXoK+VnDHNyMQcksrXYoLtGcO7E9PJ9g9EeXiuVeFWogpu1G+RcDerOd66/obwYup0Ga1Xsg/KiraI7rw2Ut9iXATOHiWbKK3ZOHgkLAfz01Br/F3RLZLHcGVpPWXN7ztB+5qnohsoW5zkA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781867537; 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=+KjiEYTq7erG3vowZH3jNUk29SVAoXUz+Fu47PzG4FM=; b=d4Gd/+xC1fna9EkICVQctB2B7tDZeYqt+Kj3uzrmn5D91GNGiP6cgsCoXRsyPrMzwc0SdGkzW+8y/cLKFsHzYahzzop0VHI1yThY5y3TA0smj/rr19YQ+05jqdGDhQ4wrG1CrCLoSM6W8bLk3pdBLG/y6Gk3JS0ywKGUfVDLKNY= 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 1781867537003135.8586593121579; Fri, 19 Jun 2026 04:12:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1waX8s-0004hK-65; Fri, 19 Jun 2026 07:12:10 -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 1waX8r-0004h3-8y for qemu-devel@nongnu.org; Fri, 19 Jun 2026 07:12:09 -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 1waX8p-0001r0-Ac for qemu-devel@nongnu.org; Fri, 19 Jun 2026 07:12:08 -0400 Received: from BY3PR10CA0009.namprd10.prod.outlook.com (2603:10b6:a03:255::14) by SA3PR12MB7829.namprd12.prod.outlook.com (2603:10b6:806:316::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun 2026 11:12:01 +0000 Received: from SJ5PEPF00000203.namprd05.prod.outlook.com (2603:10b6:a03:255:cafe::44) by BY3PR10CA0009.outlook.office365.com (2603:10b6:a03:255::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.14 via Frontend Transport; Fri, 19 Jun 2026 11:12:01 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF00000203.mail.protection.outlook.com (10.167.244.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.8 via Frontend Transport; Fri, 19 Jun 2026 11:12:01 +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; Fri, 19 Jun 2026 06:11:58 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=x1aD14EaVOqP7QeOZjtbXLw7oT8X9JyZoPiToOaAvZpZxey3rPABap9hGONzFdv33iFK4lYhKtQYq9vJLMw3ZUufhLODC5fcf1btrSkRzIZTiekF0buFfzZzZdTjOFIqWCVKcISnDSNVsfkrhXc9pvdXdXgm75GA1MmuXiI8UJueRj0m/L+sMNt/aO8157sO/dUARpqFSU8kes9Bx2MGWWazmHe9YNgUGOzbpCmTYongvWhuMKEBmnIDel2yfm+qzelbkPmAKdIgupXOvMGTMEI2u3ohLRfTT6C411dBSTRKGfglxkM1VRCTeQ4KHObhXamM5YSYBep7ETUBOcI1Fw== 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=+KjiEYTq7erG3vowZH3jNUk29SVAoXUz+Fu47PzG4FM=; b=O7EWv2qk1jYe2QvSZhcJ/WBIFRu2gs1P852BO6qOrH+SS/ooRi5Up85XfCfW9gD3CLmmKUmtloNzrHm/7SEb5XdBCLiqKbVlV8Fa+9CCE7fbsJKN4qWqyWN8yPrFhLEHjcncGpYzTYnCNkFsBUWcekYIXrnul+uVpbd3DXGnQc+BPEooRLR0Xptj+Xn+ov/OtY7KrEDkC24ShCELENWSnPoiKGQ1j1BCtaXrR2CBNQ0UUrybfzzjIPrjbBCBMD7FRCha4aBeXcZuMoI0pps9qh3mwg9eOvgA40OFmHUEHcC4Z69wL9+cUiKvtrjO8AvoC/hQB13HEgeJB6i1pWgSEA== 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=+KjiEYTq7erG3vowZH3jNUk29SVAoXUz+Fu47PzG4FM=; b=z///XkcMpp8bdGO9+1F6M0cn2ttxg04RoWJOqNgavNaSS3TpHlqLYeqm5steblGKCmDPfT6icOTLFQ7//ER6WUVWCo/TZbULdcwTDyW1UQzUoMlCyvX1uAiA1o2/A8gXK6NoR/mlrv4VShkiYAeOJOX3wiPcXJIB660zYueoKKA= 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 v13 02/10] qapi, hmp: introspection for the sp-mem device Date: Fri, 19 Jun 2026 19:11:28 +0800 Message-ID: <20260619111136.3481329-3-FangSheng.Huang@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260619111136.3481329-1-FangSheng.Huang@amd.com> References: <20260619111136.3481329-1-FangSheng.Huang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF00000203:EE_|SA3PR12MB7829:EE_ X-MS-Office365-Filtering-Correlation-Id: e39939b5-95f9-44ad-55da-08decdf39629 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|23010399003|1800799024|36860700016|376014|22082099003|18002099003|56012099006|11063799006|43062017; X-Microsoft-Antispam-Message-Info: 6EKR9JcRp6VKRhtIOOV8GG+H1P4cQWJLQ7xe9Rhh/BtYKXnd3JoLjKeylGJTEuqewONDLxgAbP/MtITV+zYskLYIdfUK8cB/CHUR1fG+aLTb4gDu4cwKbUy5Af7Rj1tVx2c3XJkWItQxPtvr6xzC1R+aJDsDQMKsK1Z3u4wMGutgT+gNWHrF3J6BVvJankdg9ex2ih0i03q2V0zNXENMf7pK6ofQ/ZAqSEYfBi/iIBa3K5AxpbwCpgOXF0kgCMcwWvkrPJ+KauWzJSqt1KaUrhlh62EXbYe3J4lzTtPYbxVqOr1utVkHm66daXNW4/zrGZdG1B+O1WWzd5JN64FK1t0N3+2DtpLar+4+2Jk96SFY8vavHoVpPBUIkeYy/wGE6uUDDu67AOtRZecd0V2TKeZGawuTexWjjuds3+bFdd6Carc7fEWE42d68xvMfkS4uXVyW4Fwc9ZOYRcLsGNik5QqcwI7QS6QCxCbT7xLhpIS1yy45AsIHrGNc36cW0yeYf+RMSL+2aDvu2zhpiIN0vEAYNs+vdUP5FxR+yVx+WC7fIF3pSBvvHJpN5PFmey7HwvcdwDPRPkt3Qt5Vn2BspLioveOJOibT813bjUZYCG36CEuO6gKjJcgUW4q9U2sIZmwuyf/aZPXJFtxhI46CWXI2Tba3RE8KYCrqy3r/gWMnhzzUwYSJFyz+yIip9l8LzOdJ06qn92+W0rC1GJuOLaM6JmhHdrBYB1I61I5YLNP92aiNCkDmYL4hNBZrKPP 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)(23010399003)(1800799024)(36860700016)(376014)(22082099003)(18002099003)(56012099006)(11063799006)(43062017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5WnPftL4M/oiYTqA/KWJeWJQR718GZk+Wv3NMldp0aVnTZFbFGfOru808A1N7FbNRLa2bKZXJE7Z5dzPqZf/zRlWltBUaBQRU2M09ACLCDJfZ1hqA/Dq2siqiKWdly8AiO3A2piIlwGMB4DqrZkYiHy8BjD2Ua+zpYQxrKHULtAT5BVXH2age3TGQjhcydb8kLAbg+mG1k7/AAHTRwSmLaTaz5iCHLX56iYUwpOh0tf/MwUnSJArOzrGNYp6nocQREXCev1uEOieE8zGk6M8d+qzirZcBjhFZ3FqJ+LN/IsHXxaZmFD1ezlvLUjd5Al5CyR3fobEfVeDsRSkEshfLuDx5IBAfg1OgJ5OBKC4ZKmYe9k82X0Tj0J9I1XjUjB2z2Sg0CF0RH+gi8OHPJlmEQWxwUgyYtwIe1ko5anvT8AkjrqI3UzhE14E8U7DQAEI X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 11:12:01.2495 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e39939b5-95f9-44ad-55da-08decdf39629 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: SJ5PEPF00000203.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB7829 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: 1781867539806158500 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..777cfc81e1 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 +# +# @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 Sun Jul 26 12:31:24 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=1781867559; cv=pass; d=zohomail.com; s=zohoarc; b=Z/8yyFVPmfLTb8MNis3vqSq/ZPeYgD1o+uujwXyxuRmYqlKMOetyIJJKMXqhkhUG56IzdX9e649oxvi2rS6IjuVgdQFsO/tum33pdr1QTLavU+N91ahEImc0SKfy3juVWLm6nWfVvVd6P5A5OiOsebJUYVfIXDGU3lBIt6cNxuM= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781867559; 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=FrvKU8bcRr1mPA1qCKrRlCF5nyrJdu3MMTCXjxUv+//FEqKPqFcrVZPARoto/FAESn52M39XWX28Ngjx7MbBS52AeZPf3tU522qJH/6v89f6e1z8/LbzRgZvkr0U4YZsINOPnvpShetSH5DYxIp/NJol/MPSusJHNWVoxzf6EOM= 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 1781867559309340.80712537766317; Fri, 19 Jun 2026 04:12:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1waX8x-0004ix-DJ; Fri, 19 Jun 2026 07:12:15 -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 1waX8v-0004im-Oc for qemu-devel@nongnu.org; Fri, 19 Jun 2026 07:12:13 -0400 Received: from mail-eastusazlp17011000f.outbound.protection.outlook.com ([2a01:111:f403:c100::f] helo=BL2PR02CU003.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 1waX8t-0001rp-Qa for qemu-devel@nongnu.org; Fri, 19 Jun 2026 07:12:13 -0400 Received: from BY3PR10CA0003.namprd10.prod.outlook.com (2603:10b6:a03:255::8) by DM4PR12MB6038.namprd12.prod.outlook.com (2603:10b6:8:ab::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun 2026 11:12:05 +0000 Received: from SJ5PEPF00000203.namprd05.prod.outlook.com (2603:10b6:a03:255:cafe::1b) by BY3PR10CA0003.outlook.office365.com (2603:10b6:a03:255::8) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.14 via Frontend Transport; Fri, 19 Jun 2026 11:12:05 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF00000203.mail.protection.outlook.com (10.167.244.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.8 via Frontend Transport; Fri, 19 Jun 2026 11:12:05 +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; Fri, 19 Jun 2026 06:12:01 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lQXoJmow1toGEJincmVPMO2Y5wA2WLHeM0q9/ki6jiFoGTYIiQ3w3cBDikwUvGVmXbe51u3r62QldZhGlkU17tIeve5EfM+BgHcLTTMR9E6zVPkgHe8DO4euTAnYr+Igg5KYkjz37ddbsFyLczDQDenbQMg8GeHJqeH9cpBkrl+ye++n2FJ5irOiHgqx6eccVh6rbFemhsxkca3rM4N85H0iTQxAjfaKAXnEZ28bcFm6nJSjOv09bla6DJVicdrB93Q6VsjzoSZ5EDP7Y7DQGHmtzmQWnAVuNsfvAqf62eFPmrUUEag2km9bbRTSZjpBOTUtAhy3X0CVtyGwtdjeLw== 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=DDktKPVil6FLN1dH3NTU8DUReYP2/tIiTgL3zNNRT4zCmTU1dtdQLav6pHFBspaTWU67NCftCpNs5NvDfHFOjlMKBolg/EU17b7gJVZiRxNbwo2ZuU0FcU1NJxZABc2PMQq9+UT1og6nqBNTrofOxjigak1Vxq3GCbvQ0YoUIGreZcbzrKTrJEPxERlIkg8guiaDOXQco4ElEWPOkAi4oTvVXrelh1GRZZwXl8uJExZpU0tcfETLYO5oOjnVr//fB4uDNK/d2oxthMYcXOoPiwpW8SaTmJZQHSUAht6lOI4QyyHgTE2ioj58/PX6o2nDKETWJruh+iq00X2NS+3VnA== 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=AvwGHAOCElTt4sxgQsfAFXaEX7hGVxbecUc7pqpLSpBQ+mp6ua8+hx4+ZTIrmxaO6BHqT9Lu91IA2nVr2N7tS3GS5zflbmTDMw4dkqw04mECv8T7GKhH8YFuCVGEo+lMe/Gdif0j+feEpuz648x2WIPtR3H9sjZszDEDfU0LRSY= 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 v13 03/10] i386/acpi-build: partition device_memory SRAT umbrella for sp-mem Date: Fri, 19 Jun 2026 19:11:29 +0800 Message-ID: <20260619111136.3481329-4-FangSheng.Huang@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260619111136.3481329-1-FangSheng.Huang@amd.com> References: <20260619111136.3481329-1-FangSheng.Huang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF00000203:EE_|DM4PR12MB6038:EE_ X-MS-Office365-Filtering-Correlation-Id: d0bc0705-7984-4e44-aea2-08decdf398cc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|376014|36860700016|82310400026|1800799024|56012099006|11063799006|6133799003|22082099003|18002099003|43062017; X-Microsoft-Antispam-Message-Info: elRqE4PZ9C1BNNa7p1j0bcZkGHY1jqC3WL6BdrfYNizsnkWCBEG5ZLlILjSSsW++IRi/5A3WRc79hPl1C0p31SKeEwDYYRhQQSmeIZSQviZHMcDNLAGP3rlrIodgHI4S5v7nOua5InXgYVuzgABIUoQ94FSf/HH8kF2JSA4izM2ihAYKi2r0TbJgtNh/LDW9odJV3lfhkPOsF6WdlP2NmDxsgYJkSvm2NJzffItAnApBJOLA/lCeWO2DpFNjnOUMVP5tL5YAD4zdaskVpsXvAzthpH72U7RvTpl3kHScR+k78AZ0pG5+Su4Oq7vYl3+UEeWpv88GI/oiKavUYCrmDfJGgV+d9XRFyziSd0X3KcJyG/pbFFQILh7SzE0RPGOqricdqSpFDwExcyrN/Tw92A6U26LUHyvudDOVIUQ9Kvt8YAwy8YW+rWvnZgLR1ETj05M+pa01YnWqg2alelXmfhqw2pqS8Ot6PprQRdXqP33U5ZUB4DEZIt3jcPGfo3bsxLZZ6OBShlFxUhom1x3b448EZBHyZEnQo+n3b8S30tphaDssC1X47/rQrXQFdx9Bj8agKFU+R8VtTbBwTkb62H8akAkSgvtDRWG6s5zWS8AtvHNSRiI6SoxZXLXhXIRt7mK0yHlK/zlzAqGXhX6c+fgnH26C3WiVBcU7/srEva4QD6e6mqcFvTRTLZ0xnxR6lItrbpjABwGJ6WWFe/QKMyeYmtEl+6PVdz9Tbmxx6bK5OEib4CvQA/YT54kOYoOc 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)(36860700016)(82310400026)(1800799024)(56012099006)(11063799006)(6133799003)(22082099003)(18002099003)(43062017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: NyPhLpTzqejYzcPW96kaoH22H3Gk9pyrn/X6K2+MjvE/a4gnK1+IWWU1wSA8Y3Czn7mX/RoWoS9pfPf2NlcYQflW3VgLLXQ5CIJ1TvXMQ2aB3k4vj76ZMg2ziBsvhd4jiLkYp0hgjffu3FmTvQ5D8Vdi38BY9pbrIdUQId01qcwPMnyg70qlTzx1WCVZMN4/TsMCa8awE25AF+mcFecF5MTFqh85e3G1YxQfbWiN+Rsrev2mTl3JCFLYOvcB/Xbz0DCc+BKgOb3PLT+wjmVgrE9wZZCxmyPQVdzVWEqwADzWkk8GDdN4we2BwfXps2fP2M3HD3K0gTQyacnOnLp2npc1dXV91TeRKcx2Llrmn8QV3tE9+ajJYOEJfF26qcOiFQmuRoBtcojTwJcTjyYlSWFXamSwe1NsRSdE2/jh20aG3SKTr0eDdB+D6X6bThpP X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 11:12:05.6783 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d0bc0705-7984-4e44-aea2-08decdf398cc 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: SJ5PEPF00000203.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6038 Received-SPF: permerror client-ip=2a01:111:f403:c100::f; envelope-from=FangSheng.Huang@amd.com; helo=BL2PR02CU003.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: 1781867561547158500 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 Sun Jul 26 12:31:24 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=1781867568; cv=pass; d=zohomail.com; s=zohoarc; b=UMshA2JLu8ek7e27+jlx6kxNUBsfZMBlIkHMonOn8wm4AlE4osWbAXNtv09mvgQP8MiePhkWDPRRslYihWu6xr3YR9HJT1EOston/qtSZCqcwIF4UHakJgXSXUuFQPZkKsGZFnGR2oXhZbY2EsVHpuacYM2yDESMTnRrlJH4W1g= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781867568; 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=1NJ1+CVrk5KoSUSyP/uv0wIOPnr1GJDzfpxGJ1Cf+eg=; b=d9Nyq1rDvAXKiQTzJ258eXhdGM/s4AIGl9zub9UlBYt8VhHHMxJqVwBbCxzMrG23il7TTD6MnK2Qc0rFuLdToDrnSHk+jLMR0hWB6XpfxacMFikP4vsBpPnAgWjzLdyF6+rQ2LWt76ERvCoNFvnNZH6kc/iNc/eXrJR7u2OV+U4= 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 1781867568357785.4453771138657; Fri, 19 Jun 2026 04:12:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1waX8z-0004m7-JQ; Fri, 19 Jun 2026 07:12:17 -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 1waX8x-0004j1-Uj for qemu-devel@nongnu.org; Fri, 19 Jun 2026 07:12:15 -0400 Received: from mail-westus3azlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c107::3] helo=PH0PR06CU001.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 1waX8w-0001sG-10 for qemu-devel@nongnu.org; Fri, 19 Jun 2026 07:12:15 -0400 Received: from BY3PR10CA0010.namprd10.prod.outlook.com (2603:10b6:a03:255::15) by CY5PR12MB6251.namprd12.prod.outlook.com (2603:10b6:930:21::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun 2026 11:12:07 +0000 Received: from SJ5PEPF00000203.namprd05.prod.outlook.com (2603:10b6:a03:255:cafe::af) by BY3PR10CA0010.outlook.office365.com (2603:10b6:a03:255::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.13 via Frontend Transport; Fri, 19 Jun 2026 11:12:07 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF00000203.mail.protection.outlook.com (10.167.244.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.8 via Frontend Transport; Fri, 19 Jun 2026 11:12:07 +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; Fri, 19 Jun 2026 06:12:03 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Mha2YBb7TYIXI5oUNRgo9k+P0gcKz8pYdSlzebHwkgO58HJMMyLZnQXwc+L+9la41PqHIjkoYwY6DkjzMu+mk7earfQrhQMMdNWbYO6Ebq+WAc57M6J4iM9fvak23eQX7EBRocR+4agRL0yC4a/mGN7+f0mIuNZ7cibOFTE0NLB3QxIsirmfNaaAT3tj7V2RO7qwamSfVzGrhvEJQGh89Kk9Gxt8hG1slxvhlM+LrbaEJi0sMvUwAH7zbjsYnXaZs1ZcbSswxp+E5Bmylxlj2WpsK4lppHCBQlnF9y9YZC768KHcekuYAVbJMPpr2Axz7zHECa95B5njPLVEEovapQ== 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=1NJ1+CVrk5KoSUSyP/uv0wIOPnr1GJDzfpxGJ1Cf+eg=; b=GyjA1rnVT7eiOP1Y+O2W5MOag4Yozy32/7sOXTW007My49B4QmYtvxQ+/VtiT662YEG+G3FDa3LkEauilkhM4uRrQJlBCrR0pwukB27+fj11vo2cGDHI4hr2RtOsdnIL3YTlVtp8MYqPkRUIjzy6FHOgMAywskt+aNsxAVb8cXspSskCJOKewnkt8uFwdCPkQ83AQACNkL6aDZkmwBKHShyve3nBSmi+sAodGTtYYzGAIloYJt0GnZIRjCqfxHsbvPGT6NFtaarTj4xz4ciel8dbMlUGBORB7nouM5JzJRWyQO31vip2okAK2+Nn4miTntv/1td4q6dmT+ZHdJVIxQ== 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=1NJ1+CVrk5KoSUSyP/uv0wIOPnr1GJDzfpxGJ1Cf+eg=; b=eI2AsN4BU1tor5ZqEJSGo8JZ9vCFaWwtPlcpNiHMrvJPsBm14NNK1n9AdwCKDD22i0tTjwiuijBQZDkGTz+t44IecVHeusjRBymDAsmS71oxFgT/xrlO9ucWNIMmZn98n/G++dx+2Xhn0geeeKlvX/XuImpSS16jWHbR0CViZDk= 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 v13 04/10] hw/i386: hook sp-mem into the pc machine plug path Date: Fri, 19 Jun 2026 19:11:30 +0800 Message-ID: <20260619111136.3481329-5-FangSheng.Huang@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260619111136.3481329-1-FangSheng.Huang@amd.com> References: <20260619111136.3481329-1-FangSheng.Huang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF00000203:EE_|CY5PR12MB6251:EE_ X-MS-Office365-Filtering-Correlation-Id: 445bb355-aaf5-4791-e9c4-08decdf399dc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|1800799024|23010399003|36860700016|82310400026|18002099003|22082099003|56012099006|11063799006|43062017; X-Microsoft-Antispam-Message-Info: Dtucn1zd/cjNc7tLSGe4RkhPJnmkuG+306UmFcSmS3+6ekW6GBH7NdpQ+4MKu77K9zcjGBHPdv1edYtdZ7Aoki+u+7azzd7w8i01mMu5SymmGImGMBKRJRFiKo4hBx6fdhRfmiJkUKU5fwYk48kjbkIUSGZKrTYBU+cmSbPdt8G1apWHJN7R+/TMJJpmF+BOFD+hO7GfArsJzWPIgpzZzngOvk/mKq4WvmVG6vynhz3BHYb/J7/bzhXkpztNOJfAcDQ+MUykI4ODeq3bu4M9TyrAMfo23aR0NCubmwLFHWccKEttixdQOglfZfPT2vcuYmo05lvjgLXeTfM7LpyFBh7my6wiu3MSlJgQ7RIS6UFS74Uuvyv9HnH5gk6c706xmeNWNssjzqrFmYj3F83Ufu2FjfM398AMF+tybR6X/XVq51aoOT2vtlNev7vjeSW9BjAO2bsp88jlIDMP/AEpvyeY7lFaormOIQlMHQ9YHhnNtbr24PXw0nX47S1rQlNRhuC51eNktGR7u2CEJeWHF9dlvi5DEgYFhzJcWuoX+4Qm8t+gXPKXUSxdUCaD8pI/fgSLfFDYPCVv+3UMYOLSEY8lp4CUjhXgpI/zcXiUPJHbIScico7UW2QjvTLvmAZE0UHKncvuKwmPHtG5c7FPK5xz4rznY3jHZoK04IYPePKs200dTJ7xNgvu6yLSgga3SWDVJ+4uJhLiwcXX0lX/pyr6TwFqNpkGfAlhFvjni3eLspvrNmQbQ/5zCmk2HYQ2 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)(1800799024)(23010399003)(36860700016)(82310400026)(18002099003)(22082099003)(56012099006)(11063799006)(43062017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 8wRdPt4+YEAN1vxh5OZYo72EoaLevmdAsTAr6YZPbXkGPiiHlebdiltHcJWH+62HOqe+X9CG3PO9qz2ERhpIBKPD8oBLIPJxzJpxXFQGdmHPhFKUV6+3jzaEb4jh1HW4V218hhxNelBJwkdS3vNwRhGiLyIkdKIJ5OM8Xrq9cB1l02jH7g7njmuCjz+RLUPyK7JA4LwKMm+Ve4a16M88v29dd3cvKW8wckyUn4Rl0k3GWUJ6JfVxDWRT9+9P+CbD6XyRnspeLX+PcVjnsIMEAWn/8En+3dfEaysC3h4qTRvQxCb+tyiH3MeQ5Df+SH/xoF//7r22LcSIkSF/gYKLk8TdxqlPb/6S9gomgh7qWLli/ONIhigDoTs+xgR6BACsKBQLiEix3N2mlljQQ+gu88U5dBaMSKm4k/op8mMR8gophlzXjI4HLWOOH5Du1QYO X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 11:12:07.4059 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 445bb355-aaf5-4791-e9c4-08decdf399dc 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: SJ5PEPF00000203.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6251 Received-SPF: permerror client-ip=2a01:111:f403:c107::3; envelope-from=FangSheng.Huang@amd.com; helo=PH0PR06CU001.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: 1781867569332158500 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..782122f7be 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 Sun Jul 26 12:31:24 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=1781867567; cv=pass; d=zohomail.com; s=zohoarc; b=bKLw8GWjisyUuY15akAtKsTrIcpCS7OsnT3GzBjzvtT/sehvPFDGzmJMDSHLUMGFDNbfogol3PTmTFSjit9b+iNIFQRqEXWC1Shrim/AA3zazTrEPizxsEMgw4Z7gl3Uka8yt7CbtO3O0QWINi65eHlm7gkbDOiQrR8mX2FNNQs= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781867567; 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=WLONjqfI6bpvwdeWq601Nvo5JQLmizmyTICSX/dGKn88GZ0UdWB2LyIgeRzKcHXSnq+A9EYLYZ49tpLX7lMEOzCcbhvfdIkCIOntrsA3eG0wISx7Zd2W/oMIzuwelVi39RuT9nYZHeNLip2CSsYUYFRlB+JqYDTum4Wv8ez2izw= 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 1781867567732545.1166278067723; Fri, 19 Jun 2026 04:12:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1waX90-0004mN-C7; Fri, 19 Jun 2026 07:12:18 -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 1waX8y-0004ky-FG for qemu-devel@nongnu.org; Fri, 19 Jun 2026 07:12:16 -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 1waX8w-0001sf-NT for qemu-devel@nongnu.org; Fri, 19 Jun 2026 07:12:16 -0400 Received: from BY3PR10CA0010.namprd10.prod.outlook.com (2603:10b6:a03:255::15) by MW4PR12MB5666.namprd12.prod.outlook.com (2603:10b6:303:188::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.12; Fri, 19 Jun 2026 11:12:09 +0000 Received: from SJ5PEPF00000203.namprd05.prod.outlook.com (2603:10b6:a03:255:cafe::af) by BY3PR10CA0010.outlook.office365.com (2603:10b6:a03:255::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.13 via Frontend Transport; Fri, 19 Jun 2026 11:12:09 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF00000203.mail.protection.outlook.com (10.167.244.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.8 via Frontend Transport; Fri, 19 Jun 2026 11:12:09 +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; Fri, 19 Jun 2026 06:12:06 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uUfyuPOoqzv3oE8t+E34glvylbnTgEI3jE0P6lfWhEhOT1BsqRRZsqPjERJlh2YUARqZIH7NwTRumUzLejcGfnSoH/Bf1Vdadh3NniYKZ1ZJxkNE5ISI/tKWsu3fA7zksk+AqHpZWLOstvVZvjms6zGNkYO6iNPwW0NllG6OkpScw5A1WkeDY2nN+HaOwE+vyCiPwGIA7LtwIIA/J7iDikuVwCnw3t6YXJ52j7OqZj9WmqC/l2ozBYVTXsHCnq/xc4cXUUSE0hI2ALSyBolJQS8zPIbztvSTV5wVgL6uhBYoqnevvWyscyN6yTvm5XVIiNc37dnA9GKm8cNqTvkSoQ== 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=UrDkKbD9XllPDkp4yPDLpaBAi6+VsDBxPFeDl4tStYOx2LwXIWlhqm++qkDN0odnHtjfXVtLdYehnzEYp365fLkIQVinpOxFgQ00OIkMbd7a0ZR204h/aJ9tk/OkuN/TtT8UIYZ/VvtG3yOZETzW82O5yEGlWP+3DnOtGpcm2GzzHu4b0ziGTZv8MAPgpPb6PfEGNEmNtUN6N6jt3DJvzfbYmRJ8pEvnsYKtpjHlzsCoQHY1CwtYLUzzVUEpTWmYaF6BJN80dOnsx51D43P4CGeJXwbvMScCibPp6hndMmtoUPUU6dhOPyJ18ERiAeLCDu/BQLAjP9Cva3A90W//gg== 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=vKnfBMwQwwIhnC5B/ND1STqD9n1WhYagaX9wJFBS4HKThXcf5CQmbQxSBbXfbxg9FMXQsVxlDO1GA+fGvGnTKNHTouH97EwNwka+CqKi7n4LZbxLQ/Tgj+RyPyTGUpm4t2zhx/JwT4gc+amQkfWtxEc7YqF2uVQGu0VOVLL8ks8= 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 v13 05/10] MAINTAINERS: cover sp-mem under Memory devices, add R: tag Date: Fri, 19 Jun 2026 19:11:31 +0800 Message-ID: <20260619111136.3481329-6-FangSheng.Huang@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260619111136.3481329-1-FangSheng.Huang@amd.com> References: <20260619111136.3481329-1-FangSheng.Huang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF00000203:EE_|MW4PR12MB5666:EE_ X-MS-Office365-Filtering-Correlation-Id: 4147c695-0a02-484a-1004-08decdf39af6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700016|1800799024|82310400026|376014|23010399003|22082099003|18002099003|11063799006|56012099006|43062017; X-Microsoft-Antispam-Message-Info: /EpCal9ad5s91Mf4FZsFTg0so1vsXUFwXZHwPmA54QkJBlWGywJ6CKU5gJPLJLre6k3bw04VHDjuUkp62SI14sWY4dHBvzFwVc/qn2pGW7osw/UTX0pT6Km55PpflEue7yXKxkvboL+hqaZkqCzR8AHapZqVdZdkE48odJANUoxMbECdOMYhLSWROPWWM3fLx2NZ9pGeTiWcOZ118V9hyS6TDWieXd6rdj0rj59M/J4GPXwT0HA/A53Xwj7UrxuJEd/7uaQ5AI3bfEeeQE8o5Rrd1k6t66E6Npph2/rPqYzD/gwIoJrY1u6yyJ7fb4iNs6u2WvyndQHsfmIl0M78ld52hJo3hmDOOK6teDGGT77lJXrONt+GPVPgnUF/7zmus9zRP95UzCTuQ+p9DZYEWMNige3qLTsPSF5KE+OZ0H55PZkd0X9sxMISxX9bfW3G25Z8VZovGYWHtAglsb1SEInE+0qvFlFjInvC6Ncb3+B3e7EH4CmZ9+ToAMuXcMe39AcbR8Qs3bB6blqoig0TDWnCY9k3/OoVM4UjgMXPkT8pl6xY/Z8lOdCprFxpMWf0C+am1Au2Nqtab+oqhJ1lVr9n9DxofVOH2DpQY8sWVE+4ta/mxK+Zb4vnKMn9zu0TZHTH+O19gWWw08RkCtkyNDYYnUWy8eSDkPNUuRyF8NpYCUw46JBug99JdcxE6+ZsdQiicgFGa1ZMUKiHtgUkLzSAY39BYsbf7QSGOVTBzI7LXshMkSD+/k4QTMPubh4B 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)(36860700016)(1800799024)(82310400026)(376014)(23010399003)(22082099003)(18002099003)(11063799006)(56012099006)(43062017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: QJAJzYpItgG1TZ9Vo4oG8IH0VIXwDiAOqhhaIydFssMrHBh2Vhjj/ORXaEl3JKqT0e+lIQFJF9MwTMhhbEWDYgVRrM9kLUFxy7u2Dm18W2yagrEuhZerNr7p8PZQs10b5iUI67e/56B6d8YvCgP6NFt3slAzKhuYATPZj2LyY2QWuDl4EOcf5ZHgcTx8Umm5BDiNof2H6f1sRwfOHkkqNahJRHEmB5fM0muJ3SXV/uWxP3yWca/GDvCqHaHog8hbEBAVdnUhtXGBTzPKnuBPE5fLR+ODVjXWzWcVBetf7OUuvSVZHCKORbNYe9F+/wIkBehJcYQY6nqe0Adda1EbSZz6Bb+JmLKzDZJqnwtcGppAU0XjoWYksMhX3Lbij7YVLohHU0yFfDonH2v5tADJvL9ftSz7rYpB18WwJekG146FXfzlqdQxwjjelyQwttI0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 11:12:09.3073 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4147c695-0a02-484a-1004-08decdf39af6 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: SJ5PEPF00000203.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB5666 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: 1781867569276158500 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 Sun Jul 26 12:31:24 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=1781867600; cv=pass; d=zohomail.com; s=zohoarc; b=Ss+ERWkMstmN20iI9g8RIJCeZ2oxUVFyhJlwn4m5F7ux+vGbL0SVWrZDGB/uPyQvTZfFGIxA828946Cyn4g6QQtATT81bt1mjGiLV+GyDePzhQ0PgbcwF3ZSq+lwJYG676IcJr6c03UcHeLENsi6kGd3oaUDIx6Bh8ScIWvxUgE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781867600; 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=tGzAYDjOObmZuwQhTTJborxVB9Uux53grZ/BSNAOIBI=; b=nQpmj/1FIHgm+NunsNq1hBX+n0JXYLevclOjDsIlX/g9aQUyGBh6zrfWBwZglLG7770FJUEGuUMcc4PXU4KSqwjjowrbDGEU7sFh69/YJa+il9K0c7YdYhFFUessXP+J6vei0KWmALI/AnSAOG005mEf1sAmwe/UPHi1druxgwM= 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 1781867600267565.5245960205364; Fri, 19 Jun 2026 04:13:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1waX93-0004nh-Pd; Fri, 19 Jun 2026 07:12:21 -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 1waX92-0004nA-Eo for qemu-devel@nongnu.org; Fri, 19 Jun 2026 07:12:20 -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 1waX90-0001tO-Ow for qemu-devel@nongnu.org; Fri, 19 Jun 2026 07:12:20 -0400 Received: from SJ2PR07CA0018.namprd07.prod.outlook.com (2603:10b6:a03:505::22) by DM4PR12MB6615.namprd12.prod.outlook.com (2603:10b6:8:8d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun 2026 11:12:13 +0000 Received: from SJ5PEPF00000204.namprd05.prod.outlook.com (2603:10b6:a03:505:cafe::92) by SJ2PR07CA0018.outlook.office365.com (2603:10b6:a03:505::22) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.14 via Frontend Transport; Fri, 19 Jun 2026 11:12:13 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF00000204.mail.protection.outlook.com (10.167.244.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.8 via Frontend Transport; Fri, 19 Jun 2026 11:12:12 +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; Fri, 19 Jun 2026 06:12:09 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=U3XJHCsJJVv+5ymQGbZsUFm8OB5vUzJfVAGwX0ABxQM9qnDEWYwFvEPdPlBqQMKA7Qk11nErdRqTLZ/oljZeCGfiIsTmxD8ubl+NDKtrd2mLPLrQa7qw4T67XT5nJcDHqpU2/J1NjbyzGEyo8DUZRQB0xXpQrUgOv0O+tXRo0UH8RHZ02f0Z9Cfb/zu6Tz7Gta1H0QY+V3gZVgiH2zNgK18ZF32rAilgc9oCzHvBKuHx2LcO5b5aZGypWwMKTDhMp6J5iNcNHwz4W4Gqc5CPpbg7UxjjH2n9suqEAYTvHdzW0p/6fQuAaOvneglJSxznTBT6Ysw22gyRFY6sMfUivQ== 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=tGzAYDjOObmZuwQhTTJborxVB9Uux53grZ/BSNAOIBI=; b=NOIUkyJMn3zDs8+/MqddQK690Ml8fNqj9m6cq3OqFZg3HTcmaC5lMMooUlt1sWdluDL3n5Av3zBFhfU7hvWebwogL/1CA6lA/zFHsn0scNW1xeT6qEyYHnHj/3RaVG+WgXtLv0QPsPSg0pBafEdw7WuaWWBMwP7FCvGj50YIF1eTsHKyxWjiLqcRl4HiQkGKTlVa5GoiIsmeSeL2MOoVZmXoPiN8aBKnRYpDIZdcRkh0xuOhU1zgxefFqR6Mk6tywZPDvbolsMtPNyCPfJHW/yBHV4dkG+5g7CjmCeusBNpj3Nhw6JqyDEgplNiFPwWd4nWJQuPyf7UdpMjnW90R8g== 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=tGzAYDjOObmZuwQhTTJborxVB9Uux53grZ/BSNAOIBI=; b=27RYZlO7bUKPaCWuq5pp/y42UWJdjoxiKsppYyCV+Vq4NvFRPKHulokzoovuxDZx03O7YePLHcCfxh5kpCvGFLlT8pYjpLg3PI+GZhn1SABsOAdo4sjY1fFJfF5mpgQaBr/3xobfN/+eI3beYuZn4MQ+hXlWkcksSGqMBz0xj1w= 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 v13 06/10] tests/acpi: add empty expected blobs for sp-mem SRAT test Date: Fri, 19 Jun 2026 19:11:32 +0800 Message-ID: <20260619111136.3481329-7-FangSheng.Huang@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260619111136.3481329-1-FangSheng.Huang@amd.com> References: <20260619111136.3481329-1-FangSheng.Huang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF00000204:EE_|DM4PR12MB6615:EE_ X-MS-Office365-Filtering-Correlation-Id: 93b38e06-d04f-4272-4db0-08decdf39d04 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|1800799024|376014|23010399003|36860700016|22082099003|18002099003|56012099006|11063799006|43062017; X-Microsoft-Antispam-Message-Info: BU8vfe1SRvp2UIWXdxY5/fqoyk/2K6lAEgnm3w16rkjnfMRf8OGR2BAzL7ftQO9b00vfCcVRVc4ETu9pa6+tGKa8ohoFuJrDbYi66k0oS4l1VswWr60HEhUhYItuDdcDXI37y3/kA/Nsl3Gb6UEPBaLBmM02ADNAFKvQJd8CCMyBs67RXPhCHLq0M/IYWaM+7915fT61fd6dsXyFgWadtshloq5yQxyQdEzCmUm4T46+jqqYVZB/l+nv7rDamIK3nrZLxFU7NA2yjVvVCq+5hmFHdRtFdVKx4tYb1B71tQtXOGgBcRA7UER4prBrYah9WA0N5PbADna90kkN5wSk3E075zw/xxw0m3jOWXKPCmpg2TCLFbujGNHGi89oooHM+xkMw9cKDFq36erqUQ2lrnUKpMT1P/Hye21FlJvSbkRKxhg+jopYDPkzyBSU7ZWunwJEkaCCao2rhKXC2+INFpqacdlcNSxKdITF6Filzq0RxCWyH8W6qYqc/iYrBms2dp43SJ215ggg0ABwKSjSDnjEUEbYPJtUFfzlOLITSKBctIQ9zDil9aaDX99ORjRV57JwAUMcc8vE7rl1/78YdlLKvV2qT9Uf3yKR4IWvTNQK8FD3qZ5nQb7db8Mqh2JSsL72OISbyN4wAKTFejU6bqoti5EEdIHwpVWY/2DPZW4gusoy5jEaDv/80riM4BjWhhOjcEqvrBYtVPxag8f1FN7KnPAVhxFm9pnMidhMMnlGv4Nr9cdLah+MRwLqX00P 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)(376014)(23010399003)(36860700016)(22082099003)(18002099003)(56012099006)(11063799006)(43062017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: MLNxKS29I4v0IRGUsp9+qYSoyeBxm3WK7ZEG2lKrWve/sVMgNVN4WU26iDKfmML3Jpu5vt0l9YdZnadYtCk6RSFdqVWsrWgJJXwzY4gMaQadty3qE19C2sCapwb7fe6Vc12qOiCatmGOopAGnqtV2huiLEqGeu/Mnq60y+lUD4r21yF46ZtAbsRffW0tibouvwfTT10/NMw7QWA9asWNgHhS6h8rr7iHhdsA3gdpFFI4gREqs1DwbdonwYKQgrGFSuGALcTQIDMUMeQy/xaVDiPrXEIjf0rxWWd4lwBbrOlHqkX2i+Hxw5RKG+NLxknq2eFiY1LOprDbI3AHl0glKCR4Hf17B71TirWB4bus9al9PahSFEcxMNcCzqnqR/rNLVGAGayiDKrI5LGOm5wVWsaQzBSfrh9b/rjPtHt9u2lIIKAOMUjgqWFRXO2HaF1g X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 11:12:12.6932 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 93b38e06-d04f-4272-4db0-08decdf39d04 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: SJ5PEPF00000204.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6615 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: 1781867601430158500 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 Sun Jul 26 12:31:24 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=1781867607; cv=pass; d=zohomail.com; s=zohoarc; b=YxrcWZLM/e29IJYjHApER/OnebnFIGZlaIUsNIHss6HgmOdIOusF7fgV18bH7bLdODW957h4Lj+opgv6zoHMasmHG0PWSOqPRUGs3bLoLGxd2n+UUeyVLv2/6nokZiO9ton2goZUWSQGI8TiJKxynTVm4M5+OTFfS5wBj6mtkvU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781867607; 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=K6XLjWYqyZDpudueIqtegyHqloeqxLiHIe7KdbzTBTI=; b=BoH6Kno91bx8PZSJnlP+4rAN54WNrKVO2OE6FZmlO2utvEHx9XdalVpaYsSQ7z8s/uwkicWzSowQYSgZk5q1QGtvd7o3uOLpwrFO8BbC+WrV6de3C4NHe0DqhLS8TjjLMHDSEyeHn//MM536kwXErl4zJvWh5u2Hf+PKhXOJnv0= 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 1781867607931207.0788665219685; Fri, 19 Jun 2026 04:13:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1waX96-0004oA-Q1; Fri, 19 Jun 2026 07:12:24 -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 1waX94-0004ny-Q8 for qemu-devel@nongnu.org; Fri, 19 Jun 2026 07:12:22 -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 1waX93-0001tU-3B for qemu-devel@nongnu.org; Fri, 19 Jun 2026 07:12:22 -0400 Received: from SJ2PR07CA0010.namprd07.prod.outlook.com (2603:10b6:a03:505::27) by CY1PR12MB9650.namprd12.prod.outlook.com (2603:10b6:930:105::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.18; Fri, 19 Jun 2026 11:12:14 +0000 Received: from SJ5PEPF00000204.namprd05.prod.outlook.com (2603:10b6:a03:505:cafe::86) by SJ2PR07CA0010.outlook.office365.com (2603:10b6:a03:505::27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.13 via Frontend Transport; Fri, 19 Jun 2026 11:12:14 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF00000204.mail.protection.outlook.com (10.167.244.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.8 via Frontend Transport; Fri, 19 Jun 2026 11:12:14 +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; Fri, 19 Jun 2026 06:12:11 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SN0VYm/aNzkLL0gwOAHb4wHPvtI1duWbkzrghtinDbCNAxXvvFMDUWCzXpGhbhmWg6mqPJAhAmaS5ShLPqZDZGyk8xx2ouQHGGo2Y17yTSMgKCAtxkxf/exNCjl4ytXRyYVkLWZhoSDVp45viNjuwI4DZ3Ng5M7rUxKkukW73n2jLaA52r9RwqtSj8dilAJ7q6LXVSy/SAY82X51/OdU5DSWnJy+/JBIZMRZDeiYNuMXdwMrbMHW00AHkP3P6K0tLrWyVuvQMNfOMcrMJtHEmJqT//rV1x8Lb+nsZh7wOTIpkTNn5LbS8x7UGfSCa1bvFPKI7EAZVyR8P6kePL3riQ== 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=K6XLjWYqyZDpudueIqtegyHqloeqxLiHIe7KdbzTBTI=; b=wax8ynUp7XxxAJL2jXKN+UWdw1ZW3woFrsjVGLUQBMaWTMDL0PfnO6ONYDN25vYtRvtiot0I7VyEcFJM9vzuz8x9ZeNOZEB4GyI0vzx6JvFWYsMyBmxUdSgqyn7HrTQcjrFvDDrjA+YmQ1keDuvjdb8gt+aTsnUIpBJvu3F6ztVpxx++cjxa1x1+S3lU2b3PAZz/F1aGjIHzeZvDsd4cGlKofyOepyf2HRlW7g2e7Wm8+zX05aYZzDItuX32lWWNT/1Pl18VeoJ5VyDq14xsK+pWSNreYOJ28gRqvnyYQ0r8J2JDtn774tSEvTuuV+7m+ZmKmSElWi61zP+F7D8KPw== 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=K6XLjWYqyZDpudueIqtegyHqloeqxLiHIe7KdbzTBTI=; b=5LbjK7+lv+Qp+S2bf+zRnWV7tPsDDjTF9ciujo1mGSzjqlk8p8tvwcdVaHiPAnhBsGUg5QcJiYqOcTNDl4Aepdkjvu6mW06QEUxCixZt2XSaQJeKBuN4OuzormDZdy1GqzLmpVs9eB6HusSVUHUsfKOoOJvl/IJcH2aXFuiAoUk= 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 v13 07/10] tests/acpi: add bios-tables-test case for sp-mem Date: Fri, 19 Jun 2026 19:11:33 +0800 Message-ID: <20260619111136.3481329-8-FangSheng.Huang@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260619111136.3481329-1-FangSheng.Huang@amd.com> References: <20260619111136.3481329-1-FangSheng.Huang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF00000204:EE_|CY1PR12MB9650:EE_ X-MS-Office365-Filtering-Correlation-Id: 38949f9e-51bd-437b-0b51-08decdf39e1b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|1800799024|376014|82310400026|36860700016|18002099003|22082099003|11063799006|56012099006|43062017; X-Microsoft-Antispam-Message-Info: pOezvxMf5KxuUDFxOV9ntcl6gcOjCwjtYoASSHqMZdl/mYBOfmOLQXHUiHCTC1bDsNwPU65d7nBw03gRwXs0uDswLnFLFiXp5sV91QE07qkiz1IX+bi1GRqlsXnG+EZ1Bgm587Efd785FTJ8gEVvMrbsOrn5aO6WoHMmB8o+vb3id5rv/aD15NbUMYkcXbvr5TszTCSEmOomDaoSe/BsUuon7l9Zri41Mm3AcVOez51JLDaM3dcI+2bbjH8kUrhYOQTWDeNOcAm9Hf8REIbixzuxNy+NtlXROK7JGPNe7vaDaW4DSBPJVQ03KhorDT9hv1w1jJDnbR8FHs4Un12VQCSSLEdqNU0NPm3zdHoc6SI+73YmCPWUdl9CL2EdE49gyzhLQ1TgTS3z94fPEajMRrwRqgkSUl8g24sMIEizBPKRFRDdyf0vrROPpuLhtuJwqlgcyxEhuL/4NpWuYt1KfgZTnqs/XWlTlelvukIe4jKrXxbNXWUtBWn/GUTNNVa5B/OnAh9FXmdeipSjT47DiC1tBM2xLT73Lf2qzrdAXGAWQq2cHaeG0GFYr7CNNXYJ/4pTCmprq954Xt7FN8DIfy0zcbd811BTF6paOW5XYctGHtCnZkTIMG8yN1nVQ6VjN0AaEC6l1kwHM3YT+nlAMoJMV1LW1fDfzM+jl+PmEbs5QVCFnXnhMbm8tk/Sl2q3/UynGmjwjcSOqx+TwgXK6Vel6Bw40OHapDK+3owPmyOHZBkjzlggNhOCyKfESPcl 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)(376014)(82310400026)(36860700016)(18002099003)(22082099003)(11063799006)(56012099006)(43062017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: pit2hG2+Z0AqQclfIBuTW4A/swNYSRzl+3OiH8Hd1R7CV/rjTwvsIKIkzOAw5Ly49DIf9p+1PlOXAJ9FIwrRi9TUzuD1uZ+X3y3LS0DV6/HrU+CjGYRrcefqUMkYezbH512Ficlqv5fzCMuL43+FNGGUjoCcC9cdDhZU+sueB7cKbuc2Epw6Chb8pBjjnqCnZfgyMJp8E9ZmsJ7eNTC2SIiTSf0pDAy9LfVgQxpgvZUnYgbmVXQi0BoDyMrc1ObQWgSOeKi236+7wsHU1Elf64y23eF+ULxXwxMLjv9A/OedOwOdO0zPCq0y7T107zUCKnSQNJBYZQnVytDpVtpWxM5Jgwt6y/+wTczpIlWiCo3kduEOtejQsR9iZt5Gcut4w98DQBawoW2D+bCGH+vDxdXXoxT8rx2Eck5g6ekk0jlF51hUMJHgJlfx9A9shL4F X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 11:12:14.5577 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 38949f9e-51bd-437b-0b51-08decdf39e1b 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: SJ5PEPF00000204.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB9650 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: 1781867609380158500 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 Sun Jul 26 12:31:24 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=1781867572; cv=pass; d=zohomail.com; s=zohoarc; b=XVKoRbeFpDQr6w6eB25LyDCvHH1ZCszszC7xwgiz9KeJiOHrhmbbc1AwbJxlC/vefeRkY+em84xQRVFBr5naj5iDG7XvOMQxQzyBXoBy/5F1momUyztM6AyKrVEWOIJkGBk5eTQIjU7wN7u6MF+mexDTFQ1W8I1Mi7I56jCZ8OY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781867572; 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=qW+ZF71AKGdIbrZuyAmwU1vROl+1etdFpIAsCr7tDR8=; b=gjww3VGNWxLT4T6zNc84muvNhZEydgKUTDDPFfNIRKxwf4/0yBBomWKaZ7ezPG3yav1DkVLR57VYD1mZ51pMl+j41k/fcGXc7KCIL6lRWijH8H87fqKvw2ePvVushhSz0w6FhZIzhMudGTdSosLuNoiUcHOVGKgIGQFL1E16RcQ= 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 1781867572468196.21420337690472; Fri, 19 Jun 2026 04:12:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1waX99-0004q3-9Q; Fri, 19 Jun 2026 07:12:27 -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 1waX98-0004oq-62 for qemu-devel@nongnu.org; Fri, 19 Jun 2026 07:12:26 -0400 Received: from mail-westcentralusazlp170100005.outbound.protection.outlook.com ([2a01:111:f403:c112::5] helo=CY7PR03CU001.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 1waX95-0001tq-W1 for qemu-devel@nongnu.org; Fri, 19 Jun 2026 07:12:25 -0400 Received: from SJ0PR05CA0047.namprd05.prod.outlook.com (2603:10b6:a03:33f::22) by SJ0PR12MB7006.namprd12.prod.outlook.com (2603:10b6:a03:486::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.11; Fri, 19 Jun 2026 11:12:17 +0000 Received: from SJ5PEPF00000206.namprd05.prod.outlook.com (2603:10b6:a03:33f:cafe::11) by SJ0PR05CA0047.outlook.office365.com (2603:10b6:a03:33f::22) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.6 via Frontend Transport; Fri, 19 Jun 2026 11:12:17 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF00000206.mail.protection.outlook.com (10.167.244.39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.8 via Frontend Transport; Fri, 19 Jun 2026 11:12:17 +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; Fri, 19 Jun 2026 06:12:14 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WxJcSKqkWbQyL1zuoC3Q1xCus1oNNYfAC481gMTPfq7Qvn4AeLemjj/qMKN6L+BYaZPLYQIZcfb/ZojdKR0aZK/jZI/4pfV9E3oxp1kmH1u18rfWfQLfl8Qw4RTv4nyXFQPNZlKSIL86bqtR0N0CIbtPC/Wbrue2CdXg8BsRhH9O+GoaaHs6A62qFiwnBrqM5QrCI24yDjYekQz+Z78+jY1QcfgyvS9ODyOOmcCFqNdzqINyCjDBR6m6TsdwaIiayGuOXZ7T+oTWGbIZIdz3h4DGqxvG28LBNHwfBPJehi+MZYr4ttUL99Q9ULFIsifDiYhJzmG3Uiw9yKfMazHM2w== 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=qW+ZF71AKGdIbrZuyAmwU1vROl+1etdFpIAsCr7tDR8=; b=QYvEE1RBM+ArwScNQffl6g0/tdLRXZ28bOqoa/Mn64uFsaRU9ehhzHKUJQMVK6DXkn8daT8nqm+57zfaYM5qGwZBgsfi/G7qG71ah9VgUGYd6DxZaZPU6q6CoiC0CaNQIGmqzusvSAcQKeBrRxRKHvEJ0fT4Zy5kWOR+Fa/fdnwxKn8t/9qbajlxGevC95Rhf+ANzff6SpKN+O+Or+7bWMmgryv4YMFXzJGXs2oB8o+5H/rPrwvvTwCSdnXks97tWg1DCKXerG+MWd7cJXy0fZkSS1tgzPY4VHiJ2Lx0DITCtC/lxLQ/Y+coKzjg6gxTaE7I/no1vRS7HA1tmkGepw== 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=qW+ZF71AKGdIbrZuyAmwU1vROl+1etdFpIAsCr7tDR8=; b=JS6Gpv6CP23jWfPhmZKJJBYJ+/ILXJ3YteGQRP3SKzXkLe0A2avlMUcZoTlg9wR7SxXPGkIG3aEPHnAoszVYdGADmMtJaI+9QjRRJir1YUfkc+aVcgdP3+eMAJOPlQDrZr7bLQSvfmlMpuXAnbt5trI/doknp3KenIGVgcqUNa0= 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 v13 08/10] tests/acpi: generate expected blobs for sp-mem SRAT test Date: Fri, 19 Jun 2026 19:11:34 +0800 Message-ID: <20260619111136.3481329-9-FangSheng.Huang@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260619111136.3481329-1-FangSheng.Huang@amd.com> References: <20260619111136.3481329-1-FangSheng.Huang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF00000206:EE_|SJ0PR12MB7006:EE_ X-MS-Office365-Filtering-Correlation-Id: 4c386158-8f00-4f90-a7d2-08decdf39fda X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|23010399003|1800799024|36860700016|376014|3023799007|18002099003|22082099003|56012099006|11063799006|43062017; X-Microsoft-Antispam-Message-Info: luDGF8BXmf+bCfVV9ROP9DvBsIHG9tjr6b94Z9hxruqHy81d+7UjQPqFwsw/iDmGYtYV8Jb/Kei5cvsMhspBs/933HrPpAuX9eCv4gPfQNzLg8Obkc6XFgZTpd1eutUEg8h4KGhv6WsLPgsxj0TtJI1FnwrCcCEV33Wg9ZBe6Ak5eQtCRgm7IuyT+WmH4/dWdoh2TmYsXzfgJtPb3TqcD5FqOssgiIMPpjQlFMEEMj/xfbuCxKabtsBzuwHjeOxBzlkxCOsb69edhch2eb7m5UrHkc82csV3EUC7r4A/3IDDEeUHLAfRbLacSGDMzdSyjD6ZbaC4B0vw6MCKyHISTOvtSBHdsir8z2cQAw39mmGhPbEtsUCUuke21Vz7ts8AhT8hKJgbRNWeE5AStrIEnmC4CgOre6UwH+p0NVK+NyiNSksCNJzhZoepm+NS222AIiLIxY28je+RqO+47DKNwuUaEFStN2DsJg9F+BdOZjlDkLV1mNeRBNVIwyoz2qIr7+NNe7D20esGdWJzu2ofDLrzFERnWrGZRcAsH+KTaFRhXNYOqygkCuUJcND4ZXwE3f42MjYVNhkVJV5h9SoEvB0ESZoixIS3dGI5F0Rb+FrPh0/wJwQ0wQ1d+hhqyn36OPHVkJRulFeHRCVnTDSHHgW3q8yq2qATPJGoO2Er1Vsv815N1CeeZG4tQlyJXWzAAqh4ilbR7dx5PE9g1eTqnZi4hQkuap5IvRbgeQ9L0obMbjz9flWEnzs9ehzL56OO 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)(23010399003)(1800799024)(36860700016)(376014)(3023799007)(18002099003)(22082099003)(56012099006)(11063799006)(43062017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: TEeyAKTe5V2315VqTFn4qyYcjwYvG6fYvqHlKYSrR7y6r0ffptTG8bQtlkI4vRpWxdCEVNxcwkjgPcFlCZyrNB0iL4M7G3pdVkcuskxwwPn14WcYuQLPNL7PO4gi7hJ9psbtUdgyuPvCqQa2jfBD7KCy+SwynY5zRhu9eqCSNiZ+RZipWn+ey/FLy+F9eB+1AamqvhRqWbqX63nbE93pm6Sy4UknSh/9M41Cw8HLGMvMUmzwvmeH4Q0gSpwJk1uPMyeC2Om+AQkXX8/a73+GaimNpPx0SFJRaGcNhhWnX/z+YahRlxgMFbQFTcMA7nRX5UHppkM9iq9Q9SHJ6hpYoTMQvhLEahDxjiqiU3+pldHYlZQeLzsTN3gsoRdo5SYPPnPCfdwWkvxC7I9hV9B/24jWJLQfGkNmcp+QMcM3JmmCFsmILnIS4rZN176Ojvst X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 11:12:17.5162 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4c386158-8f00-4f90-a7d2-08decdf39fda 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: SJ5PEPF00000206.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB7006 Received-SPF: permerror client-ip=2a01:111:f403:c112::5; envelope-from=FangSheng.Huang@amd.com; helo=CY7PR03CU001.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: 1781867573311158500 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 Sun Jul 26 12:31:24 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=1781867577; cv=pass; d=zohomail.com; s=zohoarc; b=PGqhQI2aHkwof3LqU55VFLiKMYdoKtZ9+E4a7iInvshOo5PYWs4n9YgE6iyaraDBNxVzDpAx2aR1MLsgKEd6wVZ89NK/ucQshKIHrdYGw5bhY7r+qFNJzCZprwszQZZi0LVxEiqbTDT2fJrJ9oAGoEISWCqJ/YyfsugttTkbkWY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781867577; 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=Z9iZZt72aB6aAW8K+LthA54eIgMie3ECirTdk47/BqY=; b=cYqkcPO3gwkcvUazS6uPJZpZrIxZ077mTEeL77EBVFO89RGCZgfp+cg7tGiS9mFBFzSyRGm4gikXyUDUr8yl0phI5SM4/wamH3oA7I+qC5NNIzj7ajzZQGhqY7QrzWng5Ht70saxLbjfRMBtRFTUezv3YAfe9NcDLUWbAjHUjsQ= 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 1781867577056217.11403141441428; Fri, 19 Jun 2026 04:12:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1waX9B-0004si-K7; Fri, 19 Jun 2026 07:12:29 -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 1waX9A-0004qK-00 for qemu-devel@nongnu.org; Fri, 19 Jun 2026 07:12:28 -0400 Received: from mail-westus3azlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c107::3] helo=PH0PR06CU001.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 1waX98-0001u1-2U for qemu-devel@nongnu.org; Fri, 19 Jun 2026 07:12:27 -0400 Received: from SJ0PR05CA0033.namprd05.prod.outlook.com (2603:10b6:a03:33f::8) by SJ2PR12MB8926.namprd12.prod.outlook.com (2603:10b6:a03:53b::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.15; Fri, 19 Jun 2026 11:12:20 +0000 Received: from SJ5PEPF00000206.namprd05.prod.outlook.com (2603:10b6:a03:33f:cafe::1) by SJ0PR05CA0033.outlook.office365.com (2603:10b6:a03:33f::8) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.113.7 via Frontend Transport; Fri, 19 Jun 2026 11:12:20 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF00000206.mail.protection.outlook.com (10.167.244.39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.8 via Frontend Transport; Fri, 19 Jun 2026 11:12:19 +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; Fri, 19 Jun 2026 06:12:17 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dHSqSxgD19YipT9UroH2E3wWdKFcSzxtYbaZ8x+yUZO1FEaq/h/Qc7Z8HK6Wxqo8s1MmBOVYxSpmtCYSnLkfd1mIGgehzE0JhANKPv8Wr6atO0qSoJA1BSKbzC90E/2eOZOtP5mbFT+yTQmgvY9yAQ/OoUHIHJi3UaMWyWYPay0uAgJG35phgwy9I4leZRqy1Vc8onT1N8e8TZ96FgAR6dtGY64KUy+68sdcZelxZZ5Kwed7O4Ws7cmN2TK4OJ6Pa9jB60K1ldrFVYJOI3n6cmt8+cLzZHQw/w+NXGMIgnfRexkxTHogmsCq9o5Qn0CO7YvNOyKlPiAepD1S84fTtA== 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=Z9iZZt72aB6aAW8K+LthA54eIgMie3ECirTdk47/BqY=; b=iVYmSHcekzzkC26Px6dmKKPWkPPy45ZNj8QsCUyVQLNP0RkOKsfoJuacQT1D8Sm7PXUKBy3pmLGLtb8K+YiuLALK4NS+2VlR5sxFQltcUlbB0O9tOmE0NQm7XGwoKidIj1ryFZ145yAwa5orpgaxH+956XDj1o4b4AzvVKjf30mR5dZ1IX8+0fJkXTFqwN8ugE4Pe+5gv2SBKpoA/wdc9+vEL+bQI9K6Wv16we9DPeZPUaJPV2T/+no2cuW8sYM8TAsV+teY/4m2p8/WaH11KZMDwAa00k86aXFJoH44Humz4KQherhNn2joae0srk9zyKtHmZK61qofmqBlgHxdBA== 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=Z9iZZt72aB6aAW8K+LthA54eIgMie3ECirTdk47/BqY=; b=J33540vNs9uA0ykfvilP6kAHgKb1dOmbkU2HxHxtZIxLxLREGZQt7xePzLB94Q60fqUvX2KMC72TKfIVppqqEEwjh94EOhpDVpE85BP7FDVJ3X8CB0MvvM1V0ayoo3otihTGuIfDmLorHMhPVB0YWrKWAum68xlPmc69iat+IBo= 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 v13 09/10] tests/qtest: add e820 fw_cfg test Date: Fri, 19 Jun 2026 19:11:35 +0800 Message-ID: <20260619111136.3481329-10-FangSheng.Huang@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260619111136.3481329-1-FangSheng.Huang@amd.com> References: <20260619111136.3481329-1-FangSheng.Huang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF00000206:EE_|SJ2PR12MB8926:EE_ X-MS-Office365-Filtering-Correlation-Id: d49ee9ca-6a96-4020-faef-08decdf3a152 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|82310400026|1800799024|36860700016|23010399003|18002099003|22082099003|11063799006|56012099006|43062017; X-Microsoft-Antispam-Message-Info: MxoT+FQHDSEz+362z4mqIVg6OHzEBzBJU+0bekQG9ciNlh6qTFz4nTNz9ZtHT3/CtaCwMksLOmqSv3NbxNIwnsxj2m8Rh8kphJ5S2cZLNDWB3ZHgWtYUxU1Sl3sCGFCyF21ANCMvUBnd+2QzfsH30/ljZ25sb5yXIpGsGHBUCqzXQC35dEsPUsHnAnujV7xwpbBmgYXK58/aoTUNd2l7HsWEEN5seaFo8KwLymfQLi/g0d/Fbkak47KOYmRTxn9haBPLUb4A38OnDpMeLGBDIi/OE79MIA8WBQvurat2eWULkafy9bzNccrTRg6k+q/YAOki4H8VBbQE/BwSxVl5OuHHv+Mr4kWPHB2miQpTvOqlArbOjX1VikmTsELv1JZ1V5A1Eo15h9d5AtpC5IZik2oxwFhaGXFwnqAgsbf9wolyrQKKLsaPUyG0nte1PXa5RvhGPI07EstpY5efgrDAfql09/I/ubWOjeG34imJIFRKbO5byc1tQJ2Dqn6IWl+KFt9lxvgCrleiEOTR7w/uPGzIE7f7PXn5Yxu9UB2xkwfdxLMwwe6VQAwclexzY4GWwNiS/JELbZBjts7ZeAUkW/k7ScPkrkdsYvbccqmcLT1M7em5EuSb9t6CtGv6FGBYEK0AkZXlGwp+yps6eTUZbwIhgu/PSKVR8YkjSMn2T7Su/pZSnN9cEFJBaGnbg5GMg3ImJsvRy78DiPtG9p13fWPINoTR1JStgLcMcFoRzZ8biq6NF4OUJQB+pXzBFkwi 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)(1800799024)(36860700016)(23010399003)(18002099003)(22082099003)(11063799006)(56012099006)(43062017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 4DgppY9TvoRVm7EcHde0RTn81DtrGsUSDwB5AKvn3ws1+uE7Chs1mFtnReYFVXvg1AIPk08b+Ab6kcWxwbTrIi3KdkHU66+MaxJ3uXYufxuHHTBcaiFTafq9bs5upjiPKs3WKBUBqTheKxdVaS6fvfbbYz0AIXDMHQxdtShciDvKaSkKYC8o8yfgTaPfy8pxOwQF1Fl0ZWg5kWiAo3/dJwpn02+/wyi7XjhI7ECHmmSEV4GbolWOzWw87/WzPjVhB902WSgd71sxRU5h5lNkRl/T6d1NDai32cWrjbdLsO3bQlRaV1VcuwgCFn0png4TJIiRtRSUxkGnS0DDJshzOVhFOV7fxMhWVJTe9XF0VajH7FcIpFsPW6Lbymc0Z7TzXuQRNCN4VTsKyXn4q1RUUybIRiyLWKSm8AYdxX5uR/1Fo9eOcMj+J8kfZxLwXPCM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 11:12:19.9858 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d49ee9ca-6a96-4020-faef-08decdf3a152 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: SJ5PEPF00000206.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8926 Received-SPF: permerror client-ip=2a01:111:f403:c107::3; envelope-from=FangSheng.Huang@amd.com; helo=PH0PR06CU001.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: 1781867579447158500 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 Sun Jul 26 12:31:24 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=1781867575; cv=pass; d=zohomail.com; s=zohoarc; b=nYJUogdZZqsk5fYjIUTsR9k8V7oebYiEJ/be6DFiP9AkU9NqG/i1KweV/63GUKy9nzkg0wmblVwmeNNRYFAjhzW5Drt9OHQt7WFgCuXutlDmGE/G/Ca3vlyl2c9Y/t1viqf3pN+1UNkcrPgTqANBEa6HKRjHcHOlmwGbQvZtQNo= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781867575; 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=oN7Cuv+a/sGwNDTt/PZk+kJCAUW+sftiVyDnDLG+DAE=; b=WIchoz89ak8FbyvfrcxY84HvL8AdqK+c2wqqV2xKai7xjdW34JGb5yWTAvYpkLWlr0POJTdq6h68fljGCh+Qsn2B3U+hZOLyKXZtjUDJ+zsM/64yMIC5Q5tzmceHrwjvNWzoAUPPKhiKYjs/iLaZJnIZI4X19hzNtTjhwDWqzOI= 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 1781867575475900.443532515982; Fri, 19 Jun 2026 04:12:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1waX9F-0004v3-RR; Fri, 19 Jun 2026 07:12:33 -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 1waX9D-0004uV-Gb for qemu-devel@nongnu.org; Fri, 19 Jun 2026 07:12:31 -0400 Received: from mail-westus2azlp170120002.outbound.protection.outlook.com ([2a01:111:f403:c007::2] helo=MW6PR02CU001.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 1waX9B-0001vC-NA for qemu-devel@nongnu.org; Fri, 19 Jun 2026 07:12:31 -0400 Received: from MW4P221CA0024.NAMP221.PROD.OUTLOOK.COM (2603:10b6:303:8b::29) by SN7PR12MB7912.namprd12.prod.outlook.com (2603:10b6:806:341::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.21; Fri, 19 Jun 2026 11:12:23 +0000 Received: from SJ5PEPF00000209.namprd05.prod.outlook.com (2603:10b6:303:8b:cafe::44) by MW4P221CA0024.outlook.office365.com (2603:10b6:303:8b::29) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.13 via Frontend Transport; Fri, 19 Jun 2026 11:12:23 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ5PEPF00000209.mail.protection.outlook.com (10.167.244.42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.8 via Frontend Transport; Fri, 19 Jun 2026 11:12:22 +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; Fri, 19 Jun 2026 06:12:19 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tkIqnithxdZ4XK9yGpOio4vVN8XZWa0eYw+m2/2f2sU5ZtYA5W+fKETfnflwIgSYN4Lmi71imURdVmPQFkv428LIszs9PcoJ13yA4OD80ZSNugXHQN5vpNOXiEsrhPZp6OWXNMWAfRUz/4p+w0Bh2N8+iLQ49v7xPcOvfE3ml9JxfvI3+o21kIFF2oFXJ12l7ZIXZyy+rEHYlSyDBs/n0f0iDTzofqIYCnUd/mj+pbCgHI6lCVEzNiS37AIh/m4w3oQPGKNAqv3b70xu1hsDUzZQeWoQgid7ycF0b3vG+GPmuRv5XLkUIvstwk5QL5174xuccy9lNnq1k4CXWeD9Fg== 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=oN7Cuv+a/sGwNDTt/PZk+kJCAUW+sftiVyDnDLG+DAE=; b=i6ER+oY+86eKIcF/ZbD7d767x/mICWyogxS/Yo/uQe/+OxBrCh+Glf0V+6HtY2mMsHFgQGq6OXHdao3GyA4C73Uo95+T2/eQcJ/l68fc8ZblrWBwA8bQ07yA35nX2ICvZqDF/u+CeqAGeHSv259KAlC78Y7Nk8qvTBb1L2JcKhw5GqfKrKRJxU0s0NmgXXDHynhZ5D5WGUo/Yq0lVr1JPVSlwg+Sp1zMt00ob8i8P1zTVNr7/4LRLyvQWnFDqi+U6UqRnBFl4t2uFCJFKTyTptwmsLQ1Aw9ZPQjj4B7Cv+Sx6HyBsOp5bbeego4gwh7hEf67UUFhkTNWvSn53SYFzw== 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=oN7Cuv+a/sGwNDTt/PZk+kJCAUW+sftiVyDnDLG+DAE=; b=H7Og7o8TY8R30QreySVHJB68yaU3fWDu/YR7b3hkmlSZE9g4Jb+px6VSI38vl/1kMwsX14gheiGvikomEdVRsGCHQLNxP8s3eUD6UggBZOmfDZLNBkhQsRAjUzrfiOha46PaxwZk7JrpwShsB+XFd+m4DyItrJD/mOjZ8PO/+O0= 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 v13 10/10] tests/qtest: cover sp-mem SOFT_RESERVED e820 entry Date: Fri, 19 Jun 2026 19:11:36 +0800 Message-ID: <20260619111136.3481329-11-FangSheng.Huang@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260619111136.3481329-1-FangSheng.Huang@amd.com> References: <20260619111136.3481329-1-FangSheng.Huang@amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ5PEPF00000209:EE_|SN7PR12MB7912:EE_ X-MS-Office365-Filtering-Correlation-Id: 14b5fc9f-7f3e-49bc-b5ac-08decdf3a324 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|36860700016|1800799024|23010399003|82310400026|11063799006|18002099003|22082099003|56012099006|43062017; X-Microsoft-Antispam-Message-Info: 4Ae8CEB3Oav3qOBePRHoa2YjEjTAUjmtWNJcWB4lb8iD/72BfFGjX5EolHnN39zTU3hOG5R8omDKcdq4e2YJS7/PGmg6vGM9JN9EIcw3LQaxfCkiz+Pj+KaKiN86dwiWzA+raDdBTaXBKmV0b4/dqd6Jyd+W0GgZ2+UoqJdzARtnxDZ+W+l6LBi/+NotQ/WFyHcl0r7Ing/IawmKAYnEypw6Mz77pc+IfrDKe1RPQDw3cazFAD47UPhukj8QGca+A6F3Ffqd38Bi9pwAwHc/8YXrRIFnzYQjKXuUERjS4Y6WWpwZ741cwFMubl3KspRp5dc8Fn4N5LS+MksNwUPkK9f8oGVcjK4UYAar5tVV9Wsq8mIKShKHZWsgTol3bD2O91d0rJfSySVfXunOjHbVmrH1TjuVlfOIifmErH1hoTwkPlH8IudkD5jfNTWQTirnH4RC/HVI+g3q9JRe6idJC7lD0a64jwKiiHNrP5CNXq5S8m4cdIuXS7flW4A328X2YKCBJ0cW4tOpLEnx+m5FNnhiti4Fm5Hy51w1jF2i30CpEZ2YXNeFurXALxCx1r/oAeIH1ienRgsMY0lVi2o79MLo32dtrVJZGYdtc/+hcj64AgQ6X/Ut5H98XXC3PFB248oZA5f57h0iByKg0Yol8Rb34pcPNS/eKqRkjplb0bD9VmMLri1GKFcvMFCUFdE8p3rOGEIGLvHdVrQ8dn7dEZYQnHAfTzRvBgk+SMNMZ/mq1cwOyyBaoW66KpFi0Y/E 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)(36860700016)(1800799024)(23010399003)(82310400026)(11063799006)(18002099003)(22082099003)(56012099006)(43062017); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Gtt9OuPdzu1G2wbXV4QVXT1c3RKHLhcsvgvlRnd9i0HEQt5R/NnzQxBJIXlTBGhjk39OzjsdE67Hh0+haBfvogpXKBGuOn0uBCloS3JIAA/x3Xc/bBZx4+Q4U6WLD0gsl7RyhfchEboiQvf7fBkIkwT61wgWlg5ZN0VhcPIZJDoajornkCg2NQgTYbFKgVNiv3v1Z0lKjvYW8GRBdKX2AOb+i45GeW/x/dcAVdizqp49zD8obZFEoJW6xy5VIuj1eUG3zzbWssEJi59+XuLLG4e2rBOlD3QuCsa/RBszluqr4Z8pGMjDdnrz44T2C4d+rMVcISLBoZAVXPs1XnPudeFKE26S//381fSIfeYIlBbO8255sB2tVCeekygewdq3kx08ovOwYSeGRrX+RycZrFUISOhZkkqDmNPKkDLvwYxvlsazXh5mr2TFGcQbB7uS X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 11:12:22.9759 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 14b5fc9f-7f3e-49bc-b5ac-08decdf3a324 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: SJ5PEPF00000209.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7912 Received-SPF: permerror client-ip=2a01:111:f403:c007::2; envelope-from=FangSheng.Huang@amd.com; helo=MW6PR02CU001.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: 1781867577169158500 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