From patchwork Tue Feb 11 21:27:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: William Roche X-Patchwork-Id: 13970727 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 7F962C021A0 for ; Tue, 11 Feb 2025 21:28:39 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1thxmy-0002kO-I2; Tue, 11 Feb 2025 16:27:28 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1thxmq-0002i9-0P; Tue, 11 Feb 2025 16:27:22 -0500 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1thxmo-0002HK-2z; Tue, 11 Feb 2025 16:27:19 -0500 Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 51BLMTpS012928; Tue, 11 Feb 2025 21:27:16 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=dOJyRPV8dlR5jnFzjW42MurMFkaJRKQWdQLmnpULjLg=; b= SKET2DposKuX8cwyQiZl1A1DTmN6lPdnt/IxjboPKPEmczhz3yIlUMt52stw1bFg hXWviinbamZ0KtTqCNNl5qH6mX290jnsF7evmFYG+4e3UW285+c1NrQMSCYJ0Zyt A5XCwPR2p45GVFAqlqXvVfuUK04sc2WCso0WIpUnutW8OF5PqwoH7UlAjhxsKwH7 v+o6IB6gQ0vo3TzBcfZwK+MNK0Gyq078U8HBzDk6znmA+BYoG7LV7z8w3Gmt3tg4 zeg6yq69GuaeRzsLyQYZoQc2oZJNPPjLDcc10ixEbEFchZa5v3ufJdDoyrrtk/P8 L+ajzG00W6a5OHEV6BxlAg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 44p0sq68m8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Feb 2025 21:27:15 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 51BKRe59027138; Tue, 11 Feb 2025 21:27:14 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2168.outbound.protection.outlook.com [104.47.59.168]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 44nwq9cdqc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Feb 2025 21:27:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eNvXr7LnzGo7h2K0LVnrTEmlRUXCgLo0KsGMTI9+rh8KiGosUrZ7JwDAysvMoun/LNlitW0yyjfwnv2uhSl8pQNrxZRRiiURcJgJNH0Z3VTNtJDLZxZ1EGvV9oqE8nNOIsraGePg8fy7OU8qIQsui4lRVFJ0GejJ505gwVuHFz0urIngk++R1dR65x+fQPkFVM9b8sT111rsdledTTVwY98LECARW52nl5TIQebmZuwcmwDhHrO6+jLRObpH8FTALtdxa8EbhzBLvWfYOdHYfw5m7jjvWFcookQJZCoJD2bLNG7fpKYlp6KC17tCICJXe3XViuiyrN1q9IcG0VS86Q== 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=dOJyRPV8dlR5jnFzjW42MurMFkaJRKQWdQLmnpULjLg=; b=S2vcETr1pyv3uLyizbeDoL+ZZcJhQtBzl75T9i4SkuonPKXFRbFo408gFeuS2sjl+uXD6+mFiBH/dVijbBh2Q8j4wgrK/ALry4QtWbg57WUXVcIcQ1NdpI+uOvQ0TM+ReXa4KFc99X/SFScA0Fn/bCkDG1QXVr3sr6U8V9nbg/H3Xe/DhY4emvHSpCFs0hrKlTdmKOGVvY4v32GW2tih5zoDryHz+Ji8SnGHCR5G6c6fPVjaqEQA9iltzpVN8fgxMQ60HfviH08xXdPBqUSE+c8Yz4TOjRYOwlqBXSjcfJlF5w26Y09kL3ugrN5L8oOM5dpcGKzSmLUyxbPo389XIA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dOJyRPV8dlR5jnFzjW42MurMFkaJRKQWdQLmnpULjLg=; b=MK3H0v+z9FfguyURlmLwyM0CbaQ95mjBWhpI5tTAoDEnww2O3+B3Cykew4xxsV7c7DjZVFF+4O8uH29Df1VO85fI2V4QoLyX8ZaigcT6Urm6bDQheU+UEtfs8DTcsfanw3vEXQQOUeqO80GpBOf6jRjDVVqOSEyP3T99fjhSbV0= Received: from CH3PR10MB7329.namprd10.prod.outlook.com (2603:10b6:610:12c::16) by DS0PR10MB8126.namprd10.prod.outlook.com (2603:10b6:8:1fb::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.18; Tue, 11 Feb 2025 21:27:12 +0000 Received: from CH3PR10MB7329.namprd10.prod.outlook.com ([fe80::f238:6143:104c:da23]) by CH3PR10MB7329.namprd10.prod.outlook.com ([fe80::f238:6143:104c:da23%6]) with mapi id 15.20.8422.015; Tue, 11 Feb 2025 21:27:11 +0000 From: =?utf-8?q?=E2=80=9CWilliam_Roche?= To: peterx@redhat.com, david@redhat.com, kvm@vger.kernel.org, qemu-devel@nongnu.org, qemu-arm@nongnu.org Cc: william.roche@oracle.com, pbonzini@redhat.com, richard.henderson@linaro.org, philmd@linaro.org, peter.maydell@linaro.org, joao.m.martins@oracle.com Subject: [PATCH v8 1/3] system/physmem: handle hugetlb correctly in qemu_ram_remap() Date: Tue, 11 Feb 2025 21:27:05 +0000 Message-ID: <20250211212707.302391-2-william.roche@oracle.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250211212707.302391-1-william.roche@oracle.com> References: <20250211212707.302391-1-william.roche@oracle.com> X-ClientProxiedBy: BYAPR11CA0047.namprd11.prod.outlook.com (2603:10b6:a03:80::24) To CH3PR10MB7329.namprd10.prod.outlook.com (2603:10b6:610:12c::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR10MB7329:EE_|DS0PR10MB8126:EE_ X-MS-Office365-Filtering-Correlation-Id: c0d4e38d-72fe-4ab4-95a2-08dd4ae2d8b4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|7053199007; X-Microsoft-Antispam-Message-Info: nk7QLqL2EL/+vrw5PfAVGiQ+MAZjQbOCAubZZS9WgW2CwKf5Lz7nC1y7xfmWPOLmp1HQmlNZCUdYuCeJLd+W6eQjQHZMYpSXMxQqGr/45XYD5A/u5hLrzSsl1aGHetkmbrRRM+WW22gFewoWtbx+vAM+cLFdCITLhBApq9NUfrsQ64GG3kUuKj7HkS0hyFXct+FAmPRki2UFMTg2Ub7J6ibnMjj+4HUn5txwCcvojG+c0XhpFOiEQEofLSXLqF/6uHW1fIlSiuaffMdzr1XmzNR+ypN9fTw5xRbmarEtivpLW2Py6H1K1GDQ3F6cAA0Zz/DAqcrkxxObqPTuf//hLTXh2eBvJnyCv9BusIk9CZwlZgJo3jpba/M1XtRSTRr5IFHd7SxjmBhWKdAz8r8N3xbevjrSj8K80WSjG5ikAmI9RC/cO4vnIU63zk93SM/PEl5Fl0mxtZnMlIY8JUXWJNXyYdsNLQ4u42AQrqPYixGojnZAlCwOTX8x2OBgP9TUNEAX8uVV5ofJwdNhhRc3i6+6RyvgrdTCQeteXY8SX4ZZs0ZUh9WX9g+eHe9TVBKFj0QaAKLfJP8xEtWKXZ3IwsLoeamYH6WQ20nOtEWAT/pjTng67ACwP9N37TzmwCb/36SpS+rOv5CZTlN/IKul8lCG3n8mwR8lmZWV89cezJUV7YizAEAlL2+of3pk9LKfFmYQeqcvlUdo3psa6G6crgUenf1FbtN4PA5mJoIoJq4uqdGV1gvxRyhfAzrAMZQjAuVoCb77ehlI60FiulDSjyyflezvQpBkmSXSRntlWqtn4vgKy5Ievla5kd0zOqc/WysdNMwingV8EDLwXFF9x1NzqJllDIc0JLbZvYGewV/G6lrVFnaPXpEvOUuNjQq1BjbO7KfWnGhBE6MLDhA+H6GEr/e58EJ3ogqPImH3eLqku+7HrGr9qKGVEjyRG1XgPvX2Zj5x8V5dorAAINRD8OlDgmQvcbdyn6aonW+zDomQ09OrioIray3HAc1rQuSdvpkErk5Qvwq/wP5E0EWwtEXIc8PmJ7FC5ew+iZ+7iB3mU6KMgFyjMdZb8wCACAESGeUj7RYp9PKVk4XVqOwhsFbyfdULowyJtzck4w41wOJVoY30vPIVpb7kOMEJxRrmWBrkS60w0/8sBuLUji16A7SttUl0ZD5h1K7NkxBkt5GsHRvpmhWXrTBUjTFz6mYI9NgRzabFgJdXccNIBdw5MTXHC2PzALPltloX15oxuiPHQQUn02n+SlY7biEOs/Aqg41uItV8wLbUWCp8QpZ9W1gXZwHZ11vE9Un8sF/njTptIWUI7rh8cC6a7Af0uh8h5NcI//nc+YKZY96QHR7hOWKJxmGNAnJYTUyc1nptAwNbX8lKzGqr2/i4izGPAJYS X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH3PR10MB7329.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(7053199007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: R06QPvl31b/d9CI/oCIG15IlotMJyZ77q3MbuRNSv9sgDI+brQQ8VRLmLQyB3gNYFseiAl2r7BgqV7Ex9YalPGionX+yuH9AP4Xl9UNZeGQMD4lreB1DL7Ot7bD+4YeG5xrHO7cICIwO0P+mDwweDUrZ19GNXhg9Xxy5ehgOz0YoNiCR64JrLT2k19Ff3rpuQdZaEEnK6LfM3oZVOHTutYKt9Q6Wh0EyoreDkwdR30zvqs2NwKoopkzkhnQujkzqHy48j/meQs/a2mZsDY3V2Q9muOt4IWCxldSDOXoEe4SToaxU5eAqPbUaDjLWsCVXumosH/geygWWI6Gbi7WcaArVer6u4uZP9pl0Ll9ew0R+OaE92hX8PHGGhgAUeq/VQZDXc+99atBdoZa2pQ0RlbqfbIlzNMT097z4dN/9YSkFrg/x/fkr+7ZiA/1lGMOGio0tX93sKGQhQNJ02b5QbkiUaQZYqY6d2q2Fr+gH/dAxHzEOJyJ9Zf83PHH2ufvVYbccgIzwTaowfW5x3TRgz3UDirDfJ/tes253B9/TdYJtWkno14pyA6UCvk/es/9ID2sOYKi1RJdphkRZ8wM8APmlTE6aX5jSp/2SmBWbUlzDotGaBi1/oDnTeJLOYjvAmq6JNzTT5Py3DGc/uWzTPnbSfJxXpmvV2VPLr5KL3KxQV0m9ZuecT4q84sh9QdqIfJiB9d9SQjPZJAz1PE18XvgQoeIHvGLbVc1DbUnypUps/jhd35egH0RBVP48w+VFFvh9QIbFRJfMcDT6PZqxWpFWJISuiZaO2GOeNRYEYmhclhRdd7V01cNADuNFbOfztKfTjd91hMKJWSXYy58/JXSC+a0P4PsIhAaxxtZeW8W0fyjnHLEtPYLaQqPhttPjZUWq3VZyC6MtRVhLBYLgJLjNwt1yPulE2Frj0ly8pG3VTHY6yVvqoLimyZ1gc4Sdo+K/lFvZiRYdf9fplpbtT8z40OT95eqkKWQTDNLdoNCyRkK4THgKIaUSa5AmnQI7jPY+jjt26MCU1DEGUFhpDKaJCg0cHyWpf+8bh5zZT3WZIfoIAKpg251764YVc/Z4CIenJjegCYjcK8h7EMmF3gCOwmxu1dvskMU/hBiXR1BX3QsuoTUgWrq2Vx0m5Ki0pTZ2cT4Tz/Px+gTwfpsn2Ka4VBhE9j/cA8Lf2AKGt70RLRYlEso3HsysykIElpm6kpKa0hXxKYEz5c/qOyO+RaiPaMsKLVpZuBFQ+qWg8mBBRs+i5qQ2DORGg6ZRkr4uobjSAPQuu0BL4w3G8WOcN2yFcn+GWyXyOP4BWT2UK/TeBvbbbTNpby3d+v1UZy6kxIJzZmhkp4KPCo65csDXIWCD1zLMInz8imGI4P5gGAylcxEn9mxTklSotqZUaX/vHGips9e62Fgv6MuypGb5Efx6E1V6iIUmwAdzNN6/gUUJwjE23AjE6/4GkBIP79TW88+27r61Vv31/e0u9bBaFNh2W0lWcK6amMMHFLEomrQoIBFqteuFqw0R5MD20Lgn5QlbynKTeLb1Ofc8iQHmOZWTd2W6qXiko72h5Yk/TtlNGcZrX+qBdzfJG7orsU75txwRimEsPtayOadDas5Rww== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: uMn/A6tedaBxS2ZFfool8z+X6eCV9ZbOn6gbyeAPlj70kcpDHy6UR7ct+88WCkyVnjzZ9e57b2MAlagMd6BIGR7PbAsJ3S22ZJ1LQxy51iTJG/Aw4sacAlzxYfcKiM9CgFGbae77IepQd6dSnete2VjMNLGQjQgARtF9X9QF5bTvbCW71aXxqaKc1iOjH7dG2kL9FBiCs47grZL5Gqfu1HFd44vhhkvNvXnWZpU4UeAOcx/E/jICYbRngzvOeWNClNXEw5eq2m6Hi/t1LGUyOOi/7h9aRq0lJFBVnEspq8w4aIb9oRWY7FZZaA0PkGXXRs1UmK4z5b5ua+k4cGmUj0HoCxTbTRDNM2vH/Re9ZEmYCYmBwdUMSVA2ufIAJAXd8okIFGY9H4OHW87jPSNsnIddO3jZmW+hlROwk+6NRlj5LsbUbcnO3UCsMXNd6uRJ790wclFKXdt7EtRgVlF7v07i6S4cIFHdnjP2+O2UmTcaM7YW0pFpjHxWkyDymGzTglDedtmBRK2CHZ/praA5OkWOcqikYN9A8ad2Qx4fL+sRb/xsH5axO40s6UaCvSMGwfC7Dtm8nCZiZgcX/vpTgyL6nBPqUoqpw36B1Dd0SEY= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: c0d4e38d-72fe-4ab4-95a2-08dd4ae2d8b4 X-MS-Exchange-CrossTenant-AuthSource: CH3PR10MB7329.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2025 21:27:11.6917 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: FxqHSg2Sbuo9oIDggf+AYHN7nw2vBIN7WLT1eQjt5HwRZWjSA75fQD+AEmzEoDEzQDPGAZXwGejvrpR/NfwTv2/F5pWjbvwznTX6Gri0SbE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB8126 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-11_09,2025-02-11_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 adultscore=0 mlxscore=0 phishscore=0 suspectscore=0 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2501170000 definitions=main-2502110141 X-Proofpoint-ORIG-GUID: cAHKBiKqQ1UCuZZWBQj7oXShtKg3xGsM X-Proofpoint-GUID: cAHKBiKqQ1UCuZZWBQj7oXShtKg3xGsM Received-SPF: pass client-ip=205.220.177.32; envelope-from=william.roche@oracle.com; helo=mx0b-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: William Roche The list of hwpoison pages used to remap the memory on reset is based on the backend real page size. To correctly handle hugetlb, we must mmap(MAP_FIXED) a complete hugetlb page; hugetlb pages cannot be partially mapped. Signed-off-by: William Roche Co-developed-by: David Hildenbrand Acked-by: David Hildenbrand Reviewed-by: Peter Xu --- accel/kvm/kvm-all.c | 2 +- include/exec/cpu-common.h | 2 +- system/physmem.c | 38 +++++++++++++++++++++++++++++--------- 3 files changed, 31 insertions(+), 11 deletions(-) diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index c65b790433..f89568bfa3 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -1288,7 +1288,7 @@ static void kvm_unpoison_all(void *param) QLIST_FOREACH_SAFE(page, &hwpoison_page_list, list, next_page) { QLIST_REMOVE(page, list); - qemu_ram_remap(page->ram_addr, TARGET_PAGE_SIZE); + qemu_ram_remap(page->ram_addr); g_free(page); } } diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h index b1d76d6985..3771b2130c 100644 --- a/include/exec/cpu-common.h +++ b/include/exec/cpu-common.h @@ -67,7 +67,7 @@ typedef uintptr_t ram_addr_t; /* memory API */ -void qemu_ram_remap(ram_addr_t addr, ram_addr_t length); +void qemu_ram_remap(ram_addr_t addr); /* This should not be used by devices. */ ram_addr_t qemu_ram_addr_from_host(void *ptr); ram_addr_t qemu_ram_addr_from_host_nofail(void *ptr); diff --git a/system/physmem.c b/system/physmem.c index 67c9db9daa..a5d848b350 100644 --- a/system/physmem.c +++ b/system/physmem.c @@ -2275,17 +2275,35 @@ void qemu_ram_free(RAMBlock *block) } #ifndef _WIN32 -void qemu_ram_remap(ram_addr_t addr, ram_addr_t length) +/* + * qemu_ram_remap - remap a single RAM page + * + * @addr: address in ram_addr_t address space. + * + * This function will try remapping a single page of guest RAM identified by + * @addr, essentially discarding memory to recover from previously poisoned + * memory (MCE). The page size depends on the RAMBlock (i.e., hugetlb). @addr + * does not have to point at the start of the page. + * + * This function is only to be used during system resets; it will kill the + * VM if remapping failed. + */ +void qemu_ram_remap(ram_addr_t addr) { RAMBlock *block; - ram_addr_t offset; + uint64_t offset; int flags; void *area, *vaddr; int prot; + size_t page_size; RAMBLOCK_FOREACH(block) { offset = addr - block->offset; if (offset < block->max_length) { + /* Respect the pagesize of our RAMBlock */ + page_size = qemu_ram_pagesize(block); + offset = QEMU_ALIGN_DOWN(offset, page_size); + vaddr = ramblock_ptr(block, offset); if (block->flags & RAM_PREALLOC) { ; @@ -2299,21 +2317,23 @@ void qemu_ram_remap(ram_addr_t addr, ram_addr_t length) prot = PROT_READ; prot |= block->flags & RAM_READONLY ? 0 : PROT_WRITE; if (block->fd >= 0) { - area = mmap(vaddr, length, prot, flags, block->fd, + area = mmap(vaddr, page_size, prot, flags, block->fd, offset + block->fd_offset); } else { flags |= MAP_ANONYMOUS; - area = mmap(vaddr, length, prot, flags, -1, 0); + area = mmap(vaddr, page_size, prot, flags, -1, 0); } if (area != vaddr) { - error_report("Could not remap addr: " - RAM_ADDR_FMT "@" RAM_ADDR_FMT "", - length, addr); + error_report("Could not remap RAM %s:%" PRIx64 "+%" PRIx64 + " +%zx", block->idstr, offset, + block->fd_offset, page_size); exit(1); } - memory_try_enable_merging(vaddr, length); - qemu_ram_setup_dump(vaddr, length); + memory_try_enable_merging(vaddr, page_size); + qemu_ram_setup_dump(vaddr, page_size); } + + break; } } } From patchwork Tue Feb 11 21:27:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: William Roche X-Patchwork-Id: 13970728 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4D9DCC0219B for ; Tue, 11 Feb 2025 21:29:08 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1thxmv-0002jE-Gd; Tue, 11 Feb 2025 16:27:25 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1thxmq-0002iD-II; Tue, 11 Feb 2025 16:27:22 -0500 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1thxmo-0002HX-NX; Tue, 11 Feb 2025 16:27:20 -0500 Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 51BLMTs6012927; Tue, 11 Feb 2025 21:27:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=voVBWGs2k/ZVQqENSRmhT8AvSqYp+yVm6LiELDJUP2Y=; b= gwrgzw0OLyOIowY2IAq+B+FwwaqXnTPtI1voLZk8aS7m+GM1o64QzHsPnmaIaq/0 sMXSKzQAG7Z6tVfpusAdXGurIlxts+QElkIrALMB/+iWUtyxkvvw6l0jRZD1ETN1 7N9HxKk/p/AS/FFVVEwOqBGu58aXtneMHnYKgWn3M45O/Ezdk4nRjTj7RMfhqHp9 8sKrgtYP90Z9uqVj2pQGWJsPoFj0yIa9zdl1oaP32ws6azJc5NCtOsdZk80tl80b gM6WfTGPy7IjvAmcauG6eJ33QinDDQVBppNCyfqhNWeteX2RT+NfWnifQYKMoF9L RquIj2Eks5ULyBRkStw6hg== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 44p0sq68m9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Feb 2025 21:27:16 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 51BLPlGl009778; Tue, 11 Feb 2025 21:27:16 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2041.outbound.protection.outlook.com [104.47.58.41]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 44nwqfp0vr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Feb 2025 21:27:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PtcJA7uAivjSHgzBfRfB3hBqL+pCtW1MVmKx8wZ0jhhDbrd/LHDUowABcZ9r2s2JYhptGNnIZS3Z6gpziCcfJlTsx0wrjy4XsY+O+nywopmdHFmySkZvFpVGB9ADU5BBXdZBPBNd7bUtS26GZtcRZFdwXi6Xi0SzM9h4U6uNzdjnf64uUp8aAEXZ7X74a/XPHzZ5HI7E1OyMtElfHv3e7DhNduZYP93kVbCdnt1hVf16wWY8C0r32v2/V5GyYci/YZJVrxY7QlTxdsMIHVbO8TfFSKiz1nByRm8HrjU4NOmqasYmDcxUCjqnzlj9ssUlnMjSMoqbeqq0PsZ+VbH43A== 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=voVBWGs2k/ZVQqENSRmhT8AvSqYp+yVm6LiELDJUP2Y=; b=pRa8ulFVZLgmNnPfRExaH/olNWQHlu4hbg8bA+bjPTbT/0f1be21wNNMYieT9+WDkdgDo8LYodOrVVYvJsM5SKJ3lcuJnCYnoHmcpnQYrQIsRCmZpfijQw7/hXsMCNx05bQ7+oIA/a/J45/xFYH1UGBPgbKlJHusA18dHZ1wsFp8KMoK8SlJ30DyOLqBGDOI8e7rzHCPgefCwxJikK9U1uYQTRnYDptJ9dn+40d/EhfVOm5PUWMHILaqrtI2dPibklCJNI90xpPt60u+88bQOFROvKNV8IsKvi6YXQFioCPGisLbVzuYmJ2cVXHdwO6XkwNEaw9d2RvnIYJlirwlOA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=voVBWGs2k/ZVQqENSRmhT8AvSqYp+yVm6LiELDJUP2Y=; b=o6pu9rW/HsrEqbsz4wDMBWY75A2HvS1zbJ+/4v3reBeOyDEjxoM997+sKSn4y5veiA6z69k7AdmG2JflGjBkjV2zqa2DWYqDsnLSkPJcPALyThZDVKEi5hF2OXOxqlFUlC5auPpfpooyeN+AxW0sd9SzMdIoRsRBtzuCTgVMglg= Received: from CH3PR10MB7329.namprd10.prod.outlook.com (2603:10b6:610:12c::16) by IA1PR10MB7538.namprd10.prod.outlook.com (2603:10b6:208:44b::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.18; Tue, 11 Feb 2025 21:27:14 +0000 Received: from CH3PR10MB7329.namprd10.prod.outlook.com ([fe80::f238:6143:104c:da23]) by CH3PR10MB7329.namprd10.prod.outlook.com ([fe80::f238:6143:104c:da23%6]) with mapi id 15.20.8422.015; Tue, 11 Feb 2025 21:27:14 +0000 From: =?utf-8?q?=E2=80=9CWilliam_Roche?= To: peterx@redhat.com, david@redhat.com, kvm@vger.kernel.org, qemu-devel@nongnu.org, qemu-arm@nongnu.org Cc: william.roche@oracle.com, pbonzini@redhat.com, richard.henderson@linaro.org, philmd@linaro.org, peter.maydell@linaro.org, joao.m.martins@oracle.com Subject: [PATCH v8 2/3] system/physmem: poisoned memory discard on reboot Date: Tue, 11 Feb 2025 21:27:06 +0000 Message-ID: <20250211212707.302391-3-william.roche@oracle.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250211212707.302391-1-william.roche@oracle.com> References: <20250211212707.302391-1-william.roche@oracle.com> X-ClientProxiedBy: SJ0PR03CA0106.namprd03.prod.outlook.com (2603:10b6:a03:333::21) To CH3PR10MB7329.namprd10.prod.outlook.com (2603:10b6:610:12c::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR10MB7329:EE_|IA1PR10MB7538:EE_ X-MS-Office365-Filtering-Correlation-Id: 2320a3e9-1619-4716-be8a-08dd4ae2da25 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: 6JgtMHZase8cWunzc4nYxE97UvFBmmQ8USYSAhtWALuArquSG+0vfyQ3pFVo3YQYh41MpRczc48Uu+Vl/sZY9OXCL4o0LV+FbzsAcQBQHEaXC0s62Kmm9IHYJa2hDPLBI7A6gK33OUvXkCz2N1yC3mgPXQ/DSQEVUasEDvD4dCU4bp6oPy3i9TDQhtNgYdHLMnWmiS2PsGZL2vzAR/9JKDfDfE02XwaoBLUOTJRwJyFvaOcN4r28FN9QvsBFhKIS3e5wgK2xyfuQCttmpGwzCREtkyM7oE5Y8LOJXZBncPpK2XB/LuTnKatME05A9I5nh1TogBLYl6Ad6RBf+SxjcCtiiBgK47BjTYYpg0JI9TIooALmDs1SxWDS1d/ak+wgIxIbawtF9KwLBzC0mFWb64qMCjlGDv57pPDyuh433HmS4cMVU5D8kTvgejR9Da+kSH3G7eapGFt1xV2J12R9+2kmeCdVbOFeUm/jnHCrAokr+c710SxQaCGRjWM22Q3inbQkQAotbvsfizRLhCbaKaLU6/JqyOBEBCJST+lPDnxV0EvHE68wRJe/sAyzDOGnlHOzz7IT4RIM1cdor1OqLZ7Zw1awM/9wSdJdL19T0LmEctJUHNpT2djvVF+0cBJRDcqouArJiz0I8TjaAqZT0KkpK57WNfoAiiiytPhmLBm0tp9lkDndIziiXt6ZA3JZiF3Jtp8O0GOwIID4TTA1+qdC4n+GxWAvzas2dedK63/06415TJIXwSz1Zv9IVJRpWOiLqA48sa11YYBHb58APQZ4NqHGXKzrMjPn4/EFRiZ+UQ5UHm9CkGocjOMVq1CpGFr4wx9yxnSL6Ux6zF1eNBxrYkc2kjMPIc4cvwxO18Gk+d6b8bZekyKFs6whBxDEGbs9JFUf/UW/CG3HHmhcNIGz0FS5tz6zjwfpNmamyF2ZhA7x3dih6+rs1FywpnGuGLY7nvlO9q4gRU1NUzMEyxqRsLNHpUeNAczY8zLVzta80HQfr2bC1a7fI8rIq8pY+S+x1FOWuB2Bow8as2pAF7s2ovXMqgfpXrJdWiMT+mtGrPnCkdc/c4aa9QBvLGhcWQoMji+fLIUNFCptxxgsmZSWzzRKaeRMzJEk0FpZrM9cJ9G4y1lIWFuYZv6OsScfEas17hSuQ56T4Ho2rUY0ILOJB1p7OeSygZrE1RIdgtDJ9MbcTOSbA+toFx118zO8VR7ptBxh92Y9iPLBFVpbLTL03MPulJH6Suc556A1nbaDgoB45DlN+F0a8CGXqFzy8dg3hLIAFDGZPKvwlLbc9VIhIEdBrisRXzgKUtugJXdAtpB1cWQ5GmdjPa9YrdmHUpHcBeIsOxtQIGFJOKlIghg5Rj8FKy1VZfNRMKPbYZDW28oJNmfQA5/dyMFyxFo3 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH3PR10MB7329.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cl/I+t/noiQtnXcFnf+ejNB4yMJz22acZXEv2OX18lvp5mE7wpUrn8V871ZVIhZL5zh2OnuouWprkTlrX23kKZrT6rxLyxf298UMWjDjfEN9mz62gGSlJeZ8CHKJofInLADtE2HV9XTb493SqYFnBQ6+sKYDtdmtegeeixRRR/O+WJQqrZ0qHx08QHzkXNnrzADkPh6dnFl8+Cg5JhBLSbjKfoaxHHGUT7vU2JIQBVFD2WjN0F8K3Jf/hwP+1Tsc2hoYCwu9TcIF99/lm3jxnAlCCnGRhczwRNGWPVJCQ6h31va6PTyucGPHqW+vP5oCHjunmIbRKXtEUfhVWAatsujWnU7cfR9y87HOR46ZL04HddzCJkQXo309kz+/byuuuYjZLw1LKIZPbkHeSHJ8FybwLxpe7siTmS2i89lHFR81eAJQiys5FCrmllKQssl9HKet1xwq9GtJjG232npcUr/lNOwoZidMUbZOH9W882wAoLiw2P3sJB/8J7r06kHJyUEMIxCC3JtRo7CyJUPw4KhNOP/PFi/qyFa1J95C6MCOBuSuhOgwl971rBid9nrQ9a7ivrbSEuTxuzcxL8dFMfd87+QPTmXVgyOKHhoxTXjWG/pCDhV1Cu31d0btWIV1caYAbj2y98R75J9MMYs2mpdogaNUrvV1yPVlVq5n7hskEcHbLFIZUU7MZZbXqGPTvJCGDWsDo6cReDbLZd9OCDaCAEEO/VXeJQEryuxn3pO/bBtr2SrOrGNspDMu8B96mgqWXd3daddsUbMxmYE/SF8oEIt0QcdrNKOUZzqlvcup1ojM2bx7julVbITMgNjVN772fyzXW8ySTrN/MKEeXCsw9KITG/nhTQsgG4S7Lhivp2qRf04hIwy6/i2h0hMRHfd6eB/NgCO8LR0kntIwdihCwAjajyfju8/qrVQ91BvHizhDgZzyNy86XonuDKhRFkMCOGAJHmRsP0Sn7ZxrMYUAXjpth6zAl2eRFp2nsdJTmo+45Pzp8TfZXKRKAtmGoW9UZWFEsUTY0SpDf/041AEXw3GonTPPMp70ihtM0fSjiISP1g3O6OQrwlbNR+zFqWa3SqYh3fEkjRneWiIAO0VaVPTj7FQRkPP8FL1GhWvw6mCn2cMZYz3Lyobv6NGKaZg8oknu0LRhm7M2OCzHb3cTIm7j9k23HfzuSl0rkZ40sh6uzWYAte4wZumWpCBc6uAD6KizXFUiCEifr7JvpqlkF3BL2tvPmiO1sYVkj5VUiQly5Q+xYtuuVTxSZcLPlg0eMj+OP2O7dWmOI9GnjeNrJTyOjoPrJNKIW0547+lA8d2EAtcBFCkmpH2lyN4sux4gFM6uyMcpQ6eHoJiyfz04D0argLFViizCGJ548rN/xEYpJSgEIjHmsTlJW/Tg5LhHPMEzWaBNNRdYf7wqtOMeS1c8httmdoi/5tYPNhKcMUUrquI5eWDeB4kLYhDhdDfkBaAN/85HDLN1XWEOvAu7Qo/gKgXvf9l88pbt3YCpSuCbdBYmc3tJ1ricwi5mOxY7VEpQ5NNh5RS8uF5ERGE4UVFcl7+nB2BXRS80u2eGIkhgL2hw93KJ/iEC/Yfjsl3cETACO/yHoLpj/FWOgQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: JAMocwUsDuU2QWZYw/rNW9I8qjIOBdf7yW8/Gy8ocLng9Iz/SWzFGhjyUaVHMVsZTvDTIoNe5IDekly5Q7V41pDmWQYTM6EJl57jKqV3weZ9E0ywTFbVmqYF1SUwj6am3KD/MV08yg5HK7Ew4rn8FvZnlOvYHphxbIMGRpF+m1Smra5KPZNpDOxUXo/RURF+J4MfLVRhtdo4YgWkhyAHnqcVQDlquNMRzYdiv63Mmp3lqJ5VqUFbRurl6wTEHehmPA8TN0AZIAEr9ZYDqP4t/z9BaM7+ac3G7vJeky/DUli0kAQehqzrAIsY6we2cwHun0Cp9XQk2zXu37H2aAWndoOoCNV7wvIXy57S+cezcK9u/vCSyIrYVUJzU7SS8S/pHqelEAjxMrO3gO092VBz9MPdp3Ns2YGWK+cFqMZxFNGfOfzipVNhElgOxZReNtLwwl2qFUU1uFWVY6abbJM+G4/UQqafx2svs059sd2e07yROxgn8sxm8xl3a2YAq8URwkIWyb40Dqq/US+fcHRd1Sifh9Tf651vy1GfS0gg7ZbXaK+VJAn40330/Z8d9pUeU77vuZ09D+KEmJx5s4Fg0NvTAVOQ5d9DllM4VAwEOSI= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2320a3e9-1619-4716-be8a-08dd4ae2da25 X-MS-Exchange-CrossTenant-AuthSource: CH3PR10MB7329.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2025 21:27:14.2089 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: GoiZHxFiLaoMqtqO2sr8CwKMEBg+L5pLvCWY7lsJ1+yKiKaIswM8MzSuYv3j9Pmhq8wZ007S/IirTXM0QvT1VuXy1wPZDakZ30Ir+wvT4Qk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB7538 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-11_09,2025-02-11_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 spamscore=0 suspectscore=0 malwarescore=0 adultscore=0 bulkscore=0 mlxscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2501170000 definitions=main-2502110141 X-Proofpoint-ORIG-GUID: kEXGXLHweWhKqafhsQOws0bCGM1gEC7v X-Proofpoint-GUID: kEXGXLHweWhKqafhsQOws0bCGM1gEC7v Received-SPF: pass client-ip=205.220.177.32; envelope-from=william.roche@oracle.com; helo=mx0b-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: William Roche Repair poisoned memory location(s), calling ram_block_discard_range(): punching a hole in the backend file when necessary and regenerating a usable memory. If the kernel doesn't support the madvise calls used by this function and we are dealing with anonymous memory, fall back to remapping the location(s). Signed-off-by: William Roche Acked-by: David Hildenbrand --- system/physmem.c | 57 ++++++++++++++++++++++++++++++------------------ 1 file changed, 36 insertions(+), 21 deletions(-) diff --git a/system/physmem.c b/system/physmem.c index a5d848b350..5d97a5fe11 100644 --- a/system/physmem.c +++ b/system/physmem.c @@ -2275,6 +2275,23 @@ void qemu_ram_free(RAMBlock *block) } #ifndef _WIN32 +/* Simply remap the given VM memory location from start to start+length */ +static int qemu_ram_remap_mmap(RAMBlock *block, uint64_t start, size_t length) +{ + int flags, prot; + void *area; + void *host_startaddr = block->host + start; + + assert(block->fd < 0); + flags = MAP_FIXED | MAP_ANONYMOUS; + flags |= block->flags & RAM_SHARED ? MAP_SHARED : MAP_PRIVATE; + flags |= block->flags & RAM_NORESERVE ? MAP_NORESERVE : 0; + prot = PROT_READ; + prot |= block->flags & RAM_READONLY ? 0 : PROT_WRITE; + area = mmap(host_startaddr, length, prot, flags, -1, 0); + return area != host_startaddr ? -errno : 0; +} + /* * qemu_ram_remap - remap a single RAM page * @@ -2292,9 +2309,7 @@ void qemu_ram_remap(ram_addr_t addr) { RAMBlock *block; uint64_t offset; - int flags; - void *area, *vaddr; - int prot; + void *vaddr; size_t page_size; RAMBLOCK_FOREACH(block) { @@ -2310,24 +2325,24 @@ void qemu_ram_remap(ram_addr_t addr) } else if (xen_enabled()) { abort(); } else { - flags = MAP_FIXED; - flags |= block->flags & RAM_SHARED ? - MAP_SHARED : MAP_PRIVATE; - flags |= block->flags & RAM_NORESERVE ? MAP_NORESERVE : 0; - prot = PROT_READ; - prot |= block->flags & RAM_READONLY ? 0 : PROT_WRITE; - if (block->fd >= 0) { - area = mmap(vaddr, page_size, prot, flags, block->fd, - offset + block->fd_offset); - } else { - flags |= MAP_ANONYMOUS; - area = mmap(vaddr, page_size, prot, flags, -1, 0); - } - if (area != vaddr) { - error_report("Could not remap RAM %s:%" PRIx64 "+%" PRIx64 - " +%zx", block->idstr, offset, - block->fd_offset, page_size); - exit(1); + if (ram_block_discard_range(block, offset, page_size) != 0) { + /* + * Fall back to using mmap() only for anonymous mapping, + * as if a backing file is associated we may not be able + * to recover the memory in all cases. + * So don't take the risk of using only mmap and fail now. + */ + if (block->fd >= 0) { + error_report("Could not remap RAM %s:%" PRIx64 "+%" + PRIx64 " +%zx", block->idstr, offset, + block->fd_offset, page_size); + exit(1); + } + if (qemu_ram_remap_mmap(block, offset, page_size) != 0) { + error_report("Could not remap RAM %s:%" PRIx64 " +%zx", + block->idstr, offset, page_size); + exit(1); + } } memory_try_enable_merging(vaddr, page_size); qemu_ram_setup_dump(vaddr, page_size); From patchwork Tue Feb 11 21:27:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: William Roche X-Patchwork-Id: 13970726 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 76E59C0219B for ; Tue, 11 Feb 2025 21:28:38 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1thxn1-0002l4-BT; Tue, 11 Feb 2025 16:27:31 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1thxmt-0002iz-Fw; Tue, 11 Feb 2025 16:27:23 -0500 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1thxms-0002Hz-21; Tue, 11 Feb 2025 16:27:23 -0500 Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 51BLMW1M017125; Tue, 11 Feb 2025 21:27:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=hflNbyH6lqrBbhJFdWxyjVN4SWygAxbiQutO7Xl1hww=; b= P9gG3nEKTO+uXOrkYFJEUMgbXHjxmirZpEWmh7c5iZhv/ldHMme4ERgFGdAnC8MU vpULCAWoJsAUQ/+Ewl04wffEoB1MhahAESH3KQu86Di8BZ5HoxkPn/kEteVq4pea pJavPPkznHXNt0LAlEg8GbSWV9LtBuadNVU/OtU4/6Gbi8GN1Y3Dwff7mH++mZyC Wrw9kpRRvftYSif2FTVU4Nx4649jHwCgS9CnQKyA5YdEq+zButYNxDicM5KKMuez e4SvG4lF7AlRC/4v2Y7V6ZLUV5oGJZeK9mW81rGKNWfHKQr0IlZOS/zROtIhBWiM 3ijLRakirxJRDnI2xvB5sg== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 44p0tn63y1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Feb 2025 21:27:20 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 51BKgECW026948; Tue, 11 Feb 2025 21:27:19 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2045.outbound.protection.outlook.com [104.47.70.45]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 44nwq9cdsb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 11 Feb 2025 21:27:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Lr8Zdpb/3tx/9SqmI2CrlOAm7w8zSBn+LOmJMkeGtVPssEWeJDkax07toiiVAEcxauDscHDb8PVOqNzAmoosdf2C0cYPWfGmWOnjidpDgoRHkRaI7Jd2Z6sN1Q4Eqb5KGkQGx1yWS7moZPFGC5d/1kCOatdc256tZrmDjPIwQBpyJmq1qjyhQcWQ0xeKDSZz8R84kPyU/GToq1Yo+3fq1FK5ZU+Pnhnb72EAtILvtTrk4/Vl+Qzrf2IZTkSEgT5mhbDJetruE3PbiTfVFnYKU6L7j1K2zvIwHa/fO+qHJFZ7upuyJyAh8FsjkHZBOXo8aU+oN8vgvNskCxpaHjuN0A== 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=hflNbyH6lqrBbhJFdWxyjVN4SWygAxbiQutO7Xl1hww=; b=BLm5cUHScaJwxXpSq+201eHsDgjiFi3UPBxC3Jh2Jbn1VetL/Tcmv47ixuqbKpIbDY5IE+diIySak9n2d/Fv2k5E0Y//DVaySzUeR10UCHy5R0SjxZOHWiukr6UHpxtRYN+wia08YqN3MxNzHy7ul1MZUNX3kPnYM/B8eE/sI3h+mED4m3r8D8Q0uI00eXUK4sfA7gJ5COx5GR/QcijlevQSlEvbv2u7X/PoVlEuUicBfSgxbLmXDMjMXk8lmLMCoXdCkjZgtYMq7IJBGnv6K9fsnd/T1nzEuo5lsU9xGj5ReLWSd7g2g0yzv/1iUNlITyxOwTSt8VXuHcqGPFfgdQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hflNbyH6lqrBbhJFdWxyjVN4SWygAxbiQutO7Xl1hww=; b=Ny9ZGhy8VsxAp0ocjLGHydNbdXWb+3ltmobHwvxmlWc+9eAQwcoNy5oBDx5wu/m3oASGEbHgr6/Ay6u2/lfBDjVGbelX50MugwD5Dn4AqxItPHDSOlxMSXhQG3OCF2COb5yZ6kTL0IYpzRcPBYd2ixXmhJwR71zsDlnjZkrlbCA= Received: from CH3PR10MB7329.namprd10.prod.outlook.com (2603:10b6:610:12c::16) by IA1PR10MB7538.namprd10.prod.outlook.com (2603:10b6:208:44b::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.18; Tue, 11 Feb 2025 21:27:16 +0000 Received: from CH3PR10MB7329.namprd10.prod.outlook.com ([fe80::f238:6143:104c:da23]) by CH3PR10MB7329.namprd10.prod.outlook.com ([fe80::f238:6143:104c:da23%6]) with mapi id 15.20.8422.015; Tue, 11 Feb 2025 21:27:16 +0000 From: =?utf-8?q?=E2=80=9CWilliam_Roche?= To: peterx@redhat.com, david@redhat.com, kvm@vger.kernel.org, qemu-devel@nongnu.org, qemu-arm@nongnu.org Cc: william.roche@oracle.com, pbonzini@redhat.com, richard.henderson@linaro.org, philmd@linaro.org, peter.maydell@linaro.org, joao.m.martins@oracle.com Subject: [PATCH v8 3/3] target/arm/kvm: Report memory errors injection Date: Tue, 11 Feb 2025 21:27:07 +0000 Message-ID: <20250211212707.302391-4-william.roche@oracle.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250211212707.302391-1-william.roche@oracle.com> References: <20250211212707.302391-1-william.roche@oracle.com> X-ClientProxiedBy: SJ0PR13CA0002.namprd13.prod.outlook.com (2603:10b6:a03:2c0::7) To CH3PR10MB7329.namprd10.prod.outlook.com (2603:10b6:610:12c::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR10MB7329:EE_|IA1PR10MB7538:EE_ X-MS-Office365-Filtering-Correlation-Id: f0e04fca-5fad-4d0e-6c96-08dd4ae2db98 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: qJVAi5qgJHH9q8hXMb58R8vWCXbhdLZnq+iN2HJjyd/cDtN0VuiJ1CwxGiyoofSrw+KUwQ464T6l1ftcV5+cM4WQWpLgLi6/QeliP8ivIrWWMv6MndGdq6yZjO8HABUSKbBYIg2fi2LgkFDfzcH13FjlEwDqa09gElGW2tI7ZpekMPkTmmSf2lJMIfMVsT1nWUAVnmMwlQI5vRGCKC15Rf0zwW1xaa1DPaOES7HECvf2rqyN5czdm4tKrdAmSlsw/jqFBKZ/2ntlyY2ISgt9VsYfKHLaePzJOTqG+LPcUDA6heQ97g/Qggz0cbsgwR+GnhCWaNaYwNXNug74Meec3ukZoX/tpWrHWKBGUWyvFhYYLW9+8ALvSxptXI6GmGz6IA1qtuj2iV8Ln/atPkWb0EpAEyTokvxEtrtuXbTCBRcYF6hGs/RZ1uJOVibR0lSO6sx+/CZvIBF4a3GYq9DiNjQ+TrLGhKM2BSR7UIBSi0O065a8lQh4F9o5pIuK+/p5jMytsavELuTcHp7nfx513D2R3C1US/rYhhonwRW2oWO55JNdrdGZ89AHyLdIaT6s0iD3i8ENsLqudTz3s+TVBmcJyQe0IWJjqvChTxOS13+T/CJHbFVsVhymcsT8zvMrbtIuSbY1KOgMnKY/kxPh2kZ61qp1ncX/MACfK0UUxkiNqFOPJ9kWIDYCFR80Fcs06FhKCaVfh7J7QfakG3cMSUu6pNpq2sJA8jBMUnK57MG9sQbhAMlIWa1U8rpG7XNPmsFofBX23D94ajzYwTvf9tOY4GAYuPmhUE5kp6MTx5oncbDPgWe14SHD0SRnPfZAWMJvB8AX+F5acnnXI/6la6EeGaCnUgItiZ6h0tuXucQvSPH6NvaQa8iG71RHvhUj6/ZgYrx/MXP0ryqlhRfdj2S5zoYUHLQRHJXUL2ydO1McVyB7PDdGT7djlDy0JVGm6w6g6FKWJxjLd6I129IRbn+J4YTeDlRGvdvfk8CnEBYuRNce1xNyTHP9qM/E7Rm1q6OLmYkHMNhbyzyG0r9v+4qLKtOe16axn7sKRTTyWDwvEl6jm83LRtX1aWUKtu5uje/bmSKTMkIG6lZIO+goMV9378CQIrOTOqYpfTqRZziLF6u7Mi5HYXWjqS/8100/w7W7JjQE5jNNCidE2hyw879IeVGDWEb50cT9IVXG7F23uDdrLr88BDr44U1yZOiQtQG1l49+1yUPYP6dMfVGY0vpxuXhs0XkXJAb1Sxlw6j5MzKK5ErWfogcozmoZMW04vRvKlkkY2za0D4z1SVAtFmU2Szw+X1TOpk7uRqLYQb/1m+MnyWzgjAPrsaBzi543ZijkATOfPMspgwuekkNGhFNGmp5NZfv0BimQ/KPbStu1JeuIoW5qS1Kl2HcpMJm X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH3PR10MB7329.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Xn2brJg0Ap7ZW3VCe29T1vpv/NtbhVzIFBkBePUBVxxLSahzLuH4e480LGcnoHp3ewTB6cFkv/vgVobWr5RB4CxxOwc3SviI784iFQlgZQeZGhKvKYLB85iV5qSxsCSuYCVGjmT7gp6IUipR+A8VTY/dpTWJI8BCuCG3PHBQvxc6hHHaCVwmEtY6eys26wffp0aIpcjYy2jiMFe2GTCO2PJY7u0YsB+y029LBZqhPD5dLuxbTSiVuEOgzq61IC1J5dxzT/WGk0/enFSmgJJLPot1UbTjwpylZV9dlynzKuG+uFiyc0GGueNEDoS2pODRi5oEcngsOXencZxjh/UCTFrmUgfJ1gZoq+MmKkA7DCf8rqPO09OBpVjYIWVukM5Y9zoo4ANkcmiN1RcKaMhDWXcR8o5YhwOvk+tDbRgZejjXzryDDBO4qMWZ5AZ0v7IzbodgZg21C66MVF9sck4B/LA7yGy/6lc4PSQICuShY+6CsaF/t3JNK4HJwsj5cdnvdVqJTMGFQw23jFxzQWcx2QfAfPzKE/hcNxIZ5izH355IpLfAXGD43gwdFIU1NMZEhWEihN193ZMFgfUPw+g2c/f8o1zh+ciC7Uj+5S/O6aWq4elJnHmPPE//jL1vdxpuVFxoyR2RiVwM+jJ9pScoLi/p5k4u7iG9EeNklTQe9tsqhXGQj9Ol/gD4vJZvLdP0BW6k8mknjodVHToxZeCV7HlDfHcTDHL93VnrfwDIxeE8wr5VhT9fIPA0Atqw5hk88etJzcwq1W/bclWrSe9M6TpM7sVNkUqaygvqL5ILuaISUQSg0xaMuizG6XMwSBu7HZFv4mz0DBnWN9AHcg9B5qOiEsmfl0CVOFwFCcIaK7V+gyAgBbMw3fmn3mso15iZdLWWhwypYHCPVhTWo4DSj73fS4xyXcaOVZ1h3AL5f2bYwPtJPP4y9LHQxPaUcMcN8CnvJOn7g2aUComVSLrX4YX5p4xtmgF9lLElC60xwMtr9NtEh2I0cSQVeU/nI7o/lypj65h6hD8K1AGZARKYkVfdybKQCCCZ7T6T4IrIsmON7N6j9uHA9dFJ+G3YlHhCT00Hc8bch0+GAgo5brkiLF+XlTXNfiLbGiA2tObegezi0I5vmNsTEMZgeCn7FPSlAfWurRgMY3p2qaAuAOtbQefoT0HadWMMJsLfTNOtznz3/ra09KgLL6d7RSrTA8Hnax4isU/e3H+vT7zR0yEe5MSGA6Zpnm6r1C9OV8AqcN0kgbn1EtfspILSBeDR3B97J5Fj8tnnVIhlLYgGmxnetpknY4TUq406r0d3PHJ5BBDF7xD/D6W6uW68qeXfOoydDnrpEiBkyOFqGyLwLq4Lmq3NnX+92Y+qrksr1SPwO0cM4Kodib1RApDYbj3CQ5NBn0Pe6mAG4As89inR6xznKxTVBhoXr6MoLW5ayduTFcucxZVn9D4Hcu38XeG1oKbfbaHpbzthq9OpKuAKFy6dS6PG68svwzT19x/tEaeQkx90SNcX4vd6H94T87FHLUyn47Ru8pBvcBnAo/DTiJa4XfUBfVhCEuzVi1C9/NtquE7G1mQu4+3VNHIJNFuDDXdAEvRzmEOImR7w4uifs7fXAA== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: BTY5ojp1mOIL2ychbE6JMzEwXvsZl3ARf2eO+k6xRQeLegZgEw5V4ztddcanJz+rD1estmgIzFSyO3EdjaXhbUrFOrDtzy+ShGOITa3/SULvwDFtVZZLAW0ny3Wf29DvBTujEIurpatQDUh38ayqK7X1BzHtFEIXdweGtHZojcV4BvLYr8R22cqey3E1u8a3jd57HRRmj0QU11d0pM4cB5dgfZwWY2ItP7dEIUKk0vY6Hch+GFQ6fNH0bhlFfq8Vlq/8ebvzlGNGBWY6yYugTVfR+A7suvgC1YB6QajEVb0lbOdT/THGSYF61qkD1fkE+6T0cD+8JTVcRkRyKR5T83fSH8lzMeBGvv7yU5Nw6Vdg1KowFZejzn0Dk0MBBO5bvmCvp5yYIZy6TMBw+QRdYamY73jUM0L16oAD0Hd57tdSd/mt4bq7pCHa7Xg9eTUFsrb4uL+9DCE8KtfHtp6hqD1+UAc4TmO4+Ysgm69143I5HvaDxkftwpEElGUs8kcA1B0IP7XYFnrKqNoBcNKhOq5Cqni9bsukOpmHbOq92pRU4StXBhIihYn7RHIC77/JEVqPMKum7QkRRFuV7P9sRk9LexJ7yl129P9QUWU2j0k= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: f0e04fca-5fad-4d0e-6c96-08dd4ae2db98 X-MS-Exchange-CrossTenant-AuthSource: CH3PR10MB7329.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2025 21:27:16.6512 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4HV+e6bh9XnditVLWJ+2QXLPLhf69MU2iiw9N2R2ZFL2T6Y9lN94BxVKD6JBxSlRqVmgebaP8GBomDUTwQri6U8ByknHoPoL4uvFOfQ4/gI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB7538 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-11_09,2025-02-11_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 adultscore=0 mlxscore=0 phishscore=0 suspectscore=0 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2501170000 definitions=main-2502110141 X-Proofpoint-GUID: scoj_I5vAxRtUTkZC0oSbg0hRmsLisj7 X-Proofpoint-ORIG-GUID: scoj_I5vAxRtUTkZC0oSbg0hRmsLisj7 Received-SPF: pass client-ip=205.220.177.32; envelope-from=william.roche@oracle.com; helo=mx0b-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: William Roche Generate an x86 similar error injection message on ras enabled ARM platforms. ARM qemu only deals with action required memory errors signaled with SIGBUS/BUS_MCEERR_AR, and will report a message on every memory error relayed to the VM. A message like: Guest Memory Error at QEMU addr 0xXXX and GUEST addr 0xYYY of type BUS_MCEERR_AR injected Signed-off-by: William Roche --- target/arm/kvm.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/target/arm/kvm.c b/target/arm/kvm.c index da30bdbb23..d9dedc6d74 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -2389,6 +2389,9 @@ void kvm_arch_on_sigbus_vcpu(CPUState *c, int code, void *addr) kvm_cpu_synchronize_state(c); if (!acpi_ghes_memory_errors(ACPI_HEST_SRC_ID_SEA, paddr)) { kvm_inject_arm_sea(c); + error_report("Guest Memory Error at QEMU addr %p and " + "GUEST addr 0x%" HWADDR_PRIx " of type %s injected", + addr, paddr, "BUS_MCEERR_AR"); } else { error_report("failed to record the error"); abort();