From nobody Sun Jul 26 13:29:03 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; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1781575749; cv=none; d=zohomail.com; s=zohoarc; b=nfp3l0/0wNBBP0NJHa+tV0Le0gmcDJ3WSQe+XCgaaeqE3XsLwfEyr4rDaTe882a4L4qkFbpP9EijE4hxazmF2HO0rQLlRBP7wpFrGg+J1gZCPgkdUTklFrL5OKkLjgUc7uhIN2VmHpz07qDZofTYvJ5ROt61Z3KqfLWy3/D7r/s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781575749; 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=13xqUQeaFiL+vpizQn1RiOcuK8+bir7YOyYILHwhszg=; b=NcWhoQ4J9sszNKi5eKf71DpeYUw8Fw3pPcfjH5lhlevXoEvdNJuiuZyj7WYpPU3st0AJjKkDFDpQz+bUJ2od0uiJzhyBvJrta7TutnGus1DowK/DVU3b4Lsw0Q5hbZxDGNTCk+37vbKCyFi1jAmjDuGsPuANRTe6n5gQOQetqPc= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781575749961126.99949449895064; Mon, 15 Jun 2026 19:09:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZJES-0001JE-K9; Mon, 15 Jun 2026 22:08:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZJER-0001HN-Mt for qemu-devel@nongnu.org; Mon, 15 Jun 2026 22:08:51 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZJEQ-0000sp-0L for qemu-devel@nongnu.org; Mon, 15 Jun 2026 22:08:51 -0400 Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65G1xkCl2147845 for ; Tue, 16 Jun 2026 02:08:49 GMT Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4etetf428s-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 16 Jun 2026 02:08:48 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-91574ad6871so614572085a.0 for ; Mon, 15 Jun 2026 19:08:48 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4922fa47d1csm37228205e9.4.2026.06.15.19.08.47 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 15 Jun 2026 19:08:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 13xqUQeaFiL+vpizQn1RiOcuK8+bir7YOyYILHwhszg=; b=QoQTMRq6ik5s3blj qWk7YBf7mwu5x4KN1dmNyxX467PknlDDESpi7mfbKUSYEgXMt0pFnwJe+QiVh97c D4UvE4UK75gKgv1yrMyH0DJg+J0SSI+yzla3Ur1aw9Yz9VQIyhyJv2ewV2Uaam3C TyBOx01Zn9y6vgQ3RBxKYptQ8N1jIw8CTmAJG6Rnay2VpLBbvSBKLlnryzJ10/u+ PXY93qxRHfHN78bPtAqaZlNMrSu0R+SpEt3xsOmRlRFYwVM4wXjRpVSz2OyPe4Au aQt7PxHaiZgxFGu0AQ0zx1LhLYPnpjFY0YbtPxDqyfQPB8mXOw+Rrg5vkeQzCsqp p8zTyg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781575728; x=1782180528; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=13xqUQeaFiL+vpizQn1RiOcuK8+bir7YOyYILHwhszg=; b=HESNA231Nx+jpS/JRt+pjp81ycOb7iXglW78+HG3nIsvbhoW/ZwLrnNuixduivNIjf hOxhxcMGMgMoLuWBwDq3igOiDxtMtGaaMto2yaYhY8CKki+397KoV+gApFuXpdIsKMbO NoCSqwEx2V7syr8ZApwsOhio/9UFYJwR1NbXr7TiW7nzKpHKg6jp2VbdiLwTX41zFLP/ F72riQxySKXs32l8W8x8/S+UEeHakkbRSp8Kwj3St9UKgm1ZBmzjPwZVH3GFvU1huiNJ t4pvrRPS5V+QERo9uei99+8g+HHhueBsmOLZ9j7vDkGisFAG23kA5+kTA91EolxOCgL/ BeAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781575728; x=1782180528; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=13xqUQeaFiL+vpizQn1RiOcuK8+bir7YOyYILHwhszg=; b=SjjbcDlWLvTmHtC3wa7TZHgxT8VYMIxyF8h4E3GiWCR8HvUDvCtYv8Dpyc8cxdoZ2S CTdnczKn/J3kwiSI8sD3K2y04hw2n/kiqlYGEg1alpUDtYI8iwVmsDO8zP/TJMu0zDyI V3xu/cVvU6xTjrNms2oGjKsSRJ4Lmxxm27wJUS04twqPBbFpSyZjmmJJfk67Wr2GMHUz xtXgyJ+HyVB4k9MejAG4UyBkH6ZUE2jO6Vi1COzpCShHZXwcDmvmU5lz/lPVsZQJp0dO MnkNP4+bwpVC54fK7+2i1cc3KxW6UcsTTggleQwQrl20BSAx4oE+tgb4BP9wBWyYpHJ6 bDfA== X-Gm-Message-State: AOJu0YyBmhM3A/8tg0PsblQfe2acCsofNAJO7IaHCbw9VNcNIWFvhP6r PN9Z3I6YkKE5ZtKV+IXhKQHlkFMlbiXjuHUh0jSd3VFrrfyXd/DKBshxZG4NAs5LRYoYSj9BVeg P22ZIMPpgy3VHvuynfztQ7HQo6PHtwAzbMa4/jvNSTDGabutMiffsgnJjSyzpwNVBbQ== X-Gm-Gg: Acq92OGHlLpL4Fkb75otPQ5CFlZGXSQzR0S3bf7tkhgxDlQhah9CtOtF5BgM6xxiP44 UzUvMy6iOXkvbalw4GYYun8igljLuinQSgxGCrOVLiS4OhGdvfKrcHj1KrA0OliNtDU7cMitZW5 AwxAzZqHUMvHiPfeYKdpaBqZbhdaKQ05V265OG1wJO5eCy/R/uoPPb/FjnbNgHuCfXKm1JkUYLz EbjEc1yYpYaoQBnzU6hym62YqZkTqjg9MlsHTQZTVzaDXSZQwUfDX+/S5v14qByIf1aRcOFjPSe 0DTHMkKMH9DMyOwtiHrOjpz/6K9reqF1pDjOu19tP3HXpO3jjb05dGynEdjqih+SPaaBtARqKoi yFzLn5dUWakuxHfmZyF3PjjV/v6eUmtSXrJe2+1D3Y/wut6MIKjQRtRFGX+IHCwdJrcRamQXNQW AbRc4= X-Received: by 2002:a05:620a:468e:b0:915:6758:24d8 with SMTP id af79cd13be357-91c48b319bfmr270382585a.42.1781575728299; Mon, 15 Jun 2026 19:08:48 -0700 (PDT) X-Received: by 2002:a05:620a:468e:b0:915:6758:24d8 with SMTP id af79cd13be357-91c48b319bfmr270379385a.42.1781575727878; Mon, 15 Jun 2026 19:08:47 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson Subject: [PATCH v2 1/6] system: Document cpu_physical_memory_*() declarations Date: Tue, 16 Jun 2026 04:08:34 +0200 Message-ID: <20260616020839.19104-2-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260616020839.19104-1-philmd@oss.qualcomm.com> References: <20260616020839.19104-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=adxRWxot c=1 sm=1 tr=0 ts=6a30b031 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=ur4Lqk0a5foQtgUicssA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: _wdHvQK301BWLZuzW8ut7ZtNiYZuJCYt X-Proofpoint-ORIG-GUID: _wdHvQK301BWLZuzW8ut7ZtNiYZuJCYt X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE2MDAxOCBTYWx0ZWRfX8VibCJfgV/Xs FsmbLucB+clnh29yFnwnZl3PzME9ar6QY4Ou8grGsI7S9i0sfXj0czgeP4Cd8c1bq13a0q9G/aQ YYcEu+CAF7Ae1Y704cXpxFzW+HND/d0= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE2MDAxOCBTYWx0ZWRfXy6rMgMi12Mzi SDU/cbzus2TEOb10KyF2WVtjtVjjjniGZ81s6ud8UD2k7g6hVU+EOdMulKJs8h4oRIrr5KubIcG vUhCzTVfZ5blOFIrW4US5gM1FBdVW/O1z8i10BcPcq6r5UFcB1XsaxBKi3nZtOPXBT7JI4Kt04B OXK0mrVRF7VyMBiVbf1Bzg5qovGE/iVaIVeOK7ZuolZBaZbOsDaxmN0ECEji/Cgjw8q36GCuu4G NtrCI1kZNfoi383+VEeiQtOGFMVK2EXjH0T8rm7Sp2eqpG/QqIEk9XXvHy+VO9HuzD7fvOXD5tA gDaO4YPzOinFAmHRa9Y13xGAHN84qaCig8pLIfiBGMhXXmTAIAA+495QD7l4OnJgOMf3iwS4H5Q HFn8UmU85/cx1RMqvBH8lvcFKAvmlHR/h/XaxLFiq2ifeQ0QT8e0Xj9tiFAy0GmIb8LyV8SsfLS Hn1RlqzHGKmQBGhYnFQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-16_01,2026-06-15_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 clxscore=1015 impostorscore=0 lowpriorityscore=0 malwarescore=0 suspectscore=0 spamscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606040000 definitions=main-2606160018 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.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, 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 @qualcomm.com) X-ZM-MESSAGEID: 1781575752517158500 Document the following methods use the global address space and discard success/failure access information: - cpu_physical_memory_read() - cpu_physical_memory_write() - cpu_physical_memory_map() - cpu_physical_memory_unmap() Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- docs/devel/loads-stores.rst | 10 +++++---- include/exec/cpu-common.h | 41 +++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 4 deletions(-) diff --git a/docs/devel/loads-stores.rst b/docs/devel/loads-stores.rst index c719241a7f5..f2c66e44454 100644 --- a/docs/devel/loads-stores.rst +++ b/docs/devel/loads-stores.rst @@ -443,15 +443,17 @@ Regexes for git grep: ~~~~~~~~~~~~~~~~~~~~~~~~~ =20 These are convenience functions which are identical to -``address_space_*`` but operate specifically on the system address space, -always pass a ``MEMTXATTRS_UNSPECIFIED`` set of memory attributes and -ignore whether the memory transaction succeeded or failed. -For new code they are better avoided: +``address_space_*`` but operate specifically on the legacy global +``&address_space_memory`` address space (which might not be used by all +machines), always pass a ``MEMTXATTRS_UNSPECIFIED`` set of memory attribut= es +and ignore whether the memory transaction succeeded or failed. Expected +users are hardware device models. For new code they are better avoided: =20 * there is likely to be behaviour you need to model correctly for a failed read or write operation * a device should usually perform operations on its own AddressSpace rather than using the system address space +* some machines do not use this global address space at all =20 ``cpu_physical_memory_read`` =20 diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h index 1eb28734601..9cd67d3ef9d 100644 --- a/include/exec/cpu-common.h +++ b/include/exec/cpu-common.h @@ -64,11 +64,52 @@ void cpu_address_space_init(CPUState *cpu, int asidx, */ void cpu_destroy_address_spaces(CPUState *cpu); =20 +/** + * cpu_physical_memory_read: Read from the legacy global address space. + * + * This function access the legacy global #address_space_memory address + * space and does not say whether the operation succeeded or failed. + * + * @addr: address within the legacy global address space + * @buf: buffer with the data transferred + * @len: length of the data transferred + */ void cpu_physical_memory_read(hwaddr addr, void *buf, hwaddr len); +/** + * cpu_physical_memory_write: Write to the legacy global address space. + * + * This function access the legacy global #address_space_memory address + * space and does not say whether the operation succeeded or failed. + * + * @addr: address within the legacy global address space + * @buf: buffer with the data transferred + * @len: the number of bytes to write + */ void cpu_physical_memory_write(hwaddr addr, const void *buf, hwaddr len); +/** + * cpu_physical_memory_map: Map guest physical memory region into host vir= tual + * address. + * + * Map a memory region from the legacy global #address_space_memory address + * space. May return %NULL and set *@plen to zero(0), if resources needed = to + * perform the mapping are exhausted. + * + * @addr: address within that address space + * @len: pointer to length of buffer; updated on return + * @is_write: whether the translation operation is for write + */ void *cpu_physical_memory_map(hwaddr addr, hwaddr *plen, bool is_write); +/** + * cpu_physical_memory_unmap: Unmaps a memory region previously mapped by + * cpu_physical_memory_map() + * + * @buffer: host pointer as returned by cpu_physical_memory_map() + * @len: buffer length as returned by cpu_physical_memory_map() + * @is_write: whether the translation operation is for write + * @access_len: amount of data actually transferred + */ void cpu_physical_memory_unmap(void *buffer, hwaddr len, bool is_write, hwaddr access_len); =20 --=20 2.53.0 From nobody Sun Jul 26 13:29:03 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; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1781575761; cv=none; d=zohomail.com; s=zohoarc; b=CjMm2GAFYNbzCgvcH10A4z3TDfeXB+c+6q4ghX3uAdzyMkbk6PZcMed5Yj65RIOJtCXG8rSRq8m3bLQe4mPHsCKgJcv29cUxFyJDmzjg+rjxnXlMyl1WhyLWpXbeeCNjJ/Xdqau18yXbYq2jdLTmm8zUaKwSHheyH3tEdWFKzgQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781575761; 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=D6MWjv/UtEmpMINSmfERjVJsupO3jbP2ABdaviJ4bUU=; b=QFM4dZ6Ii2YCA384JeHv/LXE1tZ7FQQXEjCXnK3srteSlc8Zqs+EBVFu12N1uCbKgl8eVOuQmd+E5UAXk0wcXZo/HRCVNPfg1JVF1v7G2RUmAHS92WN7kYjCo7qQpVvV5aFREDMcv5CxYfLT9ZLj+loRN2jF6UL5oO3ZJrzJwfw= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781575761227129.61490500258037; Mon, 15 Jun 2026 19:09:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZJEa-0001R7-BR; Mon, 15 Jun 2026 22:09:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZJEY-0001Oy-9w for qemu-devel@nongnu.org; Mon, 15 Jun 2026 22:08:58 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZJEW-0000ud-Op for qemu-devel@nongnu.org; Mon, 15 Jun 2026 22:08:58 -0400 Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65G1xhuw2271132 for ; Tue, 16 Jun 2026 02:08:55 GMT Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4eteguv5hf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 16 Jun 2026 02:08:55 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-9156ceb551eso619029585a.2 for ; Mon, 15 Jun 2026 19:08:55 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4606f2c5266sm45944324f8f.29.2026.06.15.19.08.53 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 15 Jun 2026 19:08:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= D6MWjv/UtEmpMINSmfERjVJsupO3jbP2ABdaviJ4bUU=; b=drBtns2qdwRIwINR CsPCsLG4381V2eemuP7l32V0emt99keJA7Yeke6xP9tlduwXQjgaeVJLDSEtnQ7/ de+487FMXDQBuNjWl8wfoEAMvcRpuu5CwKRiIr0Llz4d8jjBJUv9v0onYKoYr2T+ D7CoKRLyq2cIhC26cwdpYlToDaUcyBZX2UiHujsPtOjeWAH58nT4Aa2LJ+nz7IUx iYqkwsPh5GCIEwF5nEWR0j5i75Itnsppw+Q+8QJz8tiuVfmWzHKmB79AoF7LZeUX wLKVpvVXYwXToR145whyN6rygN83KcrnKtkay3+vO7Y5evBVdNs5y+TruVYUFbZd ojhXGg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781575735; x=1782180535; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=D6MWjv/UtEmpMINSmfERjVJsupO3jbP2ABdaviJ4bUU=; b=MLfOs5aDzG3BJqiMejYDe7QOL3RC+7/MsuXMVjBNqesKAmtZhMbi1wsETiANu46b4q 59HLc0UYfIVv8Ap0IYoRPalz5s8C9arl4Sv5DdDLfQQN23C9RMfx9ZPbwIaa7/40jbFn EGzBzyMwRs7d2gTi3J/yH8Es8dY/Yc3lopB5QpolmXsO5ih5kaQV3EBP+DJF2xPfN+UQ c33WRfJNtvqIEvz/Ch2ggYxTrDHHMTNvo3eOJUTIIWnryJfTU8DivaOYH4NK11mlt4oy S8SF3s8QOZFSKJYcis3fwaeHm+hG1/YGaMy0BawYJRAQam7x2edxapQHdMBSdAmuYipM zZEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781575735; x=1782180535; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=D6MWjv/UtEmpMINSmfERjVJsupO3jbP2ABdaviJ4bUU=; b=PRTAUByDSsHQLQBkYjspjrs1THZD48yCdB66p+OfGdAQcp+ZMmiYD4O6oD+3Hea58J VHj9XO6oLHjWPUh+r+rkjseQQyBjwSgCxMHq2I54DiksY6idnMT107b8sS7BoU1qvSb3 JlaYNKGcUwjVYYreYk2cIf+XC0DDOpW5BT22Li/zS2GhlIGAB02HJOk4yCypeAnY9Mob cVWvWz8EfOMlRFkRpEDM0oBU0R2MafeKp3MfIJRtKracbC5pf/xvXHmEJOu1JChmiuvN F4zTpepkwZecyqM4qWr3uFjoOF+1xIueF/KfyycXc2do+NJWv1MO1X+CFiTApsykP8hs uT6Q== X-Gm-Message-State: AOJu0Yx4RB/fd/DNjiFD6B17UD9h03FERmRwnAb8u/UGiV6EFEuNWjR+ +GZ3YCILuKEShkkYcZ9cmlE7ST/3sbHOrSWM51CQAPGK3BGlQ+5VE75g1uF7I8FLF4mGs0/M7rk 6riAVJZQEOHEQo5g86doS2mq12XA2Z56lVzGdBdlOfpcN2U+wohTN2E/KfLXgMH1VhA== X-Gm-Gg: Acq92OH8mObsqVA0dj49qRJ4JZ0lLbWd1CNsyFFQeQi8j/q1JcA6i3IwkfOdkLHW3MI gRPrM+7FDywKXZ6rU4H55/RDDQTbTyFgM3wEKY8aprNtWTTaoQ7ADxuNRR/wjkDzhKHEC4vtINv LpSnWckOHL7xTZ18JPorDRUupyzIHRUDR3uZMVQ2p0YAMyux/f5jf5chPDx5hpZfnN+CD8X1evg o45AldCj1MD8ndp0d5zW7a5tsWqyjAg8voZS/ePPvWRR8QH2b7rcWy1Dbe9D+D1SVgKxdD3rchW LtYLBVzwlO3VJt4f4DOA3U6WSqEqIVE8sQCsvCo9oyx2VVL098+o6kr76lC9QmcSpUUjjqsasVc uV4kXanxuubyLJKZQSga4vNUR0VW9LhwoEAmynsLqgV4PaVOauA3/o3GkA3Biswm2P8B2Qe98zP cBNr4= X-Received: by 2002:a05:620a:25ca:b0:915:9531:f6da with SMTP id af79cd13be357-91c23c7c291mr380894385a.3.1781575734959; Mon, 15 Jun 2026 19:08:54 -0700 (PDT) X-Received: by 2002:a05:620a:25ca:b0:915:9531:f6da with SMTP id af79cd13be357-91c23c7c291mr380891785a.3.1781575734518; Mon, 15 Jun 2026 19:08:54 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson Subject: [PATCH v2 2/6] accel/kvm: Replace legacy cpu_physical_memory_write() call Date: Tue, 16 Jun 2026 04:08:35 +0200 Message-ID: <20260616020839.19104-3-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260616020839.19104-1-philmd@oss.qualcomm.com> References: <20260616020839.19104-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE2MDAxOCBTYWx0ZWRfX12OqpY4jmumF +v/Xsf+dzVyH2/3fZVfP/LuCE6b2k5ADUWnZ4r1WYELt1aLAnYqVrRQE/eZ5p16bzzttvFDcsQV tRNvGmbys09U1i4fICHqWFZCucqFQ33kQWFIZqTn5IxQDzWWtXb6GB6GOEzUaKGLyx4WM5y6VU6 BSNEBBXz647t5Jg31FnMolzfsUnk6cRD9J2LYy3Kg+eq72d2pumwwz6wojkZCTixplhqcAt5nOz 22enmGI8i0R7smM+UsSth0LL9oFYiYGkqql5rNEjptgsVeQgoZEDPK+deYbpH5Zp1hazj5M6L5t HADUkGQBj7SONkBktzrE6nBV9tIUk/E/u+dJ7W2TlFSfIbc2X0Ftx2XbeLS7Wdb+TnwpD5wzIOW nbyX81OSyE3YAnSWxSwtOcHIcW8LfWeejPR+wgrW68g4+bSRvAV+F0EQNAvPDstSQcwdsrmkUjy dZKcJGLDoku+bc/QIjQ== X-Proofpoint-ORIG-GUID: Dt-C4Mn05HVDxmIEsQUaTEyLv9NDzKyA X-Authority-Analysis: v=2.4 cv=HMvz0Itv c=1 sm=1 tr=0 ts=6a30b037 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=N3d6tThwYWHiyXLDwk8A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE2MDAxOCBTYWx0ZWRfX59/0kr9C19Zs Fc7Pb4WRybU0PDX57WVpKIACHBjx6D5badhimGVWQtXs4E8ewU5FvGf/FOPeurjfRHeoKB2XHEn 5dydLdKkpAAg6fSJdEg/nGJAKLAv3Tc= X-Proofpoint-GUID: Dt-C4Mn05HVDxmIEsQUaTEyLv9NDzKyA X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-16_01,2026-06-15_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 clxscore=1015 spamscore=0 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 adultscore=0 priorityscore=1501 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606040000 definitions=main-2606160018 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.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, 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 @qualcomm.com) X-ZM-MESSAGEID: 1781575762744158500 cpu_physical_memory_write() is legacy (see commit b7ecba0f6f6), replace it by address_space_write(). Both if() ladders only differ in the address space argument: rework to have a single address_space_write() call. No logical change intended. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Manos Pitsidianakis Reviewed-by: Richard Henderson --- accel/kvm/kvm-all.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 96f90ebb240..f4f0e64fbd0 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -3178,16 +3178,12 @@ void kvm_flush_coalesced_mmio_buffer(void) struct kvm_coalesced_mmio_ring *ring =3D s->coalesced_mmio_ring; while (ring->first !=3D ring->last) { struct kvm_coalesced_mmio *ent; + const AddressSpace *as; =20 ent =3D &ring->coalesced_mmio[ring->first]; - - if (ent->pio =3D=3D 1) { - address_space_write(&address_space_io, ent->phys_addr, - MEMTXATTRS_UNSPECIFIED, ent->data, - ent->len); - } else { - cpu_physical_memory_write(ent->phys_addr, ent->data, ent->= len); - } + as =3D ent->pio =3D=3D 1 ? &address_space_io : &address_space_= memory; + address_space_write(as, ent->phys_addr, MEMTXATTRS_UNSPECIFIED, + ent->data, ent->len); smp_wmb(); ring->first =3D (ring->first + 1) % KVM_COALESCED_MMIO_MAX; } --=20 2.53.0 From nobody Sun Jul 26 13:29:03 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; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1781575761; cv=none; d=zohomail.com; s=zohoarc; b=jCl4rx8HfnFH4QrCbVnlAppkzR9UcQ5XrTfJmp/QUtZ2/xU53gDycSNfGUric1m9XpOe8VA+yY0KGvmKhAs3wa+JzuPWxxcARC5vlehJKYgg8ARgGhFQS+iHkrJ7B+lu77JhhyuTLLS19EiGhxvlqa14H3TdyYWv9+9Qf9J7xfY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781575761; 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=qxk8ZzgRES9H1XsrKYAF1amL1Am29zKlR+7mPYy2TJU=; b=P6uthEMdYPDo902io9kYlkPpCFFWRUYfl79jHntuTn8SfrSQl8beYy+4pZomHZtpcP+hd1l8yqZGJqiNiHjFyII1kc82zPh0mBKKGl8hlhAz9PJddl+6DaJ7x/YqMJRssckShTU8PKUSYczFaeQlF2aTb3JE0QPe9a1e7x6ZwYo= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781575761148517.8537276733139; Mon, 15 Jun 2026 19:09:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZJEh-0001UN-5J; Mon, 15 Jun 2026 22:09:07 -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 1wZJEf-0001Rl-Dh for qemu-devel@nongnu.org; Mon, 15 Jun 2026 22:09:05 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZJEd-0000xb-TK for qemu-devel@nongnu.org; Mon, 15 Jun 2026 22:09:05 -0400 Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65G1xtg52122142 for ; Tue, 16 Jun 2026 02:09:03 GMT Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4etevx43py-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 16 Jun 2026 02:09:02 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-9156cb14b1cso388926485a.1 for ; Mon, 15 Jun 2026 19:09:02 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-490ea4b39e9sm241117805e9.0.2026.06.15.19.09.00 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 15 Jun 2026 19:09:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= qxk8ZzgRES9H1XsrKYAF1amL1Am29zKlR+7mPYy2TJU=; b=hKVaH/04Rk8+VBb6 wB6MQOxEWcRuko82Cwxm1+zNa6QSIB2J7I8YeDv2Q5Xo3qsIAsGz3FyrTfgXFXlL BrPUvfia+TKYop+fACZ9XTLyAkhsWSvwff7jdqlUUOdzIUN+nYKZmeg4rejufwlT TdLQ6VAppBvq8Jg1dkePDXCOkPJhc8djug/upH/FKIT6Q7gucoF8fSEbNwKyYG+d oiXkC6Q5PQKS2lWvKnw4lgdJt8JJEXHdUgaawYvku2jMnvcRi6Rv65R5Dv/11TZE /o/uyn+JkUgu5eluVtG65JpdHTK5eNcJzUAav0Xn1QmQnm5AV53EtJ0Fv7PdMmgQ NmgeWg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781575742; x=1782180542; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=qxk8ZzgRES9H1XsrKYAF1amL1Am29zKlR+7mPYy2TJU=; b=dmL2IU51WmPFQ/AJcAOdVwFcfJaMEF4PbM+gH8JjYFXahIZJ/3Pt9ZdOht+IYb9Tb+ isxLIKcWPZsrjUBq8/wEB9S00URrw169Pi8b8tWF5qNMlIbnq155cvLtW+zWXRqQb8Ws mNj2ZbZNvOhmEXwvyRBPj5ziiRmXof+ismivVqEzd8RzNprxZdXQTMb4FqQx65PvlLr+ eZsIhtmhcb6DntFGWT2ygcUyyZ5wNh+XHpSXDEOECioou3eL93Q4c+OWRLCCtfnofqMK w6mAc65qqel93q+37PW4WWT9PrKLL17BwCo6ywcEJHayKWFwDQMIdKckRqzyc9WL1Wfp 4e0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781575742; x=1782180542; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=qxk8ZzgRES9H1XsrKYAF1amL1Am29zKlR+7mPYy2TJU=; b=f2RCFfX5U9f6gP/PDlf5UbZlu1I+ofD1GHQ2QF2B5bIz8liCa/iBJf+Uu+jenY38Y9 ovUlyNdExTe2ZAAwWCeqzyl5vobCCGj2EqZ3Vd3VTngoiwSjIGmnRAiNy90J+g/DM1SX N219vWoSC0cnhFVEGHnLnJlK/EV3laPONwBqb7L95c/1BjLzlYU/nQ0fBahrlRfxsOlc Unq/pffGSlT33wRJ4bLoWbO6gc9uirEdb5lNI3rJaJY4byI/TE+l/QSuswk5sVIL40Gd g5uD2phS9ISw0Msi/eqrHWI1KTgMp1lMlCvBG5VUOo6CZmzOzQYti9dngwgnsteZSTBR 3vDQ== X-Gm-Message-State: AOJu0YyvGJt/c9iRQa5SHH2QJHl7WXG4V6+1bMtWssZKT1UQim+mLDCG Tax01Me1XegSF9z8ADrrj8tbSjL906zD0vkTKZ8GjMejFZ1R8TtnnZu3A8H9v77DlUxWQquk6O3 gn4ayPK5rRCu1uMVQpmX1djZEybNn/3CqbR96sQJeSEzyYwA8sTqU+LJZqbtg2SOlEg== X-Gm-Gg: Acq92OELT2bqogW5mAMnZPKpj5JgjRszFsAOoPCjsP7URrcXu8jZmat7MT9aE7lU7jD GSkb/ynKJGROGUbhDUsNvsp+cg4cvRrSILlYgmCuhdWedso4yFR6zAv4cVyztjJeXFVmDFin7FC UsBFI9Ns/GmhUFtxFbRjJC6XDbYXTLkGYBDGNa0WkmgOEl/C+eSlt+y9tgaqVq7S3c0UExVIo2y McEJqBsOlsXwB+HZdwjVCyV76i+W/qcWLMPvYDpyqDHK73aQc7ZvEAl9NBYaNI+i3Q0z9lzBJ8z Gxq6Anjl7mlJ0nDyS0Ra7RFglxFbQupadTLonSFq1IRpM/NVlZJ+7KD2vUThp4OQJEvRaBdaPor vo07Qj1bo0K4hmRRx7PeseTaxZWq5RE4hLwPi1CS8p5yxSfiYWMMPXCo+P11hoacnyU8pjMRl9v i92pI= X-Received: by 2002:a05:620a:414a:b0:915:6e30:5bd8 with SMTP id af79cd13be357-917ee4d8cf8mr2117956585a.11.1781575742450; Mon, 15 Jun 2026 19:09:02 -0700 (PDT) X-Received: by 2002:a05:620a:414a:b0:915:6e30:5bd8 with SMTP id af79cd13be357-917ee4d8cf8mr2117953685a.11.1781575742032; Mon, 15 Jun 2026 19:09:02 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson Subject: [PATCH v2 3/6] gdbstub/system: Replace legacy cpu_physical_memory_read/write() calls Date: Tue, 16 Jun 2026 04:08:36 +0200 Message-ID: <20260616020839.19104-4-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260616020839.19104-1-philmd@oss.qualcomm.com> References: <20260616020839.19104-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: rsP_R4M0xwwD59qRT5nynUAz7aSRvy93 X-Proofpoint-GUID: rsP_R4M0xwwD59qRT5nynUAz7aSRvy93 X-Authority-Analysis: v=2.4 cv=f8t4wuyM c=1 sm=1 tr=0 ts=6a30b03e cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=snbnvTbt-5-dSQZ-83gA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE2MDAxOCBTYWx0ZWRfX34EZMBQmoKdn nIuIjon2fl+jrZUszVZA+U5cC9O3eZdS5+3A/VuHSmMpaqPjYJ6enpbt68/UR9bUO43QeYiGBso FogNbxcE+hdAVgM06FTwp9sgnK8ir2Y= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE2MDAxOCBTYWx0ZWRfX+fZHFDO9sak4 vNALNMhPX3ZF1zIplvQGsa14VmekZxXTymZlAO6H5NLi5F4lf6aOCkuUZ9CN8T76iNC0jUeuoU+ NIp3dxLPXfJ6/9EADqBgStGVi40NKvMkRzN3lR5GkgIFHZtToXlbFIqYk6WWybakg0OAZ4nKE6Y mvMx0GcCmNf/Z92brrEYqQyIe7+Twzm37udqbvMPNWF7OqDerZsxP/nXBiPcTM3BN6UGZ7i/7Ol ijkNW4sXQP86yEGvFU/6T9m7s3zCzXZOx0L6zUR+TaoXEfuAPk2Fxj6q7dhsUvzQMspiaugaivV cboPlGtcaOb2AFn13HzVmPZ+4N4yxH92g0nK5ltrs2tuctr9tUaR8wmjbDrneWtG7SyP3HBxl+A 1AuA0nd3OEJ/xn7RphBhGibC5on6TZwjZ0YNzg2Tcq/ZYVDqpgSn0lkzD98OLNm90yYXbMVUZeH u8ey7shpTmKlnW4MTsg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-16_01,2026-06-15_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 bulkscore=0 lowpriorityscore=0 phishscore=0 adultscore=0 clxscore=1015 spamscore=0 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606040000 definitions=main-2606160018 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.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, 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 @qualcomm.com) X-ZM-MESSAGEID: 1781575762745158500 cpu_physical_memory_read() and cpu_physical_memory_write() are legacy (see commit b7ecba0f6f6), replace the two calls by a single one to address_space_rw(). So far there is no logical change, but stop ignoring these functions returned value and propagate it, respecting the *memory_rw_debug() family error path. Thus this is effectively a logical change. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- gdbstub/system.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/gdbstub/system.c b/gdbstub/system.c index e86c5870abc..2063b63b2f8 100644 --- a/gdbstub/system.c +++ b/gdbstub/system.c @@ -20,6 +20,7 @@ #include "exec/hwaddr.h" #include "accel/accel-ops.h" #include "accel/accel-cpu-ops.h" +#include "system/address-spaces.h" #include "system/cpus.h" #include "system/runstate.h" #include "system/replay.h" @@ -453,12 +454,10 @@ int gdb_target_memory_rw_debug(CPUState *cpu, hwaddr = addr, uint8_t *buf, int len, bool is_write) { if (phy_memory_mode) { - if (is_write) { - cpu_physical_memory_write(addr, buf, len); - } else { - cpu_physical_memory_read(addr, buf, len); - } - return 0; + MemTxResult res =3D address_space_rw(&address_space_memory, addr, + MEMTXATTRS_UNSPECIFIED, buf, le= n, + is_write); + return res =3D=3D MEMTX_OK ? 0 : -1; } =20 if (cpu->cc->memory_rw_debug) { --=20 2.53.0 From nobody Sun Jul 26 13:29:03 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; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1781575773; cv=none; d=zohomail.com; s=zohoarc; b=kMNG/GlTnKiwIuCmqjCP6+N1wJ7mPJnp86T4sh/MnJO//wyYT6UUFbg4JNs9Y5TO1fQO1WAFVNgNzpcztyq55R+ZohhdK3SI3YHd5dtdt+qfL+jshJ0f5dCy1ThVJlguabbV3y3/LOmLJutea2kvgDDBUgIgBO6SXU1eZ+dvyFM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781575773; 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=l6rA47rYC3d0EmECbWkz3hngfiJ6ms7dhG+I9P8sgNY=; b=CgHi5KH/yiAdeiUkIOYD6kdkbKgHYfr/prB+HhD9Sja/31FSqOShNbFW3XZoe7aTpAME2MJ3mIVQ2o14aQpEfaZbL5Bm2QjBnKYHmrOUYUzCWl0kJm+Jtw/VY7gP0DoSLh0PKP1MhxIY+Zr6pGlS79VcR6P6jkVy2jfo1O12VVk= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781575773751984.3205913738568; Mon, 15 Jun 2026 19:09:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZJEp-0001rT-My; Mon, 15 Jun 2026 22:09: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 1wZJEn-0001nM-6m for qemu-devel@nongnu.org; Mon, 15 Jun 2026 22:09:13 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZJEl-00011o-EI for qemu-devel@nongnu.org; Mon, 15 Jun 2026 22:09:12 -0400 Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65G1xkfc2271219 for ; Tue, 16 Jun 2026 02:09:10 GMT Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4eteguv5jh-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 16 Jun 2026 02:09:10 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-915f7bd027eso1062056185a.0 for ; Mon, 15 Jun 2026 19:09:10 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4606f2e592csm42686174f8f.36.2026.06.15.19.09.07 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 15 Jun 2026 19:09:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= l6rA47rYC3d0EmECbWkz3hngfiJ6ms7dhG+I9P8sgNY=; b=QE0HV6hEOAxhAwp4 erpR3mipF3Vjts07d0htZ1E7W7e46DtaFarXyfVlJiok3kuZ/PoMjsy1kxi6+okU EZ11I3RcUwKtsmALulOxod0DrwtbWsP6OXWdmkzPVA1S2R/az0t49rPW02wM+M4X x+StPhAOJAP4w866NhdYtBwu4eSvuKNUvGvQ1RmCkMSnQHrMImwb6rtv29UHTWkv jqFjcHOMtOhGLwn0W16bXVPG9jE66UtUVPdpBJ8Y9xo9hQlJSn5LpHTo4uvnwh+S W+TZLlRXVB4I92gKAjixwrlW8UGLfKevLS2qFgLwgcueJvwhLDq9eG0nKk9/ojdR gLJINQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781575750; x=1782180550; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=l6rA47rYC3d0EmECbWkz3hngfiJ6ms7dhG+I9P8sgNY=; b=dlmUQU5JWI8XPpMk2Ut/iARhuahfjW4eDkw9TlaDhvBJwCxQePlwn4FM+GpKLL7cHp knebJQJdILF5Iep+9aDUD88+wtKnzCtVoPh35Li8tZ/NzWivoFUw7pcgPxqplfZsb+zF lRSHcyRigoAyxxSDe+ZCF1ZinaLcLHoJIfRly0JHoiVVpfgjdfsIri/w7oBzfexno1aO kXzxzyIqoI2vLuJEz0SFPcQAdqeWcBiqTvEZi6U2S0NNPy9btn/+YuUwlMFBvdfFkr/X VNypmBGVAyoCenGikHImTkdYh7p1q1HJtnCWeNmMINx2TtH2Kn4hA8FbnMRG5FuwqVxp mN+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781575750; x=1782180550; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=l6rA47rYC3d0EmECbWkz3hngfiJ6ms7dhG+I9P8sgNY=; b=UNZrrRervkvGEUYkjSyTg5ZTgvmvEzDCAlCq2xvd9wmXqliv4sIW6JtrDPZJEGr6v8 mF2KIIUtIei+rcBmbGbzwUSx5Gn22xtyVb2QZDO7niI7p4bS+5/U/D6g02szEMpqOPjB 6ZIsx69tnj9ynSCBEdu+CGba7I0RteQYnT1jU/O+0NW76DdLWU0/FULDss//9i8xJdtA DgkYz3aNSQO/11Ny0q6lEF4/VZ7Noh+f+gO2Q6lMqELhRxJQqIxd/4sCQnT2EoRhztvi kziGO2v2/pyaVNS6CZ7Iitkh/bBSqKLJzLfDpgy+vaLPlCo22n2YQWd2ILTqsaukllBY k2FQ== X-Gm-Message-State: AOJu0YxiroHr84CzMZ3SWzxukfGX87SRgJYMCuyQVRwH70iX3nfDkuLc 7bLMKzD/Z5J/TJfy7MdUvJsaocPNEo8gl0phBS6PgsG1IYxMHlaB4gvxuP2IS2R+/A9Ed7tLfGC TG7QURAF4mdu00XY3Xvbb8g0uDUYjzee71VE8bJGzIDJWthSqmNRBk5lsSgab4IHsjA== X-Gm-Gg: Acq92OFbvrz0BRuWNuRpQJOlhtbDXFpAhZKP09ubm74tbA6BmgJKoZEOwTP8BP2u1Io /yns0f1nvejaygSIu0vh1OXFMNBXxrT54oOYDP/h2EKdDiSK5prGF+6KhoK6m7XrkPEgWzYHQwW 9DuKSbi2j/VJE96G2TAVQM6q/ldBBIsplDuCUyNgINl6znYsQk2zPDlmaCslW+FkIfcgiEE1grb 55iDHubU/02fu945S9rossq3nts6mRrkbPgxe7MoE4/KjrBq5PsQbj3+8f+fJMHZgIu/tloi+l7 Mofj3TmJ+EKrgkFHgaA7dYIDtgU+c+nDm8mnoIE28Psu2g8EpoL+qSfJPx0OEpdQEvRy5tu1jeA ry2amwf62yT9OoI/n2CmrnYXTSpLvk5YsKR4HCfXB+f54aDWFoXcc6XzbP65w3RjSgxmKWoUTv0 /ynvs= X-Received: by 2002:a05:620a:1986:b0:915:4211:baa1 with SMTP id af79cd13be357-917f1f49bd0mr2178807985a.33.1781575749917; Mon, 15 Jun 2026 19:09:09 -0700 (PDT) X-Received: by 2002:a05:620a:1986:b0:915:4211:baa1 with SMTP id af79cd13be357-917f1f49bd0mr2178805685a.33.1781575749557; Mon, 15 Jun 2026 19:09:09 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson Subject: [PATCH v2 4/6] target/s390x: Factor common s390_ipl_read/write() helpers Date: Tue, 16 Jun 2026 04:08:37 +0200 Message-ID: <20260616020839.19104-5-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260616020839.19104-1-philmd@oss.qualcomm.com> References: <20260616020839.19104-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE2MDAxOCBTYWx0ZWRfX7JGYkkahPWfT 2Odslh2kGRorhtRNjvFLJkNRXl4orzwiUUficLIednejlMVD+N9/owglyk7Nu7JUinI61jtoJhB 8fmXcuqhp6lw2WfIHxgan4gQLIPuBnda2CkMUlLIbLj77pfCevZ6qN2nwfARfvHFwnLdQM5FbFr d2+oHNxUKesRPsJ3OH5iF1mwqPxo9hm5a+n9bGabo1KeU4KgpIoYBix3P2bjAFGmKcxYOYwVJGu DX5L35VuDaymD11fs/bAR4SwyNtAxIjNPy7wsMsfZoXYju9ds79PCRVMbq0Vn84S/b5hLUqwPFm FC/avzqPct26xin23gGOazk2O1mryGvB/LwTnX42m2EDUtbHp9+tyq4sVRF8N9+QGFE8TnvRJzv 0OO7KwUE5JOI9qaGFe9wzrcKZuK+mXhMgPOV4bNJdJ3i9vU5Kxt+PW2Pc290QljL0bSJ/wAdijn B3iYxENjXTL3O/M1LPQ== X-Proofpoint-ORIG-GUID: j7IAVkZtabyHAdy-E8T5b56TS5curZU5 X-Authority-Analysis: v=2.4 cv=HMvz0Itv c=1 sm=1 tr=0 ts=6a30b046 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=yJueZXV2tivX90BAKnoA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE2MDAxOCBTYWx0ZWRfX17+hICHYjlqO ak588Wnyy05yoRJqyo4IOtuLRAV0JazjvYmTzMLn1tpiq4yyQ0f7bueLL4jpYa1P2w/r2E26nZG TAgpE3BHOIPKav90N3kk89n61NCyw9E= X-Proofpoint-GUID: j7IAVkZtabyHAdy-E8T5b56TS5curZU5 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-16_01,2026-06-15_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 clxscore=1015 spamscore=0 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 adultscore=0 priorityscore=1501 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606040000 definitions=main-2606160018 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.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, 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 @qualcomm.com) X-ZM-MESSAGEID: 1781575774542158500 From: Philippe Mathieu-Daud=C3=A9 Prevent duplication factoring common helpers. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/s390x/diag.c | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/target/s390x/diag.c b/target/s390x/diag.c index da44b0133ed..bc1791067d8 100644 --- a/target/s390x/diag.c +++ b/target/s390x/diag.c @@ -73,11 +73,30 @@ static int diag308_parm_check(CPUS390XState *env, uint6= 4_t r1, uint64_t addr, return 0; } =20 +static void s390_ipl_read(CPUS390XState *env, uint64_t addr, + IplParameterBlock *iplb, size_t size) +{ + if (s390_is_pv()) { + s390_cpu_pv_mem_read(env_archcpu(env), 0, iplb, size); + } else { + cpu_physical_memory_read(addr, iplb, size); + } +} + +static void s390_ipl_write(CPUS390XState *env, uint64_t addr, + IplParameterBlock *iplb, size_t size) +{ + if (s390_is_pv()) { + s390_cpu_pv_mem_write(env_archcpu(env), 0, iplb, size); + } else { + cpu_physical_memory_write(addr, iplb, size); + } +} + void handle_diag_308(CPUS390XState *env, uint64_t r1, uint64_t r3, uintptr= _t ra) { bool valid; CPUState *cs =3D env_cpu(env); - S390CPU *cpu =3D env_archcpu(env); uint64_t addr =3D env->regs[r1]; uint64_t subcode =3D env->regs[r3]; IplParameterBlock *iplb; @@ -114,22 +133,12 @@ void handle_diag_308(CPUS390XState *env, uint64_t r1,= uint64_t r3, uintptr_t ra) return; } iplb =3D g_new0(IplParameterBlock, 1); - if (!s390_is_pv()) { - cpu_physical_memory_read(addr, iplb, sizeof(iplb->len)); - } else { - s390_cpu_pv_mem_read(cpu, 0, iplb, sizeof(iplb->len)); - } - + s390_ipl_read(env, addr, iplb, sizeof(iplb->len)); if (!iplb_valid_len(iplb)) { env->regs[r1 + 1] =3D DIAG_308_RC_INVALID; goto out; } - - if (!s390_is_pv()) { - cpu_physical_memory_read(addr, iplb, be32_to_cpu(iplb->len)); - } else { - s390_cpu_pv_mem_read(cpu, 0, iplb, be32_to_cpu(iplb->len)); - } + s390_ipl_read(env, addr, iplb, be32_to_cpu(iplb->len)); =20 valid =3D subcode =3D=3D DIAG308_PV_SET ? iplb_valid_pv(iplb) : ip= lb_valid(iplb); if (!valid) { @@ -164,11 +173,7 @@ out: return; } =20 - if (!s390_is_pv()) { - cpu_physical_memory_write(addr, iplb, be32_to_cpu(iplb->len)); - } else { - s390_cpu_pv_mem_write(cpu, 0, iplb, be32_to_cpu(iplb->len)); - } + s390_ipl_write(env, addr, iplb, be32_to_cpu(iplb->len)); env->regs[r1 + 1] =3D DIAG_308_RC_OK; return; case DIAG308_PV_START: --=20 2.53.0 From nobody Sun Jul 26 13:29:03 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; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1781575776; cv=none; d=zohomail.com; s=zohoarc; b=i2HZXs+LmVM2kc77xItwChDb0j0aJZyeaJkffkQmQbpC2mlYPAF3AD0AToBXu+FZN7UbHLuXQriCJfZYMUIC6bD/YdagB6jWib2F792kgpKCR5Ff++3f2bbCBKD/5Fnry0BqCXoZRxUJ0QBMbiZvFSb8mOaTtCn01hC+yi8O4Ec= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781575776; 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=1t1sMzSJShcgimWXhe+/gljdGKZWnvFZP0KWZT1sANs=; b=ma5ZhjgRArNPnlwKuQNhRf83Z+eoDxyzyfOgwyjgC3ct9oJoIkdFd8vPxK6cEJRWMPgcQA6ZV/wM1aCX0kYnhIGnUJ2jOl/ECE1Wiyt5iim96p0r1yoDDxVZkaIv6r3ZqqvuEMhVz2ZJgbZ0nxCO0fhDUtlWK1/WK5ZtXFoUA10= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178157577688442.900609476978616; Mon, 15 Jun 2026 19:09:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZJEy-0002SN-9Y; Mon, 15 Jun 2026 22:09: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 1wZJEv-0002LL-UN for qemu-devel@nongnu.org; Mon, 15 Jun 2026 22:09:21 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZJEu-000137-6Z for qemu-devel@nongnu.org; Mon, 15 Jun 2026 22:09:21 -0400 Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65G20GXA1801116 for ; Tue, 16 Jun 2026 02:09:18 GMT Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4etfa742d1-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 16 Jun 2026 02:09:18 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-519899abab8so12301131cf.2 for ; Mon, 15 Jun 2026 19:09:18 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4922fa97a07sm66214615e9.14.2026.06.15.19.09.15 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 15 Jun 2026 19:09:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 1t1sMzSJShcgimWXhe+/gljdGKZWnvFZP0KWZT1sANs=; b=K4uONjuWIFYMC82k 6rXw5wnZlbY5QR6kpTv21HBvu7LtarPh5SERVR+bVL2tefFU5qn6y72fciyZG5ut c7HDXbRDauqQ3b21a/0SRGcmxYnnFRie0BfwDHXMv3LCIwJFl1lDEN6a+b1TprcF weQjfZ65ZDRd6xSfPFRZ+M6VkDWK1OoOiUz7ucjoFYPXadnA3cYz8+vMneXgRWbE cJuAgoY/d0dy9+bFJ0CtJWjE+mNCvbHpTYte5BDzkeOCIGNn+olRVSoygkh8pDdb M8E003COi4pPEq1Aoc4xqGQ3lm1BfOtDcuCNbM743VbQYdeM5uAEX37IRurUCNoA 6xn2ww== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781575757; x=1782180557; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1t1sMzSJShcgimWXhe+/gljdGKZWnvFZP0KWZT1sANs=; b=cMwSacBPxgTk+CNcO3o9IFBRpomM+6rzZE7BBmushCPN28vZ8NM7OhR0c9uuJbQSD5 yl3n0Z5Bo4MnclMxvd2/7W2i4fX96KRw5DKjFH6TeXjJwWfj5cdM8NYvGYUppnLv8n8U GIULORnMVDeEigeWDidmPE0MMsXLsQva+WyUQfdOF2PObIftiUtbhd8JIhMNtDwApsfr IY9LQ6F9BpXhB5vVRp6fi08S1IA6fouCVp88YvRlsqHg5AF0evxGUb8xocctjqiFBKrd n5lV0YOIRJlEUVorhaNcpvvjcd4UD7AiJSZxjy6ro2ouYfCHLclCuXPkgKerrkyUSuuA vS1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781575757; x=1782180557; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=1t1sMzSJShcgimWXhe+/gljdGKZWnvFZP0KWZT1sANs=; b=DJUHaH8btoPoNtfcr/dJ5tMPrJBAuXr6qSBbHnhqyLmasfQAzvas4vSeOUH5HtAPhd 9QrLw/FzWzV8F6B0pM8oBij2C8yXYGd2aTWLBkYOJs3SHprm+XK1dUr5PouNa6RTcPcS q9hBlHo3tsj8874PgiUuRkQmSo4POBHLRMuzf43va2oukK5dPsWAzIGh29rCf53h1esQ tiFElO9LxQiwjiiOV7Nvx8VPVFd4hP7A0fG/XTeltyKwVf9jcYeWt2/FK8DFa+YExW6G 2s+8MPRp9sN3PLmBVysjn8qNPIlt3oR0K97gG+st08znEWsK21hNFiUmgsU8R/ubpINs O/sg== X-Gm-Message-State: AOJu0YwO4CzIoNlTOEvSP7g+70KeRRmHELAAtyYg7GiqIMGolybQqJyR t+NXPC5BMoGTCN7tQmag06OOZD48cLw7CG0VnKOK23CAHoEw0b8KtvqxHF0j8KLVoE39Qace+gn FXy88FfHKPvoX26hC8crB6wwsNRo9FiIKNM+WpLJAghBMBdz690YHnXc5dnzTOys31w== X-Gm-Gg: Acq92OFYhgWcRrlMaiLBiiF6Ihz/xVYvnAvyq/Rr/5n11qeydqj790pqp38oDswqCYv FvU//gsVD3ZBcHwfAoG448xv+t45YEPh3AKdXh75ymKPLz2E3NB/eJ2v2wIcbQTLO24VbaQhxFP E8Lfq0l1CrSmYsoIcM1UBGDwp3jBYQUNEiTeR8L75OqyU1v2sr6lvJYHiBLMb8zUnG4NrjoE1WJ NYpvI+YVFGi4pGtK6RKczo7OLukrZ4+EvJoxnn7AUuYM/vBbSmoJ4WPVP52duLUm+I1T4jVHUWM yIB30I636Vyqy2We458BZr+sLXmwgflQ7Q2av0biWkZCiHcEbauSnw9LowlavaBbRx8v9E2likh BKfZzRBuvTqJ09x3nBgs/nRp9L1/jvWGp/WhWiy9Zhyc02wkEAKg5E1sV/Fdz2JXh+WbYoZGMKA fZSXg= X-Received: by 2002:a05:620a:2b4c:b0:911:9e67:44cb with SMTP id af79cd13be357-9161bf512f4mr2449555485a.38.1781575757327; Mon, 15 Jun 2026 19:09:17 -0700 (PDT) X-Received: by 2002:a05:620a:2b4c:b0:911:9e67:44cb with SMTP id af79cd13be357-9161bf512f4mr2449552985a.38.1781575756889; Mon, 15 Jun 2026 19:09:16 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson Subject: [PATCH v2 5/6] target/s390x: Replace legacy cpu_physical_memory_read/write() calls Date: Tue, 16 Jun 2026 04:08:38 +0200 Message-ID: <20260616020839.19104-6-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260616020839.19104-1-philmd@oss.qualcomm.com> References: <20260616020839.19104-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: rRNL0TrRKBRAxgpZrhe0tR534Km0JZaR X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE2MDAxOCBTYWx0ZWRfX02UtwKFXRoEk V80qFZGSBLZJsTFNudy3AjKm3Ss/FIIcjb+hByUBE/9b3OBaL2RUzOTlMR5UQKZd7my0eBlbEX2 gyiFx2+nTTyy8h6d+Z6qeLtxtmXfYJc= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE2MDAxOCBTYWx0ZWRfXysMO3XSUsvtk LbYgRSDHHNbGGlV5gKdxKXSFJRUFEirRmlIVNyLJ3YleyrZFceTbgu0Nb+DX6ym8/gfE33HHA6n GYHHFO764QoFG9sghNSmXmnalxi8G88ABUwTMWJu754NmcOws/Z1FvlZccq79YAMpYemK+IMmTe RO2ZqwBNzJIBsQH/l3kAHD8vYKlmf2bzqJCumF8AzyZPiQuFgLLIGDprVF1rO07RMqVDKlzrqfT ZlfeyHwoe8bM7E00ZBpcz2+la/b4TK/ywLWiPsE0eh1yHgAXCqWv4X3oFiQxZRJrarcR8iRArzQ i3sksl+YXHk2/0AF0D8Co3gDbVLpibGmNlayWVVQOERGW3AWZ5MKLy25bU5EqUgntRbaT7EFGQO n7xKVZhjBiE8HaAUWOlfysNoeK2GhEJlQXIwPAj/JUBvzR+hZA7HnBhBcu8iNeK4EwmKytVL+9H nQJVe8pUnXYQN3IiDZA== X-Proofpoint-GUID: rRNL0TrRKBRAxgpZrhe0tR534Km0JZaR X-Authority-Analysis: v=2.4 cv=AN2yTM5Z c=1 sm=1 tr=0 ts=6a30b04e cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=wtMswhJjl9DcAQxfHdQA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-16_01,2026-06-15_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 phishscore=0 adultscore=0 malwarescore=0 clxscore=1015 suspectscore=0 lowpriorityscore=0 bulkscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606040000 definitions=main-2606160018 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.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, 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 @qualcomm.com) X-ZM-MESSAGEID: 1781575778583158500 From: Philippe Mathieu-Daud=C3=A9 cpu_physical_memory_read() and cpu_physical_memory_write() are legacy (see commit b7ecba0f6f6), replace by address_space_read() and address_space_write() respectively, accessing the per-vCPU address space instead of the global &address_space_memory one. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/s390x/diag.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/target/s390x/diag.c b/target/s390x/diag.c index bc1791067d8..01cc802eaed 100644 --- a/target/s390x/diag.c +++ b/target/s390x/diag.c @@ -79,7 +79,8 @@ static void s390_ipl_read(CPUS390XState *env, uint64_t ad= dr, if (s390_is_pv()) { s390_cpu_pv_mem_read(env_archcpu(env), 0, iplb, size); } else { - cpu_physical_memory_read(addr, iplb, size); + address_space_read(cpu_get_address_space(env_cpu(env), 0), addr, + MEMTXATTRS_UNSPECIFIED, iplb, size); } } =20 @@ -89,7 +90,8 @@ static void s390_ipl_write(CPUS390XState *env, uint64_t a= ddr, if (s390_is_pv()) { s390_cpu_pv_mem_write(env_archcpu(env), 0, iplb, size); } else { - cpu_physical_memory_write(addr, iplb, size); + address_space_write(cpu_get_address_space(env_cpu(env), 0), addr, + MEMTXATTRS_UNSPECIFIED, iplb, size); } } =20 --=20 2.53.0 From nobody Sun Jul 26 13:29:03 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; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1781575782; cv=none; d=zohomail.com; s=zohoarc; b=mOt8cf+sOPAoYUZ+s6Puh3b+B6AcNuPxQb5yJXXmnX0QNQTwpI9F4diAEPkVoDIuoI+pt3Jx5TMIeAf5wxhlnLBKZmTZpxZ77/jHTJYvIxoK2GPji4LRmdKyvf0w2obXF+JnC+iQtepCVHPfJSPGQwY5vAhpeOSAeIf6ohmECIA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781575782; 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=kqvbjjepuMqHSktYlxR+doQhhf8h0oXrAzTUYkTtIgc=; b=AQx67p+KfLXBrhz/MY0TVCOvMbgYK2gcit9OeIU/F+1a+7ZoRX4z/0Wl+xFpZtsT9qkzvhvzdvqrf9lPuSvrz3PjHhD+BD4HQwwyiuZSs5YUjjSHQYothDMUvWjWPSeP79kHb0pPHddOy2+/D40C2MG8mpk7Mj0+8BAsO6xeUps= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781575782147663.9433217899189; Mon, 15 Jun 2026 19:09:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZJF9-00030g-8k; Mon, 15 Jun 2026 22:09:35 -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 1wZJF7-0002uF-HX for qemu-devel@nongnu.org; Mon, 15 Jun 2026 22:09:33 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZJF2-000144-AZ for qemu-devel@nongnu.org; Mon, 15 Jun 2026 22:09:33 -0400 Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65G1xfmV2361739 for ; Tue, 16 Jun 2026 02:09:27 GMT Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4etd2ccnbe-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 16 Jun 2026 02:09:27 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-915b9dd020cso1031735285a.3 for ; Mon, 15 Jun 2026 19:09:27 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4922fa3a8efsm38605055e9.2.2026.06.15.19.09.22 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 15 Jun 2026 19:09:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= kqvbjjepuMqHSktYlxR+doQhhf8h0oXrAzTUYkTtIgc=; b=m5OS1C6ern7T8vDe DhVElzxHabVXlgh5gP/BbgBRfV3gWXAyZzmnbXd3Rps6kXEny88A0uDWB14MleJO yBvo3mKnAkENXh55BahVorfGLIXDMJvVj9wVzbNTAAEOtHACBrYw5oAfuvH/it/m DxDdk/gYNiUMOfwthd3V1jTh7Ha0Qgc/Si2MJFZp4L+I7wb61qn4ircQvry81sX5 c5VOH+ik04+T7FA5ACsonRBYACvQQhV8n7Zfd3cYwE59EwRib3bXkhPCLviotfC8 pGuZzb77+5DGoLfHIYKVJaMBGtJjUAdWx6m4mK4uwgiSe4sro9gvZAcXLR9x/yx1 t9SSaA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781575766; x=1782180566; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=kqvbjjepuMqHSktYlxR+doQhhf8h0oXrAzTUYkTtIgc=; b=PrVTXbfovg3m1rVIuZ8x2rXkkhc/okmat9rzXgsLN02UcU5JGM01sYu71WAJ1JCHxE Usa7zTvyTGDYcQ5if9hGYf6Rgc3hGMS2Ecv3vyI0iYKOFaO0wbmLYJE9ebav+SDlnQFv Bdx3hG6KiLuh2GJg36BlFoae9X+mEHd6yTc+TRDwg2H3B49nlV+Yl8U9CFVQID3gfcVl z4VrH+sHgAWSO6S/GDn68UUjDlIBWntu1QiBkwuWMpymdZPzNWVhA2gfcqOCGdLpWQIb EjMw9Y/787MnhNPZjOQ7MCIjb1VdHahzmULOY9mpLnc/vIBvciXU7HWl/WzP/oo05m6v TMXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781575766; x=1782180566; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=kqvbjjepuMqHSktYlxR+doQhhf8h0oXrAzTUYkTtIgc=; b=Ij8tS0zXW6PkcVoA6BK/HI/gxH4dtv/czn8yGKviKQNzvx1E6E1tc2AwpH0YDBmxVL H4SDOy8sugA5aVbn28Pbav9IGbgVIBHWtBmZf3yOk7mPiOfUkj3mPybdSZsjiJd1h+O4 vEsYOmvQ12jOE01gG0I8Mj/jvdlmvkf/C/iQ1ZBCHks8SKDPdNqfU+XPM//TGa0zyEpa aRQJEtVnVWrvX7CsxmmPA+xupVweZigEYvfETYMsiZfvpK/5lNYXbiksznwI9MFKFxuK OKYBqP2MWIzNMucGE5oGJ7S22EANhbBiq2PA/OtT6UWBsvcvaTZcoqDKaLCAvAOSbbjg Cohg== X-Gm-Message-State: AOJu0YwjseuFjeVM7GL9jSiaHIeHUe7V3aKmnwQv08yA2QFRamH5NX48 QR1brnQcUbWBENKhfJNWhSmrOyfKQ5z+norpSE2DeAu2S4JVznpx6FmBGLbHsveINcgpu7xiXUY QoVhyFUu72ipPf0kB8MbdOSZo2WEWRFnMYNlzsNBg4/3+cXBlT95i6nPSkJSMskkzUw== X-Gm-Gg: Acq92OF+RfurV8YBT8rL5XM68lKsfDmIz71BAU249yODA1GaYymvXPrwuw9hVRaXuQj WygfoJXhsgDuD0zQJPoBccOY4iUsiCDhShi7yZJJandbFlPCU8eTpwzf91wmlPQ56E+4zxSezhn LuU2N1GvJ0hsQL8U+/Z37T+VpbyDiMPeLMghSunxQKPaWvMHxOHCri2sFC6FLyT/1PX8Fxi4G82 wH/b6ozp3H+BOiHidF3mIFiGNBNtIoYrvw7qGhwoWFkMkgyHaDzrCg0eFI3ap+LNHzKVyzSnoUb OPqb9ijx3i1tTwEL4rn/DOxgBy1ZfUztJQk1E39GuVEXK5pcvX/BrlrVqS8MYcteIp9BvgFznwV eH1DwMZtCf4ok4cS1X9tMZagWzunFsG/7qzCLGUmsWiVU8X98Ym4C8drdBghmkRRAz5Mc2qpCva DkB+Q= X-Received: by 2002:a05:620a:29c4:b0:915:c271:f91c with SMTP id af79cd13be357-917eefc24b9mr2071348685a.5.1781575765384; Mon, 15 Jun 2026 19:09:25 -0700 (PDT) X-Received: by 2002:a05:620a:29c4:b0:915:c271:f91c with SMTP id af79cd13be357-917eefc24b9mr2071341885a.5.1781575763974; Mon, 15 Jun 2026 19:09:23 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , Paolo Bonzini , Richard Henderson Subject: [PATCH v2 6/6] system: Move cpu_physical_memory_*() declarations to 'system/physmem.h' Date: Tue, 16 Jun 2026 04:08:39 +0200 Message-ID: <20260616020839.19104-7-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260616020839.19104-1-philmd@oss.qualcomm.com> References: <20260616020839.19104-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE2MDAxOCBTYWx0ZWRfXw1WQjwMBjaYX tpXMxqCaDnUw7RAHj93u9ac6CEaI44np9Z8ZY/3wb5Mf9D8m30T2v44GyD+ZTcccKxXfiRMrUVy VrV4XKHvFcK1I97bfKcbTgfZBzAQ/BMpQ74RfbZqf5CMulMCdrmruqWWSGwkA8EXLICw5YVmWe7 m1BNHwn71CbG9VbPi1CHW6T483bQE5sctNavtAwPnijQ/jgkYL9sIVvwCsqpNCV2A4LVgSsq3Lx nVZZLXAtEfd1/pQlA4O2/lESiK4ISVT91aL+gxwsl4dc1O9JDWstFKDI2cnjaVca+ATsVnsLiSL VcyqtVMMjO2EOk86DQ9hY2hHOX6xi4nSNKZcL4lMrMS2kxw2lIx9TBgAYJaceuMPu5gAG046oH1 FG9ZfKy4Eurb9BWzBQofsjEcg8e8iFy9/duZQOlm21K4AAnXCXEzaKqeoLFNPJM3okWMJb02DOc SgOIjM0VP1bRCGxwzXw== X-Proofpoint-ORIG-GUID: Z2Xj0lZX52kdck8cx4Ga3FqQhaZIPWDt X-Proofpoint-GUID: Z2Xj0lZX52kdck8cx4Ga3FqQhaZIPWDt X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE2MDAxOCBTYWx0ZWRfX5Jo0Sy3EPOdc ccvwqx3ptp4fc22Agdakv/NTCySrUjJxoN7zfYDqp737u+u3emYeGMIKQiO1bnXCXB0fNQSIT5M qvF3XIYaYx5XkndXKh7nWYBtuhRP1Ts= X-Authority-Analysis: v=2.4 cv=MsRiLWae c=1 sm=1 tr=0 ts=6a30b057 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=c3IAZYmd8EhmzQh91DwA:9 a=ebjwetguR2LeTod0:21 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-16_01,2026-06-15_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 phishscore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 adultscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606040000 definitions=main-2606160018 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.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, 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 @qualcomm.com) X-ZM-MESSAGEID: 1781575782780158500 The following cpu_physical_memory_*() methods do not involve any vCPU but only access physical memory: - cpu_physical_memory_read() - cpu_physical_memory_write() - cpu_physical_memory_map() - cpu_physical_memory_unmap() Rename them removing the 'cpu_' prefix, and move then to the "system/physmem.h" header with the other methods involved in global physical address space. Mechanical change using sed, then adding missing headers manually. No logical change intended. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- docs/devel/loads-stores.rst | 8 ++--- scripts/coccinelle/exec_rw_const.cocci | 16 ++++----- hw/xtensa/bootparam.h | 6 ++-- include/exec/cpu-common.h | 49 ------------------------- include/system/physmem.h | 50 ++++++++++++++++++++++++++ dump/dump.c | 3 +- dump/win_dump-x86.c | 5 +-- hw/acpi/ghes.c | 24 ++++++------- hw/acpi/nvdimm.c | 13 +++---- hw/acpi/vmgenid.c | 3 +- hw/audio/marvell_88w8618.c | 3 +- hw/char/riscv_htif.c | 5 +-- hw/display/exynos4210_fimd.c | 7 ++-- hw/display/omap_lcdc.c | 5 +-- hw/display/ramfb.c | 7 ++-- hw/dma/i8257.c | 9 ++--- hw/dma/omap_dma.c | 6 ++-- hw/dma/rc4030.c | 3 +- hw/dma/sifive_pdma.c | 9 ++--- hw/hyperv/hyperv.c | 25 ++++++------- hw/hyperv/syndbg.c | 13 +++---- hw/hyperv/vmbus.c | 9 ++--- hw/i386/kvm/clock.c | 3 +- hw/i386/vapic.c | 21 +++++------ hw/intc/apic.c | 3 +- hw/intc/xive2.c | 3 +- hw/m68k/next-cube.c | 3 +- hw/microblaze/boot.c | 3 +- hw/misc/pc-testdev.c | 5 +-- hw/net/fsl_etsec/rings.c | 13 +++---- hw/net/mcf_fec.c | 11 +++--- hw/net/opencores_eth.c | 9 ++--- hw/nvram/spapr_nvram.c | 9 ++--- hw/ppc/amigaone.c | 5 +-- hw/ppc/e500.c | 3 +- hw/ppc/pegasos.c | 11 +++--- hw/ppc/pnv.c | 5 +-- hw/ppc/ppc440_uc.c | 9 ++--- hw/ppc/spapr.c | 3 +- hw/ppc/spapr_drc.c | 3 +- hw/ppc/spapr_events.c | 9 ++--- hw/ppc/spapr_hcall.c | 17 ++++----- hw/ppc/spapr_rtas.c | 5 +-- hw/ppc/spapr_tpm_proxy.c | 5 +-- hw/ppc/virtex_ml507.c | 3 +- hw/s390x/css.c | 5 +-- hw/s390x/ipl.c | 9 ++--- hw/s390x/s390-pci-bus.c | 5 +-- hw/s390x/virtio-ccw.c | 5 +-- hw/scsi/vmw_pvscsi.c | 12 +++---- hw/xen/xen_pt_graphics.c | 4 +-- hw/xtensa/xtfpga.c | 5 +-- system/cpus.c | 3 +- system/physmem.c | 12 +++---- 54 files changed, 270 insertions(+), 229 deletions(-) diff --git a/docs/devel/loads-stores.rst b/docs/devel/loads-stores.rst index f2c66e44454..3aeb8bbe8ba 100644 --- a/docs/devel/loads-stores.rst +++ b/docs/devel/loads-stores.rst @@ -439,7 +439,7 @@ Regexes for git grep: - ``\`` - ``\`` =20 -``cpu_physical_memory_*`` +``physical_memory_*`` ~~~~~~~~~~~~~~~~~~~~~~~~~ =20 These are convenience functions which are identical to @@ -455,12 +455,12 @@ users are hardware device models. For new code they a= re better avoided: rather than using the system address space * some machines do not use this global address space at all =20 -``cpu_physical_memory_read`` +``physical_memory_read`` =20 -``cpu_physical_memory_write`` +``physical_memory_write`` =20 Regexes for git grep: - - ``\`` + - ``\`` =20 ``cpu_memory_rw_debug`` ~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/scripts/coccinelle/exec_rw_const.cocci b/scripts/coccinelle/ex= ec_rw_const.cocci index 4c02c94e04e..6d16db6aa4e 100644 --- a/scripts/coccinelle/exec_rw_const.cocci +++ b/scripts/coccinelle/exec_rw_const.cocci @@ -21,11 +21,11 @@ expression E1, E2, E3, E4, E5; + address_space_rw(E1, E2, E3, E4, E5, true) | =20 -- cpu_physical_memory_map(E1, E2, 0) -+ cpu_physical_memory_map(E1, E2, false) +- physical_memory_map(E1, E2, 0) ++ physical_memory_map(E1, E2, false) | -- cpu_physical_memory_map(E1, E2, 1) -+ cpu_physical_memory_map(E1, E2, true) +- physical_memory_map(E1, E2, 1) ++ physical_memory_map(E1, E2, true) ) =20 // Use address_space_write instead of casting to non-const @@ -74,11 +74,11 @@ type T; + address_space_write_rom(E1, E2, E3, E4, E5) | =20 -- cpu_physical_memory_read(E1, (T *)(E2), E3) -+ cpu_physical_memory_read(E1, E2, E3) +- physical_memory_read(E1, (T *)(E2), E3) ++ physical_memory_read(E1, E2, E3) | -- cpu_physical_memory_write(E1, (T *)(E2), E3) -+ cpu_physical_memory_write(E1, E2, E3) +- physical_memory_write(E1, (T *)(E2), E3) ++ physical_memory_write(E1, E2, E3) | =20 - dma_memory_read(E1, E2, (T *)(E3), E4) diff --git a/hw/xtensa/bootparam.h b/hw/xtensa/bootparam.h index 4418c78d5bb..1eb741c909d 100644 --- a/hw/xtensa/bootparam.h +++ b/hw/xtensa/bootparam.h @@ -1,8 +1,8 @@ #ifndef HW_XTENSA_BOOTPARAM_H #define HW_XTENSA_BOOTPARAM_H =20 -#include "exec/cpu-common.h" #include "exec/tswap.h" +#include "system/physmem.h" =20 #define BP_TAG_COMMAND_LINE 0x1001 /* command line (0-terminated stri= ng)*/ #define BP_TAG_INITRD 0x1002 /* ramdisk addr and size (bp_memin= fo) */ @@ -41,9 +41,9 @@ static inline ram_addr_t put_tag(ram_addr_t addr, uint16_= t tag, .size =3D tswap16((size + 3) & ~3), }; =20 - cpu_physical_memory_write(addr, &bp_tag, sizeof(bp_tag)); + physical_memory_write(addr, &bp_tag, sizeof(bp_tag)); addr +=3D sizeof(bp_tag); - cpu_physical_memory_write(addr, data, size); + physical_memory_write(addr, data, size); addr +=3D (size + 3) & ~3; =20 return addr; diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h index 9cd67d3ef9d..24e3eb500bb 100644 --- a/include/exec/cpu-common.h +++ b/include/exec/cpu-common.h @@ -64,55 +64,6 @@ void cpu_address_space_init(CPUState *cpu, int asidx, */ void cpu_destroy_address_spaces(CPUState *cpu); =20 -/** - * cpu_physical_memory_read: Read from the legacy global address space. - * - * This function access the legacy global #address_space_memory address - * space and does not say whether the operation succeeded or failed. - * - * @addr: address within the legacy global address space - * @buf: buffer with the data transferred - * @len: length of the data transferred - */ -void cpu_physical_memory_read(hwaddr addr, void *buf, hwaddr len); -/** - * cpu_physical_memory_write: Write to the legacy global address space. - * - * This function access the legacy global #address_space_memory address - * space and does not say whether the operation succeeded or failed. - * - * @addr: address within the legacy global address space - * @buf: buffer with the data transferred - * @len: the number of bytes to write - */ -void cpu_physical_memory_write(hwaddr addr, const void *buf, hwaddr len); -/** - * cpu_physical_memory_map: Map guest physical memory region into host vir= tual - * address. - * - * Map a memory region from the legacy global #address_space_memory address - * space. May return %NULL and set *@plen to zero(0), if resources needed = to - * perform the mapping are exhausted. - * - * @addr: address within that address space - * @len: pointer to length of buffer; updated on return - * @is_write: whether the translation operation is for write - */ -void *cpu_physical_memory_map(hwaddr addr, - hwaddr *plen, - bool is_write); -/** - * cpu_physical_memory_unmap: Unmaps a memory region previously mapped by - * cpu_physical_memory_map() - * - * @buffer: host pointer as returned by cpu_physical_memory_map() - * @len: buffer length as returned by cpu_physical_memory_map() - * @is_write: whether the translation operation is for write - * @access_len: amount of data actually transferred - */ -void cpu_physical_memory_unmap(void *buffer, hwaddr len, - bool is_write, hwaddr access_len); - /* vl.c */ void list_cpus(void); =20 diff --git a/include/system/physmem.h b/include/system/physmem.h index da91b77bd9b..c47b378025c 100644 --- a/include/system/physmem.h +++ b/include/system/physmem.h @@ -11,6 +11,56 @@ #include "exec/hwaddr.h" #include "system/ramlist.h" =20 +/** + * physical_memory_map: Map guest physical memory region into host virtual + * address. + * + * Map a memory region from the legacy global #address_space_memory address + * space. May return %NULL and set *@plen to zero(0), if resources needed = to + * perform the mapping are exhausted. + * + * @addr: address within that address space + * @len: pointer to length of buffer; updated on return + * @is_write: whether the translation operation is for write + */ +void *physical_memory_map(hwaddr addr, hwaddr *plen, bool is_write); + +/** + * physical_memory_unmap: Unmaps a memory region previously mapped by + * physical_memory_map() + * + * @buffer: host pointer as returned by physical_memory_map() + * @len: buffer length as returned by physical_memory_map() + * @is_write: whether the translation operation is for write + * @access_len: amount of data actually transferred + */ +void physical_memory_unmap(void *buffer, hwaddr len, + bool is_write, hwaddr access_len); + +/** + * physical_memory_read: Read from the legacy global address space. + * + * This function access the legacy global #address_space_memory address + * space and does not say whether the operation succeeded or failed. + * + * @addr: address within the legacy global address space + * @buf: buffer with the data transferred + * @len: length of the data transferred + */ +void physical_memory_read(hwaddr addr, void *buf, hwaddr len); + +/** + * physical_memory_write: Write to the legacy global address space. + * + * This function access the legacy global #address_space_memory address + * space and does not say whether the operation succeeded or failed. + * + * @addr: address within the legacy global address space + * @buf: buffer with the data transferred + * @len: the number of bytes to write + */ +void physical_memory_write(hwaddr addr, const void *buf, hwaddr len); + #define DIRTY_CLIENTS_ALL ((1 << DIRTY_MEMORY_NUM) - 1) #define DIRTY_CLIENTS_NOCODE (DIRTY_CLIENTS_ALL & ~(1 << DIRTY_MEMORY_COD= E)) =20 diff --git a/dump/dump.c b/dump/dump.c index 1f216e74f5f..eb2ee1c10df 100644 --- a/dump/dump.c +++ b/dump/dump.c @@ -21,6 +21,7 @@ #include "system/dump.h" #include "system/runstate.h" #include "system/cpus.h" +#include "system/physmem.h" #include "qapi/error.h" #include "qapi/qapi-commands-dump.h" #include "qapi/qapi-events-dump.h" @@ -1892,7 +1893,7 @@ static void dump_init(DumpState *s, int fd, bool has_= format, warn_report("guest note format is unsupported: %" PRIu16, gues= t_format); } else { s->guest_note =3D g_malloc(size + 1); /* +1 for adding \0 */ - cpu_physical_memory_read(addr, s->guest_note, size); + physical_memory_read(addr, s->guest_note, size); =20 get_note_sizes(s, s->guest_note, NULL, &name_size, &desc_size); s->guest_note_size =3D ELF_NOTE_SIZE(note_head_size, name_size, diff --git a/dump/win_dump-x86.c b/dump/win_dump-x86.c index d893dea7f19..8848c8bfca3 100644 --- a/dump/win_dump-x86.c +++ b/dump/win_dump-x86.c @@ -10,6 +10,7 @@ =20 #include "qemu/osdep.h" #include "system/dump.h" +#include "system/physmem.h" #include "qapi/error.h" #include "qemu/error-report.h" #include "exec/cpu-defs.h" @@ -55,7 +56,7 @@ static size_t write_run(uint64_t base_page, uint64_t page= _count, while (size) { len =3D size; =20 - buf =3D cpu_physical_memory_map(addr, &len, false); + buf =3D physical_memory_map(addr, &len, false); if (!buf) { error_setg(errp, "win-dump: failed to map physical range" " 0x%016" PRIx64 "-0x%016" PRIx64, addr, addr= + size - 1); @@ -64,7 +65,7 @@ static size_t write_run(uint64_t base_page, uint64_t page= _count, =20 l =3D qemu_write_full(fd, buf, len); eno =3D errno; - cpu_physical_memory_unmap(buf, addr, false, len); + physical_memory_unmap(buf, addr, false, len); if (l !=3D len) { error_setg_errno(errp, eno, "win-dump: failed to save memory"); return 0; diff --git a/hw/acpi/ghes.c b/hw/acpi/ghes.c index c42f1721c42..b2d5e349932 100644 --- a/hw/acpi/ghes.c +++ b/hw/acpi/ghes.c @@ -28,6 +28,7 @@ #include "hw/nvram/fw_cfg.h" #include "qemu/uuid.h" #include "exec/cpu-common.h" +#include "system/physmem.h" =20 #define ACPI_HW_ERROR_FW_CFG_FILE "etc/hardware_errors" #define ACPI_HW_ERROR_ADDR_FW_CFG_FILE "etc/hardware_errors_addr" @@ -432,9 +433,7 @@ static void get_hw_error_offsets(uint64_t ghes_addr, * the source ID, as it is stored inside the HEST table. */ =20 - cpu_physical_memory_read(ghes_addr, cper_addr, - sizeof(*cper_addr)); - + physical_memory_read(ghes_addr, cper_addr, sizeof(*cper_addr)); *cper_addr =3D le64_to_cpu(*cper_addr); =20 /* @@ -456,8 +455,7 @@ static bool get_ghes_source_offsets(uint16_t source_id, =20 hest_addr +=3D ACPI_DESC_HEADER_OFFSET; =20 - cpu_physical_memory_read(hest_addr, &num_sources, - sizeof(num_sources)); + physical_memory_read(hest_addr, &num_sources, sizeof(num_sources)); num_sources =3D le32_to_cpu(num_sources); =20 err_source_entry =3D hest_addr + sizeof(num_sources); @@ -469,7 +467,7 @@ static bool get_ghes_source_offsets(uint16_t source_id, uint64_t addr =3D err_source_entry; uint16_t type, src_id; =20 - cpu_physical_memory_read(addr, &type, sizeof(type)); + physical_memory_read(addr, &type, sizeof(type)); type =3D le16_to_cpu(type); =20 /* For now, we only know the size of GHESv2 table */ @@ -480,7 +478,7 @@ static bool get_ghes_source_offsets(uint16_t source_id, =20 /* Compare CPER source ID at the GHESv2 structure */ addr +=3D sizeof(type); - cpu_physical_memory_read(addr, &src_id, sizeof(src_id)); + physical_memory_read(addr, &src_id, sizeof(src_id)); if (le16_to_cpu(src_id) =3D=3D source_id) { break; } @@ -496,17 +494,17 @@ static bool get_ghes_source_offsets(uint16_t source_i= d, hest_err_block_addr =3D err_source_entry + GHES_ERR_STATUS_ADDR_OFF + GAS_ADDR_OFFSET; =20 - cpu_physical_memory_read(hest_err_block_addr, &error_block_addr, + physical_memory_read(hest_err_block_addr, &error_block_addr, sizeof(error_block_addr)); error_block_addr =3D le64_to_cpu(error_block_addr); =20 - cpu_physical_memory_read(error_block_addr, cper_addr, + physical_memory_read(error_block_addr, cper_addr, sizeof(*cper_addr)); *cper_addr =3D le64_to_cpu(*cper_addr); =20 hest_read_ack_addr =3D err_source_entry + GHES_READ_ACK_ADDR_OFF + GAS_ADDR_OFFSET; - cpu_physical_memory_read(hest_read_ack_addr, read_ack_start_addr, + physical_memory_read(hest_read_ack_addr, read_ack_start_addr, sizeof(*read_ack_start_addr)); *read_ack_start_addr =3D le64_to_cpu(*read_ack_start_addr); =20 @@ -535,7 +533,7 @@ bool ghes_record_cper_errors(AcpiGhesState *ags, const = void *cper, size_t len, return false; } =20 - cpu_physical_memory_read(read_ack_register_addr, + physical_memory_read(read_ack_register_addr, &read_ack_register, sizeof(read_ack_register)= ); =20 /* zero means OSPM does not acknowledge the error */ @@ -551,11 +549,11 @@ bool ghes_record_cper_errors(AcpiGhesState *ags, cons= t void *cper, size_t len, * Clear the Read Ack Register, OSPM will write 1 to this register when * it acknowledges the error. */ - cpu_physical_memory_write(read_ack_register_addr, + physical_memory_write(read_ack_register_addr, &read_ack_register, sizeof(uint64_t)); =20 /* Write the generic error data entry into guest memory */ - cpu_physical_memory_write(cper_addr, cper, len); + physical_memory_write(cper_addr, cper, len); =20 notifier_list_notify(&acpi_generic_error_notifiers, &source_id); =20 diff --git a/hw/acpi/nvdimm.c b/hw/acpi/nvdimm.c index eb4b4770765..703e854951e 100644 --- a/hw/acpi/nvdimm.c +++ b/hw/acpi/nvdimm.c @@ -35,6 +35,7 @@ #include "hw/nvram/fw_cfg.h" #include "hw/mem/nvdimm.h" #include "qemu/nvdimm-utils.h" +#include "system/physmem.h" #include "trace.h" #include "exec/cpu-common.h" =20 @@ -515,7 +516,7 @@ nvdimm_dsm_function0(uint32_t supported_func, hwaddr ds= m_mem_addr) .len =3D cpu_to_le32(sizeof(func0)), .supported_func =3D cpu_to_le32(supported_func), }; - cpu_physical_memory_write(dsm_mem_addr, &func0, sizeof(func0)); + physical_memory_write(dsm_mem_addr, &func0, sizeof(func0)); } =20 static void @@ -525,7 +526,7 @@ nvdimm_dsm_no_payload(uint32_t func_ret_status, hwaddr = dsm_mem_addr) .len =3D cpu_to_le32(sizeof(out)), .func_ret_status =3D cpu_to_le32(func_ret_status), }; - cpu_physical_memory_write(dsm_mem_addr, &out, sizeof(out)); + physical_memory_write(dsm_mem_addr, &out, sizeof(out)); } =20 #define NVDIMM_DSM_RET_STATUS_SUCCESS 0 /* Success */ @@ -580,7 +581,7 @@ exit: read_fit_out->func_ret_status =3D cpu_to_le32(func_ret_status); memcpy(read_fit_out->fit, fit->data + read_fit->offset, read_len); =20 - cpu_physical_memory_write(dsm_mem_addr, read_fit_out, size); + physical_memory_write(dsm_mem_addr, read_fit_out, size); =20 g_free(read_fit_out); } @@ -666,7 +667,7 @@ static void nvdimm_dsm_label_size(NVDIMMDevice *nvdimm,= hwaddr dsm_mem_addr) label_size_out.label_size =3D cpu_to_le32(label_size); label_size_out.max_xfer =3D cpu_to_le32(mxfer); =20 - cpu_physical_memory_write(dsm_mem_addr, &label_size_out, + physical_memory_write(dsm_mem_addr, &label_size_out, sizeof(label_size_out)); } =20 @@ -735,7 +736,7 @@ static void nvdimm_dsm_get_label_data(NVDIMMDevice *nvd= imm, NvdimmDsmIn *in, nvc->read_label_data(nvdimm, get_label_data_out->out_buf, get_label_data->length, get_label_data->offset); =20 - cpu_physical_memory_write(dsm_mem_addr, get_label_data_out, size); + physical_memory_write(dsm_mem_addr, get_label_data_out, size); g_free(get_label_data_out); } =20 @@ -845,7 +846,7 @@ nvdimm_dsm_write(void *opaque, hwaddr addr, uint64_t va= l, unsigned size) * this by copying DSM memory to QEMU local memory. */ in =3D g_new(NvdimmDsmIn, 1); - cpu_physical_memory_read(dsm_mem_addr, in, sizeof(*in)); + physical_memory_read(dsm_mem_addr, in, sizeof(*in)); =20 in->revision =3D le32_to_cpu(in->revision); in->function =3D le32_to_cpu(in->function); diff --git a/hw/acpi/vmgenid.c b/hw/acpi/vmgenid.c index 70ad029057b..27cc0128d11 100644 --- a/hw/acpi/vmgenid.c +++ b/hw/acpi/vmgenid.c @@ -20,6 +20,7 @@ #include "hw/core/qdev-properties.h" #include "hw/core/qdev-properties-system.h" #include "migration/vmstate.h" +#include "system/physmem.h" #include "system/reset.h" #include "exec/cpu-common.h" =20 @@ -156,7 +157,7 @@ static void vmgenid_update_guest(VmGenIdState *vms) * in order to implement the "OVMF SDT Header probe suppressor" * see docs/specs/vmgenid.rst for more details. */ - cpu_physical_memory_write(vmgenid_addr, guid_le.data, + physical_memory_write(vmgenid_addr, guid_le.data, sizeof(guid_le.data)); /* Send _GPE.E05 event */ acpi_send_event(DEVICE(obj), ACPI_VMGENID_CHANGE_STATUS); diff --git a/hw/audio/marvell_88w8618.c b/hw/audio/marvell_88w8618.c index 4ad4a220a98..061d076dade 100644 --- a/hw/audio/marvell_88w8618.c +++ b/hw/audio/marvell_88w8618.c @@ -21,6 +21,7 @@ #include "qapi/error.h" #include "qemu/module.h" #include "qom/object.h" +#include "system/physmem.h" =20 #define MP_AUDIO_SIZE 0x00001000 =20 @@ -87,7 +88,7 @@ static void mv88w8618_audio_callback(void *opaque, int fr= ee_out, int free_in) if (block_size > 4096) { return; } - cpu_physical_memory_read(s->target_buffer + s->play_pos, buf, block_si= ze); + physical_memory_read(s->target_buffer + s->play_pos, buf, block_size); mem_buffer =3D buf; if (s->playback_mode & MP_AUDIO_16BIT_SAMPLE) { if (s->playback_mode & MP_AUDIO_MONO) { diff --git a/hw/char/riscv_htif.c b/hw/char/riscv_htif.c index a53d2ace020..488f938d98d 100644 --- a/hw/char/riscv_htif.c +++ b/hw/char/riscv_htif.c @@ -30,6 +30,7 @@ #include "qemu/error-report.h" #include "system/address-spaces.h" #include "system/dma.h" +#include "system/physmem.h" #include "system/runstate.h" #include "exec/cpu-common.h" #include "trace.h" @@ -209,12 +210,12 @@ static void htif_handle_tohost_write(HTIFState *s, ui= nt64_t val_written) return; } else { uint64_t syscall[8]; - cpu_physical_memory_read(payload, syscall, sizeof(syscall)= ); + physical_memory_read(payload, syscall, sizeof(syscall)); if (le64_to_cpu(syscall[0]) =3D=3D PK_SYS_WRITE && le64_to_cpu(syscall[1]) =3D=3D HTIF_DEV_CONSOLE && le64_to_cpu(syscall[3]) =3D=3D HTIF_CONSOLE_CMD_PUTC) { uint8_t ch; - cpu_physical_memory_read(le64_to_cpu(syscall[2]), &ch,= 1); + physical_memory_read(le64_to_cpu(syscall[2]), &ch, 1); /* * XXX this blocks entire thread. Rewrite to use * qemu_chr_fe_write and background I/O callbacks diff --git a/hw/display/exynos4210_fimd.c b/hw/display/exynos4210_fimd.c index e715183ad54..7507e4fd3ca 100644 --- a/hw/display/exynos4210_fimd.c +++ b/hw/display/exynos4210_fimd.c @@ -28,6 +28,7 @@ #include "hw/core/sysbus.h" #include "exec/cpu-common.h" #include "migration/vmstate.h" +#include "system/physmem.h" #include "ui/console.h" #include "ui/pixel_ops.h" #include "qemu/bswap.h" @@ -1076,7 +1077,7 @@ static void fimd_update_memory_section(Exynos4210fimd= State *s, unsigned win) } =20 if (w->host_fb_addr) { - cpu_physical_memory_unmap(w->host_fb_addr, w->fb_len, 0, 0); + physical_memory_unmap(w->host_fb_addr, w->fb_len, 0, 0); w->host_fb_addr =3D NULL; w->fb_len =3D 0; } @@ -1115,7 +1116,7 @@ static void fimd_update_memory_section(Exynos4210fimd= State *s, unsigned win) goto error_return; } =20 - w->host_fb_addr =3D cpu_physical_memory_map(fb_start_addr, &fb_mapped_= len, + w->host_fb_addr =3D physical_memory_map(fb_start_addr, &fb_mapped_len, false); if (!w->host_fb_addr) { qemu_log_mask(LOG_GUEST_ERROR, @@ -1127,7 +1128,7 @@ static void fimd_update_memory_section(Exynos4210fimd= State *s, unsigned win) qemu_log_mask(LOG_GUEST_ERROR, "FIMD: Window %u mapped framebuffer length is less t= han " "expected\n", win); - cpu_physical_memory_unmap(w->host_fb_addr, fb_mapped_len, 0, 0); + physical_memory_unmap(w->host_fb_addr, fb_mapped_len, 0, 0); goto error_return; } memory_region_set_log(w->mem_section.mr, true, DIRTY_MEMORY_VGA); diff --git a/hw/display/omap_lcdc.c b/hw/display/omap_lcdc.c index 2a8d5ffdd57..b88ea5f2f19 100644 --- a/hw/display/omap_lcdc.c +++ b/hw/display/omap_lcdc.c @@ -24,6 +24,7 @@ #include "framebuffer.h" #include "ui/pixel_ops.h" #include "exec/cpu-common.h" +#include "system/physmem.h" =20 struct omap_lcd_panel_s { MemoryRegion *sysmem; @@ -217,7 +218,7 @@ static bool omap_update_display(void *opaque) =20 frame_offset =3D 0; if (omap_lcd->plm !=3D 2) { - cpu_physical_memory_read( + physical_memory_read( omap_lcd->dma->phys_framebuffer[omap_lcd->dma->current_fra= me], omap_lcd->palette, 0x200); switch (omap_lcd->palette[0] >> 12 & 7) { @@ -371,7 +372,7 @@ static void omap_lcd_update(struct omap_lcd_panel_s *s)= { s->dma->phys_framebuffer[1] =3D s->dma->src_f2_top; =20 if (s->plm !=3D 2 && !s->palette_done) { - cpu_physical_memory_read( + physical_memory_read( s->dma->phys_framebuffer[s->dma->current_frame= ], s->palette, 0x200); s->palette_done =3D 1; diff --git a/hw/display/ramfb.c b/hw/display/ramfb.c index 7a88f934e11..f477bdcc218 100644 --- a/hw/display/ramfb.c +++ b/hw/display/ramfb.c @@ -17,6 +17,7 @@ #include "hw/display/ramfb.h" #include "hw/display/bochs-vbe.h" /* for limits */ #include "ui/console.h" +#include "system/physmem.h" #include "system/reset.h" #include "exec/cpu-common.h" =20 @@ -42,7 +43,7 @@ static void ramfb_unmap_display_surface(pixman_image_t *i= mage, void *unused) void *data =3D pixman_image_get_data(image); uint32_t size =3D pixman_image_get_stride(image) * pixman_image_get_height(image); - cpu_physical_memory_unmap(data, size, 0, 0); + physical_memory_unmap(data, size, 0, 0); } =20 static DisplaySurface *ramfb_create_display_surface(int width, int height, @@ -64,9 +65,9 @@ static DisplaySurface *ramfb_create_display_surface(int w= idth, int height, } =20 mapsize =3D size =3D stride * (height - 1) + linesize; - data =3D cpu_physical_memory_map(addr, &mapsize, false); + data =3D physical_memory_map(addr, &mapsize, false); if (size !=3D mapsize) { - cpu_physical_memory_unmap(data, mapsize, 0, 0); + physical_memory_unmap(data, mapsize, 0, 0); return NULL; } =20 diff --git a/hw/dma/i8257.c b/hw/dma/i8257.c index 3637d8f82d7..d2e495638cb 100644 --- a/hw/dma/i8257.c +++ b/hw/dma/i8257.c @@ -28,6 +28,7 @@ #include "migration/vmstate.h" #include "hw/dma/i8257.h" #include "exec/cpu-common.h" +#include "system/physmem.h" #include "qapi/error.h" #include "qemu/main-loop.h" #include "qemu/module.h" @@ -414,7 +415,7 @@ static int i8257_dma_read_memory(IsaDma *obj, int nchan= , void *buf, int pos, int i; uint8_t *p =3D buf; =20 - cpu_physical_memory_read (addr - pos - len, buf, len); + physical_memory_read (addr - pos - len, buf, len); /* What about 16bit transfers? */ for (i =3D 0; i < len >> 1; i++) { uint8_t b =3D p[len - i - 1]; @@ -422,7 +423,7 @@ static int i8257_dma_read_memory(IsaDma *obj, int nchan= , void *buf, int pos, } } else - cpu_physical_memory_read (addr + pos, buf, len); + physical_memory_read (addr + pos, buf, len); =20 return len; } @@ -442,7 +443,7 @@ static int i8257_dma_write_memory(IsaDma *obj, int ncha= n, void *buf, int pos, int i; uint8_t *p =3D buf; =20 - cpu_physical_memory_write (addr - pos - len, buf, len); + physical_memory_write (addr - pos - len, buf, len); /* What about 16bit transfers? */ for (i =3D 0; i < len; i++) { uint8_t b =3D p[len - i - 1]; @@ -450,7 +451,7 @@ static int i8257_dma_write_memory(IsaDma *obj, int ncha= n, void *buf, int pos, } } else - cpu_physical_memory_write (addr + pos, buf, len); + physical_memory_write (addr + pos, buf, len); =20 return len; } diff --git a/hw/dma/omap_dma.c b/hw/dma/omap_dma.c index 668fc490548..77f14414989 100644 --- a/hw/dma/omap_dma.c +++ b/hw/dma/omap_dma.c @@ -23,7 +23,7 @@ #include "hw/arm/omap.h" #include "hw/core/irq.h" #include "hw/arm/soc_dma.h" -#include "exec/cpu-common.h" +#include "system/physmem.h" =20 struct omap_dma_channel_s { /* transfer data */ @@ -348,12 +348,12 @@ static void omap_dma_transfer_generic(struct soc_dma_= ch_s *dma) /* Transfer a single element */ /* FIXME: check the endianness */ if (!ch->constant_fill) - cpu_physical_memory_read(a->src, value, ch->data_type); + physical_memory_read(a->src, value, ch->data_type); else *(uint32_t *) value =3D ch->color; =20 if (!ch->transparent_copy || *(uint32_t *) value !=3D ch->color) - cpu_physical_memory_write(a->dest, value, ch->data_type); + physical_memory_write(a->dest, value, ch->data_type); =20 a->src +=3D a->elem_delta[0]; a->dest +=3D a->elem_delta[1]; diff --git a/hw/dma/rc4030.c b/hw/dma/rc4030.c index 159d0173913..546ff67908a 100644 --- a/hw/dma/rc4030.c +++ b/hw/dma/rc4030.c @@ -34,6 +34,7 @@ #include "qemu/log.h" #include "qemu/module.h" #include "system/address-spaces.h" +#include "system/physmem.h" #include "trace.h" #include "qom/object.h" =20 @@ -303,7 +304,7 @@ static void rc4030_write(void *opaque, hwaddr addr, uin= t64_t data, if (s->cache_ltag =3D=3D 0x80000001 && s->cache_bmask =3D=3D 0xf0f= 0f0f) { hwaddr dest =3D s->cache_ptag & ~0x1; dest +=3D (s->cache_maint & 0x3) << 3; - cpu_physical_memory_write(dest, &val, 4); + physical_memory_write(dest, &val, 4); } break; /* Remote Speed Registers */ diff --git a/hw/dma/sifive_pdma.c b/hw/dma/sifive_pdma.c index 7b22e514923..c4d2c77beac 100644 --- a/hw/dma/sifive_pdma.c +++ b/hw/dma/sifive_pdma.c @@ -30,6 +30,7 @@ #include "exec/cpu-common.h" #include "migration/vmstate.h" #include "system/dma.h" +#include "system/physmem.h" #include "hw/dma/sifive_pdma.h" =20 #define DMA_CONTROL 0x000 @@ -121,16 +122,16 @@ static void sifive_pdma_run(SiFivePDMAState *s, int c= h) s->chan[ch].exec_src =3D src; =20 for (n =3D 0; n < bytes / size; n++) { - cpu_physical_memory_read(s->chan[ch].exec_src, buf, size); - cpu_physical_memory_write(s->chan[ch].exec_dst, buf, size); + physical_memory_read(s->chan[ch].exec_src, buf, size); + physical_memory_write(s->chan[ch].exec_dst, buf, size); s->chan[ch].exec_src +=3D size; s->chan[ch].exec_dst +=3D size; s->chan[ch].exec_bytes -=3D size; } =20 if (remainder) { - cpu_physical_memory_read(s->chan[ch].exec_src, buf, remainder); - cpu_physical_memory_write(s->chan[ch].exec_dst, buf, remainder); + physical_memory_read(s->chan[ch].exec_src, buf, remainder); + physical_memory_write(s->chan[ch].exec_dst, buf, remainder); s->chan[ch].exec_src +=3D remainder; s->chan[ch].exec_dst +=3D remainder; s->chan[ch].exec_bytes -=3D remainder; diff --git a/hw/hyperv/hyperv.c b/hw/hyperv/hyperv.c index a854a4927a0..4d900327857 100644 --- a/hw/hyperv/hyperv.c +++ b/hw/hyperv/hyperv.c @@ -17,6 +17,7 @@ #include "exec/cpu-common.h" #include "linux/kvm.h" #include "system/kvm.h" +#include "system/physmem.h" #include "qemu/bitops.h" #include "qemu/error-report.h" #include "qemu/lockable.h" @@ -622,7 +623,7 @@ uint16_t hyperv_hcall_post_message(uint64_t param, bool= fast) } =20 len =3D sizeof(*msg); - msg =3D cpu_physical_memory_map(param, &len, 0); + msg =3D physical_memory_map(param, &len, 0); if (len < sizeof(*msg)) { ret =3D HV_STATUS_INSUFFICIENT_MEMORY; goto unmap; @@ -643,7 +644,7 @@ uint16_t hyperv_hcall_post_message(uint64_t param, bool= fast) } =20 unmap: - cpu_physical_memory_unmap(msg, len, 0, 0); + physical_memory_unmap(msg, len, 0, 0); return ret; } =20 @@ -766,7 +767,7 @@ uint16_t hyperv_hcall_reset_dbg_session(uint64_t outgpa) } =20 len =3D sizeof(*reset_dbg_session); - reset_dbg_session =3D cpu_physical_memory_map(outgpa, &len, 1); + reset_dbg_session =3D physical_memory_map(outgpa, &len, 1); if (!reset_dbg_session || len < sizeof(*reset_dbg_session)) { ret =3D HV_STATUS_INSUFFICIENT_MEMORY; goto cleanup; @@ -789,7 +790,7 @@ uint16_t hyperv_hcall_reset_dbg_session(uint64_t outgpa) sizeof(reset_dbg_session->target_mac)); cleanup: if (reset_dbg_session) { - cpu_physical_memory_unmap(reset_dbg_session, + physical_memory_unmap(reset_dbg_session, sizeof(*reset_dbg_session), 1, len); } =20 @@ -811,14 +812,14 @@ uint16_t hyperv_hcall_retreive_dbg_data(uint64_t ingp= a, uint64_t outgpa, } =20 in_len =3D sizeof(*debug_data_in); - debug_data_in =3D cpu_physical_memory_map(ingpa, &in_len, 0); + debug_data_in =3D physical_memory_map(ingpa, &in_len, 0); if (!debug_data_in || in_len < sizeof(*debug_data_in)) { ret =3D HV_STATUS_INSUFFICIENT_MEMORY; goto cleanup; } =20 out_len =3D sizeof(*debug_data_out); - debug_data_out =3D cpu_physical_memory_map(outgpa, &out_len, 1); + debug_data_out =3D physical_memory_map(outgpa, &out_len, 1); if (!debug_data_out || out_len < sizeof(*debug_data_out)) { ret =3D HV_STATUS_INSUFFICIENT_MEMORY; goto cleanup; @@ -844,12 +845,12 @@ uint16_t hyperv_hcall_retreive_dbg_data(uint64_t ingp= a, uint64_t outgpa, debug_data_in->count - msg.u.recv.retrieved_count; cleanup: if (debug_data_out) { - cpu_physical_memory_unmap(debug_data_out, sizeof(*debug_data_out),= 1, + physical_memory_unmap(debug_data_out, sizeof(*debug_data_out), 1, out_len); } =20 if (debug_data_in) { - cpu_physical_memory_unmap(debug_data_in, sizeof(*debug_data_in), 0, + physical_memory_unmap(debug_data_in, sizeof(*debug_data_in), 0, in_len); } =20 @@ -870,7 +871,7 @@ uint16_t hyperv_hcall_post_dbg_data(uint64_t ingpa, uin= t64_t outgpa, bool fast) } =20 in_len =3D sizeof(*post_data_in); - post_data_in =3D cpu_physical_memory_map(ingpa, &in_len, 0); + post_data_in =3D physical_memory_map(ingpa, &in_len, 0); if (!post_data_in || in_len < sizeof(*post_data_in)) { ret =3D HV_STATUS_INSUFFICIENT_MEMORY; goto cleanup; @@ -882,7 +883,7 @@ uint16_t hyperv_hcall_post_dbg_data(uint64_t ingpa, uin= t64_t outgpa, bool fast) } =20 out_len =3D sizeof(*post_data_out); - post_data_out =3D cpu_physical_memory_map(outgpa, &out_len, 1); + post_data_out =3D physical_memory_map(outgpa, &out_len, 1); if (!post_data_out || out_len < sizeof(*post_data_out)) { ret =3D HV_STATUS_INSUFFICIENT_MEMORY; goto cleanup; @@ -902,12 +903,12 @@ uint16_t hyperv_hcall_post_dbg_data(uint64_t ingpa, u= int64_t outgpa, bool fast) HV_STATUS_SUCCESS; cleanup: if (post_data_out) { - cpu_physical_memory_unmap(post_data_out, + physical_memory_unmap(post_data_out, sizeof(*post_data_out), 1, out_len); } =20 if (post_data_in) { - cpu_physical_memory_unmap(post_data_in, + physical_memory_unmap(post_data_in, sizeof(*post_data_in), 0, in_len); } =20 diff --git a/hw/hyperv/syndbg.c b/hw/hyperv/syndbg.c index 10171b19e8f..e0057bb3990 100644 --- a/hw/hyperv/syndbg.c +++ b/hw/hyperv/syndbg.c @@ -20,6 +20,7 @@ #include "hw/hyperv/vmbus-bridge.h" #include "hw/hyperv/hyperv-proto.h" #include "exec/cpu-common.h" +#include "system/physmem.h" #include "net/net.h" #include "net/eth.h" #include "net/checksum.h" @@ -62,10 +63,10 @@ static void set_pending_state(HvSynDbg *syndbg, bool ha= s_pending) } =20 out_len =3D 1; - out_data =3D cpu_physical_memory_map(syndbg->pending_page_gpa, &out_le= n, 1); + out_data =3D physical_memory_map(syndbg->pending_page_gpa, &out_len, 1= ); if (out_data) { *(uint8_t *)out_data =3D !!has_pending; - cpu_physical_memory_unmap(out_data, out_len, 1, out_len); + physical_memory_unmap(out_data, out_len, 1, out_len); } } =20 @@ -110,7 +111,7 @@ static uint16_t handle_send_msg(HvSynDbg *syndbg, uint6= 4_t ingpa, int sent_count; =20 data_len =3D count; - debug_data =3D cpu_physical_memory_map(ingpa, &data_len, 0); + debug_data =3D physical_memory_map(ingpa, &data_len, 0); if (!debug_data || data_len < count) { ret =3D HV_STATUS_INSUFFICIENT_MEMORY; goto cleanup; @@ -135,7 +136,7 @@ static uint16_t handle_send_msg(HvSynDbg *syndbg, uint6= 4_t ingpa, ret =3D HV_STATUS_SUCCESS; cleanup: if (debug_data) { - cpu_physical_memory_unmap(debug_data, count, 0, data_len); + physical_memory_unmap(debug_data, count, 0, data_len); } =20 return ret; @@ -224,7 +225,7 @@ static uint16_t handle_recv_msg(HvSynDbg *syndbg, uint6= 4_t outgpa, out_len +=3D UDP_PKT_HEADER_SIZE; } out_requested_len =3D out_len; - out_data =3D cpu_physical_memory_map(outgpa, &out_len, 1); + out_data =3D physical_memory_map(outgpa, &out_len, 1); ret =3D HV_STATUS_INSUFFICIENT_MEMORY; if (!out_data || out_len < out_requested_len) { goto cleanup_out_data; @@ -243,7 +244,7 @@ static uint16_t handle_recv_msg(HvSynDbg *syndbg, uint6= 4_t outgpa, =20 cleanup_out_data: if (out_data) { - cpu_physical_memory_unmap(out_data, out_len, 1, out_len); + physical_memory_unmap(out_data, out_len, 1, out_len); } return ret; } diff --git a/hw/hyperv/vmbus.c b/hw/hyperv/vmbus.c index dcfce700052..c5259d1a764 100644 --- a/hw/hyperv/vmbus.c +++ b/hw/hyperv/vmbus.c @@ -21,6 +21,7 @@ #include "hw/core/sysbus.h" #include "exec/cpu-common.h" #include "system/kvm.h" +#include "system/physmem.h" #include "trace.h" =20 enum { @@ -750,7 +751,7 @@ static int vmbus_channel_notify_guest(VMBusChannel *cha= n) return hyperv_set_event_flag(chan->notify_route, chan->id); } =20 - int_map =3D cpu_physical_memory_map(addr, &len, 1); + int_map =3D physical_memory_map(addr, &len, 1); if (len !=3D TARGET_PAGE_SIZE / 2) { res =3D -ENXIO; goto unmap; @@ -764,7 +765,7 @@ static int vmbus_channel_notify_guest(VMBusChannel *cha= n) } =20 unmap: - cpu_physical_memory_unmap(int_map, len, 1, dirty); + physical_memory_unmap(int_map, len, 1, dirty); return res; } =20 @@ -2249,7 +2250,7 @@ static void vmbus_signal_event(EventNotifier *e) =20 addr =3D vmbus->int_page_gpa + TARGET_PAGE_SIZE / 2; len =3D TARGET_PAGE_SIZE / 2; - int_map =3D cpu_physical_memory_map(addr, &len, 1); + int_map =3D physical_memory_map(addr, &len, 1); if (len !=3D TARGET_PAGE_SIZE / 2) { goto unmap; } @@ -2265,7 +2266,7 @@ static void vmbus_signal_event(EventNotifier *e) } =20 unmap: - cpu_physical_memory_unmap(int_map, len, 1, is_dirty); + physical_memory_unmap(int_map, len, 1, is_dirty); } =20 static void vmbus_dev_realize(DeviceState *dev, Error **errp) diff --git a/hw/i386/kvm/clock.c b/hw/i386/kvm/clock.c index 7d167c8b006..e3dad136d31 100644 --- a/hw/i386/kvm/clock.c +++ b/hw/i386/kvm/clock.c @@ -19,6 +19,7 @@ #include "system/kvm.h" #include "system/runstate.h" #include "system/hw_accel.h" +#include "system/physmem.h" #include "kvm/kvm_i386.h" #include "migration/vmstate.h" #include "hw/core/sysbus.h" @@ -85,7 +86,7 @@ static uint64_t kvmclock_current_nsec(KVMClockState *s) } =20 kvmclock_struct_pa =3D env->system_time_msr & ~1ULL; - cpu_physical_memory_read(kvmclock_struct_pa, &time, sizeof(time)); + physical_memory_read(kvmclock_struct_pa, &time, sizeof(time)); =20 assert(time.tsc_timestamp <=3D migration_tsc); delta =3D migration_tsc - time.tsc_timestamp; diff --git a/hw/i386/vapic.c b/hw/i386/vapic.c index 781bf2a7fa5..8dd9188d96f 100644 --- a/hw/i386/vapic.c +++ b/hw/i386/vapic.c @@ -19,6 +19,7 @@ #include "system/whpx.h" #include "system/runstate.h" #include "system/address-spaces.h" +#include "system/physmem.h" #include "hw/i386/apic_internal.h" #include "hw/core/sysbus.h" #include "hw/core/boards.h" @@ -138,13 +139,13 @@ static const TPRInstruction tpr_instr[] =3D { =20 static void read_guest_rom_state(VAPICROMState *s) { - cpu_physical_memory_read(s->rom_state_paddr, &s->rom_state, + physical_memory_read(s->rom_state_paddr, &s->rom_state, sizeof(GuestROMState)); } =20 static void write_guest_rom_state(VAPICROMState *s) { - cpu_physical_memory_write(s->rom_state_paddr, &s->rom_state, + physical_memory_write(s->rom_state_paddr, &s->rom_state, sizeof(GuestROMState)); } =20 @@ -327,14 +328,14 @@ static int update_rom_mapping(VAPICROMState *s, CPUX8= 6State *env, target_ulong i for (pos =3D le32_to_cpu(s->rom_state.fixup_start); pos < le32_to_cpu(s->rom_state.fixup_end); pos +=3D 4) { - cpu_physical_memory_read(paddr + pos - s->rom_state.vaddr, + physical_memory_read(paddr + pos - s->rom_state.vaddr, &offset, sizeof(offset)); offset =3D le32_to_cpu(offset); - cpu_physical_memory_read(paddr + offset, &patch, sizeof(patch)); + physical_memory_read(paddr + offset, &patch, sizeof(patch)); patch =3D le32_to_cpu(patch); patch +=3D rom_state_vaddr - le32_to_cpu(s->rom_state.vaddr); patch =3D cpu_to_le32(patch); - cpu_physical_memory_write(paddr + offset, &patch, sizeof(patch)); + physical_memory_write(paddr + offset, &patch, sizeof(patch)); } read_guest_rom_state(s); s->vapic_paddr =3D paddr + le32_to_cpu(s->rom_state.vapic_vaddr) - @@ -378,7 +379,7 @@ static int vapic_enable(VAPICROMState *s, X86CPU *cpu) } vapic_paddr =3D s->vapic_paddr + (((hwaddr)cpu_number) << VAPIC_CPU_SHIFT); - cpu_physical_memory_write(vapic_paddr + offsetof(VAPICState, enabled), + physical_memory_write(vapic_paddr + offsetof(VAPICState, enabled), &enabled, sizeof(enabled)); apic_enable_vapic(cpu->apic_state, vapic_paddr); =20 @@ -549,7 +550,7 @@ static int patch_hypercalls(VAPICROMState *s) uint8_t *rom; =20 rom =3D g_malloc(s->rom_size); - cpu_physical_memory_read(rom_paddr, rom, s->rom_size); + physical_memory_read(rom_paddr, rom, s->rom_size); =20 for (pos =3D 0; pos < s->rom_size - sizeof(vmcall_pattern); pos++) { if (kvm_enabled() && kvm_irqchip_in_kernel()) { @@ -565,7 +566,7 @@ static int patch_hypercalls(VAPICROMState *s) } if (memcmp(rom + pos, pattern, 7) =3D=3D 0 && (rom[pos + 7] =3D=3D alternates[0] || rom[pos + 7] =3D=3D alte= rnates[1])) { - cpu_physical_memory_write(rom_paddr + pos + 5, patch, 3); + physical_memory_write(rom_paddr + pos + 5, patch, 3); /* * Don't flush the tb here. Under ordinary conditions, the pat= ched * calls are miles away from the current IP. Under malicious @@ -755,7 +756,7 @@ static void do_vapic_enable(CPUState *cs, run_on_cpu_da= ta data) X86CPU *cpu =3D X86_CPU(cs); =20 static const uint8_t enabled =3D 1; - cpu_physical_memory_write(s->vapic_paddr + offsetof(VAPICState, enable= d), + physical_memory_write(s->vapic_paddr + offsetof(VAPICState, enabled), &enabled, sizeof(enabled)); apic_enable_vapic(cpu->apic_state, s->vapic_paddr); s->state =3D VAPIC_ACTIVE; @@ -776,7 +777,7 @@ static void vapic_vm_state_change(void *opaque, bool ru= nning, RunState state) run_on_cpu(first_cpu, do_vapic_enable, RUN_ON_CPU_HOST_PTR(s)); } else { zero =3D g_malloc0(s->rom_state.vapic_size); - cpu_physical_memory_write(s->vapic_paddr, zero, + physical_memory_write(s->vapic_paddr, zero, s->rom_state.vapic_size); g_free(zero); } diff --git a/hw/intc/apic.c b/hw/intc/apic.c index 0e8932005fa..74e25c60a80 100644 --- a/hw/intc/apic.c +++ b/hw/intc/apic.c @@ -28,6 +28,7 @@ #include "qemu/host-utils.h" #include "system/kvm.h" #include "system/mshv.h" +#include "system/physmem.h" #include "trace.h" #include "hw/i386/apic-msidef.h" #include "exec/cpu-common.h" @@ -107,7 +108,7 @@ static void apic_sync_vapic(APICCommonState *s, int syn= c_type) return; } if (sync_type & SYNC_FROM_VAPIC) { - cpu_physical_memory_read(s->vapic_paddr, &vapic_state, + physical_memory_read(s->vapic_paddr, &vapic_state, sizeof(vapic_state)); s->tpr =3D vapic_state.tpr; } diff --git a/hw/intc/xive2.c b/hw/intc/xive2.c index d353391208e..5def5a6b733 100644 --- a/hw/intc/xive2.c +++ b/hw/intc/xive2.c @@ -13,6 +13,7 @@ #include "target/ppc/cpu.h" #include "system/cpus.h" #include "system/dma.h" +#include "system/physmem.h" #include "hw/core/qdev-properties.h" #include "hw/ppc/xive.h" #include "hw/ppc/xive2.h" @@ -1170,7 +1171,7 @@ static void xive2_tctx_accept_el(XivePresenter *xptr,= XiveTCTX *tctx, report_data[0] =3D (rd >> 8) & 0xff; report_data[1] =3D rd & 0xff; } - cpu_physical_memory_write(phys_addr, report_data, REPORT_LINE_GEN1_SIZ= E); + physical_memory_write(phys_addr, report_data, REPORT_LINE_GEN1_SIZE); } =20 void xive2_tm_ack_os_el(XivePresenter *xptr, XiveTCTX *tctx, diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c index 4bfe5bcf569..9a0a57c0cc4 100644 --- a/hw/m68k/next-cube.c +++ b/hw/m68k/next-cube.c @@ -14,6 +14,7 @@ #include "exec/hwaddr.h" #include "exec/cpu-common.h" #include "exec/cpu-interrupt.h" +#include "system/physmem.h" #include "system/system.h" #include "system/qtest.h" #include "hw/core/irq.h" @@ -585,7 +586,7 @@ static void nextdma_write(void *opaque, uint8_t *buf, i= nt size, int type) base_addr =3D next_state->dma[type].next_initbuf; } =20 - cpu_physical_memory_write(base_addr, buf, size); + physical_memory_write(base_addr, buf, size); =20 next_state->dma[type].next_initbuf =3D 0; =20 diff --git a/hw/microblaze/boot.c b/hw/microblaze/boot.c index a93b68e1e48..c9c813d0d8b 100644 --- a/hw/microblaze/boot.c +++ b/hw/microblaze/boot.c @@ -32,6 +32,7 @@ #include "qemu/error-report.h" #include "qemu/guest-random.h" #include "system/device_tree.h" +#include "system/physmem.h" #include "system/reset.h" #include "exec/cpu-common.h" #include "hw/core/boards.h" @@ -106,7 +107,7 @@ static int microblaze_load_dtb(hwaddr addr, initrd_end); } =20 - cpu_physical_memory_write(addr, fdt, fdt_size); + physical_memory_write(addr, fdt, fdt_size); g_free(fdt); return fdt_size; } diff --git a/hw/misc/pc-testdev.c b/hw/misc/pc-testdev.c index 228012e772f..7f2753320fa 100644 --- a/hw/misc/pc-testdev.c +++ b/hw/misc/pc-testdev.c @@ -40,6 +40,7 @@ #include "hw/core/irq.h" #include "hw/isa/isa.h" #include "exec/cpu-common.h" +#include "system/physmem.h" #include "qom/object.h" =20 #define IOMEM_LEN 0x10000 @@ -126,7 +127,7 @@ static void test_flush_page_write(void *opaque, hwaddr = addr, uint64_t data, unsigned len) { hwaddr page =3D 4096; - void *a =3D cpu_physical_memory_map(data & ~0xffful, &page, false); + void *a =3D physical_memory_map(data & ~0xffful, &page, false); =20 /* We might not be able to get the full page, only mprotect what we ac= tually have mapped */ @@ -134,7 +135,7 @@ static void test_flush_page_write(void *opaque, hwaddr = addr, uint64_t data, mprotect(a, page, PROT_NONE); mprotect(a, page, PROT_READ|PROT_WRITE); #endif - cpu_physical_memory_unmap(a, page, 0, 0); + physical_memory_unmap(a, page, 0, 0); } =20 static const MemoryRegionOps test_flush_ops =3D { diff --git a/hw/net/fsl_etsec/rings.c b/hw/net/fsl_etsec/rings.c index 22660c32b84..6d2bf71b52f 100644 --- a/hw/net/fsl_etsec/rings.c +++ b/hw/net/fsl_etsec/rings.c @@ -26,6 +26,7 @@ #include "qemu/log.h" #include "etsec.h" #include "registers.h" +#include "system/physmem.h" #include "exec/cpu-common.h" =20 /* #define ETSEC_RING_DEBUG */ @@ -111,7 +112,7 @@ static void read_buffer_descriptor(eTSEC *etsec, assert(bd !=3D NULL); =20 RING_DEBUG("READ Buffer Descriptor @ 0x" HWADDR_FMT_plx"\n", addr); - cpu_physical_memory_read(addr, + physical_memory_read(addr, bd, sizeof(eTSEC_rxtx_bd)); =20 @@ -143,7 +144,7 @@ static void write_buffer_descriptor(eTSEC *etse= c, } =20 RING_DEBUG("Write Buffer Descriptor @ 0x" HWADDR_FMT_plx"\n", addr); - cpu_physical_memory_write(addr, + physical_memory_write(addr, bd, sizeof(eTSEC_rxtx_bd)); } @@ -240,7 +241,7 @@ static void process_tx_bd(eTSEC *etsec, etsec->tx_buffer =3D g_realloc(etsec->tx_buffer, etsec->tx_buffer_len + bd->length); tmp_buff =3D etsec->tx_buffer + etsec->tx_buffer_len; - cpu_physical_memory_read(bd->bufptr + tbdbth, tmp_buff, bd->length); + physical_memory_read(bd->bufptr + tbdbth, tmp_buff, bd->length); =20 /* Update buffer length */ etsec->tx_buffer_len +=3D bd->length; @@ -401,7 +402,7 @@ static void fill_rx_bd(eTSEC *etsec, /* This operation will only write FCB */ if (etsec->rx_fcb_size !=3D 0) { =20 - cpu_physical_memory_write(bufptr, etsec->rx_fcb, etsec->rx_fcb_siz= e); + physical_memory_write(bufptr, etsec->rx_fcb, etsec->rx_fcb_size); =20 bufptr +=3D etsec->rx_fcb_size; bd->length +=3D etsec->rx_fcb_size; @@ -417,7 +418,7 @@ static void fill_rx_bd(eTSEC *etsec, =20 /* This operation can only write packet data and no padding */ if (to_write > 0) { - cpu_physical_memory_write(bufptr, *buf, to_write); + physical_memory_write(bufptr, *buf, to_write); =20 *buf +=3D to_write; bufptr +=3D to_write; @@ -439,7 +440,7 @@ static void fill_rx_bd(eTSEC *etsec, etsec->rx_padding -=3D rem; *size -=3D rem; bd->length +=3D rem; - cpu_physical_memory_write(bufptr, padd, rem); + physical_memory_write(bufptr, padd, rem); } } } diff --git a/hw/net/mcf_fec.c b/hw/net/mcf_fec.c index 79a5c4385c6..9df359eae87 100644 --- a/hw/net/mcf_fec.c +++ b/hw/net/mcf_fec.c @@ -8,6 +8,7 @@ =20 #include "qemu/osdep.h" #include "qemu/log.h" +#include "system/physmem.h" #include "hw/core/irq.h" #include "net/net.h" #include "qemu/module.h" @@ -175,7 +176,7 @@ typedef struct { =20 static void mcf_fec_read_bd(mcf_fec_bd *bd, uint32_t addr) { - cpu_physical_memory_read(addr, bd, sizeof(*bd)); + physical_memory_read(addr, bd, sizeof(*bd)); be16_to_cpus(&bd->flags); be16_to_cpus(&bd->length); be32_to_cpus(&bd->data); @@ -187,7 +188,7 @@ static void mcf_fec_write_bd(mcf_fec_bd *bd, uint32_t a= ddr) tmp.flags =3D cpu_to_be16(bd->flags); tmp.length =3D cpu_to_be16(bd->length); tmp.data =3D cpu_to_be32(bd->data); - cpu_physical_memory_write(addr, &tmp, sizeof(tmp)); + physical_memory_write(addr, &tmp, sizeof(tmp)); } =20 static void mcf_fec_update(mcf_fec_state *s) @@ -260,7 +261,7 @@ static void mcf_fec_do_tx(mcf_fec_state *s) len =3D FEC_MAX_FRAME_SIZE - frame_size; s->eir |=3D FEC_INT_BABT; } - cpu_physical_memory_read(bd.data, ptr, len); + physical_memory_read(bd.data, ptr, len); ptr +=3D len; frame_size +=3D len; if (bd.flags & FEC_BD_L) { @@ -596,10 +597,10 @@ static ssize_t mcf_fec_receive(NetClientState *nc, co= nst uint8_t *buf, size_t si if (size < 4) buf_len +=3D size - 4; buf_addr =3D bd.data; - cpu_physical_memory_write(buf_addr, buf, buf_len); + physical_memory_write(buf_addr, buf, buf_len); buf +=3D buf_len; if (size < 4) { - cpu_physical_memory_write(buf_addr + buf_len, crc_ptr, 4 - siz= e); + physical_memory_write(buf_addr + buf_len, crc_ptr, 4 - size); crc_ptr +=3D 4 - size; } bd.flags &=3D ~FEC_BD_E; diff --git a/hw/net/opencores_eth.c b/hw/net/opencores_eth.c index a25f8eccff3..5a07bcde09d 100644 --- a/hw/net/opencores_eth.c +++ b/hw/net/opencores_eth.c @@ -32,6 +32,7 @@ */ =20 #include "qemu/osdep.h" +#include "system/physmem.h" #include "hw/core/irq.h" #include "hw/net/mii.h" #include "hw/core/qdev-properties.h" @@ -431,7 +432,7 @@ static ssize_t open_eth_receive(NetClientState *nc, } #endif =20 - cpu_physical_memory_write(desc->buf_ptr, buf, copy_size); + physical_memory_write(desc->buf_ptr, buf, copy_size); =20 if (GET_REGBIT(s, MODER, PAD) && copy_size < minfl) { if (minfl - copy_size > fcsl) { @@ -443,7 +444,7 @@ static ssize_t open_eth_receive(NetClientState *nc, size_t zero_sz =3D minfl - copy_size < sizeof(zero) ? minfl - copy_size : sizeof(zero); =20 - cpu_physical_memory_write(desc->buf_ptr + copy_size, + physical_memory_write(desc->buf_ptr + copy_size, zero, zero_sz); copy_size +=3D zero_sz; } @@ -453,7 +454,7 @@ static ssize_t open_eth_receive(NetClientState *nc, * Don't do it if the frame is cut at the MAXFL or padded with 4 or * more bytes to the MINFL. */ - cpu_physical_memory_write(desc->buf_ptr + copy_size, zero, fcsl); + physical_memory_write(desc->buf_ptr + copy_size, zero, fcsl); copy_size +=3D fcsl; =20 SET_FIELD(desc->len_flags, RXD_LEN, copy_size); @@ -509,7 +510,7 @@ static void open_eth_start_xmit(OpenEthState *s, desc *= tx) if (len > tx_len) { len =3D tx_len; } - cpu_physical_memory_read(tx->buf_ptr, buf, len); + physical_memory_read(tx->buf_ptr, buf, len); if (tx_len > len) { memset(buf + len, 0, tx_len - len); } diff --git a/hw/nvram/spapr_nvram.c b/hw/nvram/spapr_nvram.c index 3af7e6ecbec..b0f9fe8633f 100644 --- a/hw/nvram/spapr_nvram.c +++ b/hw/nvram/spapr_nvram.c @@ -30,6 +30,7 @@ =20 #include "system/block-backend.h" #include "system/device_tree.h" +#include "system/physmem.h" #include "system/system.h" #include "system/runstate.h" #include "migration/vmstate.h" @@ -89,9 +90,9 @@ static void rtas_nvram_fetch(PowerPCCPU *cpu, SpaprMachin= eState *spapr, =20 assert(nvram->buf); =20 - membuf =3D cpu_physical_memory_map(buffer, &len, true); + membuf =3D physical_memory_map(buffer, &len, true); memcpy(membuf, nvram->buf + offset, len); - cpu_physical_memory_unmap(membuf, len, 1, len); + physical_memory_unmap(membuf, len, 1, len); =20 rtas_st(rets, 0, RTAS_OUT_SUCCESS); rtas_st(rets, 1, len); @@ -127,7 +128,7 @@ static void rtas_nvram_store(PowerPCCPU *cpu, SpaprMach= ineState *spapr, return; } =20 - membuf =3D cpu_physical_memory_map(buffer, &len, false); + membuf =3D physical_memory_map(buffer, &len, false); =20 ret =3D 0; if (nvram->blk) { @@ -137,7 +138,7 @@ static void rtas_nvram_store(PowerPCCPU *cpu, SpaprMach= ineState *spapr, assert(nvram->buf); memcpy(nvram->buf + offset, membuf, len); =20 - cpu_physical_memory_unmap(membuf, len, 0, len); + physical_memory_unmap(membuf, len, 0, len); =20 rtas_st(rets, 0, (ret < 0) ? RTAS_OUT_HW_ERROR : RTAS_OUT_SUCCESS); rtas_st(rets, 1, (ret < 0) ? 0 : len); diff --git a/hw/ppc/amigaone.c b/hw/ppc/amigaone.c index 9fba5ca03a6..2e94e80b569 100644 --- a/hw/ppc/amigaone.c +++ b/hw/ppc/amigaone.c @@ -22,6 +22,7 @@ #include "hw/i2c/smbus_eeprom.h" #include "exec/cpu-common.h" #include "system/block-backend.h" +#include "system/physmem.h" #include "system/qtest.h" #include "system/reset.h" #include "kvm_ppc.h" @@ -231,7 +232,7 @@ static void create_bd_info(hwaddr addr, ram_addr_t ram_= size) bd->bi_busfreq =3D cpu_to_be32(BUS_FREQ_HZ); bd->bi_baudrate =3D cpu_to_be32(115200); =20 - cpu_physical_memory_write(addr, bd, sizeof(*bd)); + physical_memory_write(addr, bd, sizeof(*bd)); } =20 static void amigaone_cpu_reset(void *opaque) @@ -386,7 +387,7 @@ static void amigaone_init(MachineState *machine) size_t len =3D strlen(machine->kernel_cmdline); =20 loadaddr =3D bi->bd_info + 1 * MiB; - cpu_physical_memory_write(loadaddr, machine->kernel_cmdline, len += 1); + physical_memory_write(loadaddr, machine->kernel_cmdline, len + 1); bi->cmdline_start =3D loadaddr; bi->cmdline_end =3D loadaddr + len + 1; /* including terminating '= \0' */ } diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c index 5be2f2095f6..1876882a040 100644 --- a/hw/ppc/e500.c +++ b/hw/ppc/e500.c @@ -29,6 +29,7 @@ #include "hw/char/serial-mm.h" #include "hw/pci/pci.h" #include "system/block-backend-io.h" +#include "system/physmem.h" #include "system/system.h" #include "system/kvm.h" #include "system/reset.h" @@ -661,7 +662,7 @@ static int ppce500_load_device_tree(PPCE500MachineState= *pms, =20 done: if (!dry_run) { - cpu_physical_memory_write(addr, fdt, fdt_size); + physical_memory_write(addr, fdt, fdt_size); =20 /* Set machine->fdt for 'dumpdtb' QMP/HMP command */ g_free(machine->fdt); diff --git a/hw/ppc/pegasos.c b/hw/ppc/pegasos.c index ac9fc5a6542..9d7e279123b 100644 --- a/hw/ppc/pegasos.c +++ b/hw/ppc/pegasos.c @@ -21,6 +21,7 @@ #include "hw/ide/pci.h" #include "hw/i2c/smbus_eeprom.h" #include "hw/core/qdev-properties.h" +#include "system/physmem.h" #include "system/reset.h" #include "system/runstate.h" #include "system/qtest.h" @@ -314,22 +315,22 @@ static void pegasos_init(MachineState *machine) =20 static void pegasos_superio_write(uint8_t addr, uint8_t val) { - cpu_physical_memory_write(0xfe0003f0, &addr, 1); - cpu_physical_memory_write(0xfe0003f1, &val, 1); + physical_memory_write(0xfe0003f0, &addr, 1); + physical_memory_write(0xfe0003f1, &val, 1); } =20 static void pegasos1_pci_config_write(PegasosMachineState *pm, int bus, uint32_t addr, uint32_t len, uint32_= t val) { addr |=3D BIT(31); - cpu_physical_memory_write(0xfec00cf8, &addr, 4); - cpu_physical_memory_write(0xfee00cfc, &val, len); + physical_memory_write(0xfec00cf8, &addr, 4); + physical_memory_write(0xfee00cfc, &val, len); } =20 static void pegasos1_chipset_reset(PegasosMachineState *pm) { uint8_t elcr =3D 0x2e; - cpu_physical_memory_write(0xfe0004d1, &elcr, sizeof(elcr)); + physical_memory_write(0xfe0004d1, &elcr, sizeof(elcr)); =20 pegasos1_pci_config_write(pm, 0, PCI_COMMAND, 2, PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER); diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 8df697da94c..62812f22f8c 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -25,6 +25,7 @@ #include "qemu/units.h" #include "qemu/cutils.h" #include "qapi/error.h" +#include "system/physmem.h" #include "system/qtest.h" #include "system/system.h" #include "system/numa.h" @@ -843,11 +844,11 @@ static void pnv_reset(MachineState *machine, ResetTyp= e type) .thread_size =3D cpu_to_be32(sizeof(MpiplPreservedCPUState)), }; =20 - cpu_physical_memory_write(PROC_DUMP_AREA_OFF, &proc_area, + physical_memory_write(PROC_DUMP_AREA_OFF, &proc_area, sizeof(proc_area)); } =20 - cpu_physical_memory_write(PNV_FDT_ADDR, fdt, fdt_totalsize(fdt)); + physical_memory_write(PNV_FDT_ADDR, fdt, fdt_totalsize(fdt)); =20 /* Free previous device tree set by pnv_init/reset/machine_init_done */ g_free(machine->fdt); diff --git a/hw/ppc/ppc440_uc.c b/hw/ppc/ppc440_uc.c index 634046506e8..016c756c19e 100644 --- a/hw/ppc/ppc440_uc.c +++ b/hw/ppc/ppc440_uc.c @@ -18,6 +18,7 @@ #include "hw/core/qdev-properties.h" #include "hw/pci/pci.h" #include "exec/cpu-common.h" +#include "system/physmem.h" #include "system/reset.h" #include "target/ppc/cpu.h" #include "ppc440.h" @@ -606,9 +607,9 @@ static void dcr_write_dma(void *opaque, int dcrn, uint3= 2_t val) width =3D 1 << ((val & DMA0_CR_PW) >> 25); xferlen =3D count * width; wlen =3D rlen =3D xferlen; - rptr =3D cpu_physical_memory_map(dma->ch[chnl].sa, &rl= en, + rptr =3D physical_memory_map(dma->ch[chnl].sa, &rlen, false); - wptr =3D cpu_physical_memory_map(dma->ch[chnl].da, &wl= en, + wptr =3D physical_memory_map(dma->ch[chnl].da, &wlen, true); if (rptr && rlen =3D=3D xferlen && wptr && wlen =3D=3D= xferlen) { if (!(val & DMA0_CR_DEC) && @@ -631,10 +632,10 @@ static void dcr_write_dma(void *opaque, int dcrn, uin= t32_t val) } } if (wptr) { - cpu_physical_memory_unmap(wptr, wlen, 1, didx); + physical_memory_unmap(wptr, wlen, 1, didx); } if (rptr) { - cpu_physical_memory_unmap(rptr, rlen, 0, sidx); + physical_memory_unmap(rptr, rlen, 0, sidx); } } } diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index f0e99bb5be7..b79828b4e90 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -38,6 +38,7 @@ #include "system/system.h" #include "system/hostmem.h" #include "system/numa.h" +#include "system/physmem.h" #include "system/tcg.h" #include "system/qtest.h" #include "system/reset.h" @@ -1858,7 +1859,7 @@ static void spapr_machine_reset(MachineState *machine= , ResetType type) =20 spapr_cpu_set_entry_state(first_ppc_cpu, SPAPR_ENTRY_POINT, 0, fdt_addr, 0); - cpu_physical_memory_write(fdt_addr, fdt, fdt_totalsize(fdt)); + physical_memory_write(fdt_addr, fdt, fdt_totalsize(fdt)); } =20 g_free(spapr->fdt_blob); diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c index 9bc65c760ea..5c2150b71c8 100644 --- a/hw/ppc/spapr_drc.c +++ b/hw/ppc/spapr_drc.c @@ -25,6 +25,7 @@ #include "hw/ppc/spapr_nvdimm.h" #include "exec/cpu-common.h" #include "system/device_tree.h" +#include "system/physmem.h" #include "system/reset.h" #include "trace.h" =20 @@ -1150,7 +1151,7 @@ out: static void configure_connector_st(target_ulong addr, target_ulong offset, const void *buf, size_t len) { - cpu_physical_memory_write(ppc64_phys_to_real(addr + offset), + physical_memory_write(ppc64_phys_to_real(addr + offset), buf, MIN(len, CC_WA_LEN - offset)); } =20 diff --git a/hw/ppc/spapr_events.c b/hw/ppc/spapr_events.c index ab23e3f477b..eb4d360122a 100644 --- a/hw/ppc/spapr_events.c +++ b/hw/ppc/spapr_events.c @@ -28,6 +28,7 @@ #include "qemu/osdep.h" #include "qapi/error.h" #include "system/device_tree.h" +#include "system/physmem.h" #include "system/runstate.h" =20 #include "hw/ppc/fdt.h" @@ -855,9 +856,9 @@ static void spapr_mce_dispatch_elog(SpaprMachineState *= spapr, PowerPCCPU *cpu, =20 stq_be_phys(&address_space_memory, rtas_addr + RTAS_ERROR_LOG_OFFSET, env->gpr[3]); - cpu_physical_memory_write(rtas_addr + RTAS_ERROR_LOG_OFFSET + + physical_memory_write(rtas_addr + RTAS_ERROR_LOG_OFFSET + sizeof(env->gpr[3]), &log, sizeof(log)); - cpu_physical_memory_write(rtas_addr + RTAS_ERROR_LOG_OFFSET + + physical_memory_write(rtas_addr + RTAS_ERROR_LOG_OFFSET + sizeof(env->gpr[3]) + sizeof(log), ext_elog, sizeof(*ext_elog)); g_free(ext_elog); @@ -964,8 +965,8 @@ static void check_exception(PowerPCCPU *cpu, SpaprMachi= neState *spapr, =20 header.summary =3D cpu_to_be32(event->summary); header.extended_length =3D cpu_to_be32(event->extended_length); - cpu_physical_memory_write(buf, &header, sizeof(header)); - cpu_physical_memory_write(buf + sizeof(header), event->extended_log, + physical_memory_write(buf, &header, sizeof(header)); + physical_memory_write(buf + sizeof(header), event->extended_log, event->extended_length); rtas_st(rets, 0, RTAS_OUT_SUCCESS); g_free(event->extended_log); diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c index 60ba215e861..23bcd788daf 100644 --- a/hw/ppc/spapr_hcall.c +++ b/hw/ppc/spapr_hcall.c @@ -2,6 +2,7 @@ #include "qemu/cutils.h" #include "qapi/error.h" #include "system/hw_accel.h" +#include "system/physmem.h" #include "system/runstate.h" #include "system/tcg.h" #include "qemu/log.h" @@ -273,7 +274,7 @@ static target_ulong h_page_init(PowerPCCPU *cpu, SpaprM= achineState *spapr, if (!is_ram_address(spapr, dst) || (dst & ~TARGET_PAGE_MASK) !=3D 0) { return H_PARAMETER; } - pdst =3D cpu_physical_memory_map(dst, &len, true); + pdst =3D physical_memory_map(dst, &len, true); if (!pdst || len !=3D TARGET_PAGE_SIZE) { return H_PARAMETER; } @@ -284,13 +285,13 @@ static target_ulong h_page_init(PowerPCCPU *cpu, Spap= rMachineState *spapr, ret =3D H_PARAMETER; goto unmap_out; } - psrc =3D cpu_physical_memory_map(src, &len, false); + psrc =3D physical_memory_map(src, &len, false); if (!psrc || len !=3D TARGET_PAGE_SIZE) { ret =3D H_PARAMETER; goto unmap_out; } memcpy(pdst, psrc, len); - cpu_physical_memory_unmap(psrc, len, 0, len); + physical_memory_unmap(psrc, len, 0, len); } else if (flags & H_ZERO_PAGE) { memset(pdst, 0, len); /* Just clear the destination page = */ } @@ -309,7 +310,7 @@ static target_ulong h_page_init(PowerPCCPU *cpu, SpaprM= achineState *spapr, } =20 unmap_out: - cpu_physical_memory_unmap(pdst, TARGET_PAGE_SIZE, 1, len); + physical_memory_unmap(pdst, TARGET_PAGE_SIZE, 1, len); return ret; } =20 @@ -1382,8 +1383,8 @@ static target_ulong h_client_architecture_support(Pow= erPCCPU *cpu, spapr->fdt_size =3D fdt_totalsize(spapr->fdt_blob); spapr->fdt_initial_size =3D spapr->fdt_size; =20 - cpu_physical_memory_write(fdt_buf, &hdr, sizeof(hdr)); - cpu_physical_memory_write(fdt_buf + sizeof(hdr), spapr->fdt_blob, + physical_memory_write(fdt_buf, &hdr, sizeof(hdr)); + physical_memory_write(fdt_buf + sizeof(hdr), spapr->fdt_blob, spapr->fdt_size); trace_spapr_cas_continue(spapr->fdt_size + sizeof(hdr)); } @@ -1487,7 +1488,7 @@ static target_ulong h_update_dt(PowerPCCPU *cpu, Spap= rMachineState *spapr, unsigned cb; void *fdt; =20 - cpu_physical_memory_read(dt, &hdr, sizeof(hdr)); + physical_memory_read(dt, &hdr, sizeof(hdr)); cb =3D fdt32_to_cpu(hdr.totalsize); =20 /* Check that the fdt did not grow out of proportion */ @@ -1498,7 +1499,7 @@ static target_ulong h_update_dt(PowerPCCPU *cpu, Spap= rMachineState *spapr, } =20 fdt =3D g_malloc0(cb); - cpu_physical_memory_read(dt, fdt, cb); + physical_memory_read(dt, fdt, cb); =20 /* Check the fdt consistency */ if (fdt_check_full(fdt, cb)) { diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c index 0871425237e..328fc27c400 100644 --- a/hw/ppc/spapr_rtas.c +++ b/hw/ppc/spapr_rtas.c @@ -32,6 +32,7 @@ #include "system/device_tree.h" #include "system/cpus.h" #include "system/hw_accel.h" +#include "system/physmem.h" #include "system/runstate.h" #include "system/qtest.h" #include "kvm_ppc.h" @@ -279,7 +280,7 @@ static inline int sysparm_st(target_ulong addr, target_= ulong len, return RTAS_OUT_SYSPARM_PARAM_ERROR; } stw_be_phys(&address_space_memory, phys, vallen); - cpu_physical_memory_write(phys + 2, val, MIN(len - 2, vallen)); + physical_memory_write(phys + 2, val, MIN(len - 2, vallen)); return RTAS_OUT_SUCCESS; } =20 @@ -441,7 +442,7 @@ static void rtas_ibm_os_term(PowerPCCPU *cpu, return trigger_fadump_boot(spapr, rets); } =20 - cpu_physical_memory_read(msgaddr, msg, sizeof(msg) - 1); + physical_memory_read(msgaddr, msg, sizeof(msg) - 1); msg[sizeof(msg) - 1] =3D 0; =20 error_report("OS terminated: %s", msg); diff --git a/hw/ppc/spapr_tpm_proxy.c b/hw/ppc/spapr_tpm_proxy.c index 361a3dc817d..19889e80bc1 100644 --- a/hw/ppc/spapr_tpm_proxy.c +++ b/hw/ppc/spapr_tpm_proxy.c @@ -13,6 +13,7 @@ #include "qemu/osdep.h" #include "qapi/error.h" #include "qemu/error-report.h" +#include "system/physmem.h" #include "system/reset.h" #include "hw/ppc/spapr.h" #include "hw/core/qdev-properties.h" @@ -69,7 +70,7 @@ static ssize_t tpm_execute(SpaprTpmProxy *tpm_proxy, targ= et_ulong *args) } } =20 - cpu_physical_memory_read(data_in, buf_in, data_in_size); + physical_memory_read(data_in, buf_in, data_in_size); =20 do { ret =3D write(tpm_proxy->host_fd, buf_in, data_in_size); @@ -94,7 +95,7 @@ static ssize_t tpm_execute(SpaprTpmProxy *tpm_proxy, targ= et_ulong *args) return H_RESOURCE; } =20 - cpu_physical_memory_write(data_out, buf_out, ret); + physical_memory_write(data_out, buf_out, ret); args[0] =3D ret; =20 return H_SUCCESS; diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c index d10d9135890..09686360e16 100644 --- a/hw/ppc/virtex_ml507.c +++ b/hw/ppc/virtex_ml507.c @@ -30,6 +30,7 @@ #include "hw/core/sysbus.h" #include "hw/char/serial-mm.h" #include "hw/block/flash.h" +#include "system/physmem.h" #include "system/system.h" #include "system/reset.h" #include "hw/core/boards.h" @@ -174,7 +175,7 @@ static int xilinx_load_device_tree(MachineState *machin= e, machine->kernel_cmdline); if (r < 0) fprintf(stderr, "couldn't set /chosen/bootargs\n"); - cpu_physical_memory_write(addr, fdt, fdt_size); + physical_memory_write(addr, fdt, fdt_size); =20 /* Set machine->fdt for 'dumpdtb' QMP/HMP command */ machine->fdt =3D fdt; diff --git a/hw/s390x/css.c b/hw/s390x/css.c index ecd28fed5c3..96d5378f3c1 100644 --- a/hw/s390x/css.c +++ b/hw/s390x/css.c @@ -15,6 +15,7 @@ #include "qemu/bitops.h" #include "qemu/error-report.h" #include "system/address-spaces.h" +#include "system/physmem.h" #include "hw/s390x/ioinst.h" #include "hw/core/qdev-properties.h" #include "hw/s390x/css.h" @@ -755,13 +756,13 @@ static CCW1 copy_ccw_from_guest(hwaddr addr, bool fmt= 1) CCW1 ret; =20 if (fmt1) { - cpu_physical_memory_read(addr, &tmp1, sizeof(tmp1)); + physical_memory_read(addr, &tmp1, sizeof(tmp1)); ret.cmd_code =3D tmp1.cmd_code; ret.flags =3D tmp1.flags; ret.count =3D be16_to_cpu(tmp1.count); ret.cda =3D be32_to_cpu(tmp1.cda); } else { - cpu_physical_memory_read(addr, &tmp0, sizeof(tmp0)); + physical_memory_read(addr, &tmp0, sizeof(tmp0)); if ((tmp0.cmd_code & 0x0f) =3D=3D CCW_CMD_TIC) { ret.cmd_code =3D CCW_CMD_TIC; ret.flags =3D 0; diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c index 1babcd2b7dd..fa50749a7d3 100644 --- a/hw/s390x/ipl.c +++ b/hw/s390x/ipl.c @@ -15,6 +15,7 @@ #include "qemu/osdep.h" #include "qemu/datadir.h" #include "qapi/error.h" +#include "system/physmem.h" #include "system/reset.h" #include "system/runstate.h" #include "system/tcg.h" @@ -431,7 +432,7 @@ static uint64_t s390_ipl_map_iplb_chain(IplParameterBlo= ck *iplb_chain) uint64_t len =3D sizeof(IplParameterBlock) * count; uint64_t chain_addr =3D find_iplb_chain_addr(ipl->bios_start_addr, cou= nt); =20 - cpu_physical_memory_write(chain_addr, iplb_chain, len); + physical_memory_write(chain_addr, iplb_chain, len); return chain_addr; } =20 @@ -722,13 +723,13 @@ static void s390_ipl_prepare_qipl(S390CPU *cpu) uint8_t *addr; uint64_t len =3D 4096; =20 - addr =3D cpu_physical_memory_map(cpu->env.psa, &len, true); + addr =3D physical_memory_map(cpu->env.psa, &len, true); if (!addr || len < QIPL_ADDRESS + sizeof(QemuIplParameters)) { error_report("Cannot set QEMU IPL parameters"); return; } memcpy(addr + QIPL_ADDRESS, &ipl->qipl, sizeof(QemuIplParameters)); - cpu_physical_memory_unmap(addr, len, 1, len); + physical_memory_unmap(addr, len, 1, len); } =20 int s390_ipl_prepare_pv_header(struct S390PVResponse *pv_resp, Error **err= p) @@ -738,7 +739,7 @@ int s390_ipl_prepare_pv_header(struct S390PVResponse *p= v_resp, Error **errp) void *hdr =3D g_malloc(ipib_pv->pv_header_len); int rc; =20 - cpu_physical_memory_read(ipib_pv->pv_header_addr, hdr, + physical_memory_read(ipib_pv->pv_header_addr, hdr, ipib_pv->pv_header_len); rc =3D s390_pv_set_sec_parms((uintptr_t)hdr, ipib_pv->pv_header_len, pv_resp, errp); diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c index eb2b6185db0..eff980fdfe9 100644 --- a/hw/s390x/s390-pci-bus.c +++ b/hw/s390x/s390-pci-bus.c @@ -28,6 +28,7 @@ #include "exec/cpu-common.h" #include "qemu/error-report.h" #include "qemu/module.h" +#include "system/physmem.h" #include "system/reset.h" #include "system/runstate.h" =20 @@ -668,7 +669,7 @@ static bool set_ind_bit_atomic(uint64_t ind_loc, uint8_= t to_be_set) /* avoid multiple fetches */ uint8_t volatile *ind_addr; =20 - ind_addr =3D cpu_physical_memory_map(ind_loc, &len, true); + ind_addr =3D physical_memory_map(ind_loc, &len, true); if (!ind_addr) { s390_pci_generate_error_event(ERR_EVENT_AIRERR, 0, 0, 0, 0); return false; @@ -678,7 +679,7 @@ static bool set_ind_bit_atomic(uint64_t ind_loc, uint8_= t to_be_set) expected =3D actual; actual =3D qatomic_cmpxchg(ind_addr, expected, expected | to_be_se= t); } while (actual !=3D expected); - cpu_physical_memory_unmap((void *)ind_addr, len, 1, len); + physical_memory_unmap((void *)ind_addr, len, 1, len); =20 return (actual & to_be_set) ? false : true; } diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c index ba55bf4fe97..80e00edce0d 100644 --- a/hw/s390x/virtio-ccw.c +++ b/hw/s390x/virtio-ccw.c @@ -14,6 +14,7 @@ #include "qapi/error.h" #include "system/address-spaces.h" #include "system/kvm.h" +#include "system/physmem.h" #include "net/net.h" #include "hw/virtio/virtio.h" #include "migration/qemu-file-types.h" @@ -834,7 +835,7 @@ static uint8_t virtio_set_ind_atomic(SubchDev *sch, uin= t64_t ind_loc, /* avoid multiple fetches */ uint8_t volatile *ind_addr; =20 - ind_addr =3D cpu_physical_memory_map(ind_loc, &len, true); + ind_addr =3D physical_memory_map(ind_loc, &len, true); if (!ind_addr) { error_report("%s(%x.%x.%04x): unable to access indicator", __func__, sch->cssid, sch->ssid, sch->schid); @@ -846,7 +847,7 @@ static uint8_t virtio_set_ind_atomic(SubchDev *sch, uin= t64_t ind_loc, actual =3D qatomic_cmpxchg(ind_addr, expected, expected | to_be_se= t); } while (actual !=3D expected); trace_virtio_ccw_set_ind(ind_loc, actual, actual | to_be_set); - cpu_physical_memory_unmap((void *)ind_addr, len, 1, len); + physical_memory_unmap((void *)ind_addr, len, 1, len); =20 return actual; } diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c index 11ae6b9b747..4398aa54990 100644 --- a/hw/scsi/vmw_pvscsi.c +++ b/hw/scsi/vmw_pvscsi.c @@ -34,7 +34,7 @@ #include "scsi/constants.h" #include "hw/pci/msi.h" #include "hw/core/qdev-properties.h" -#include "exec/cpu-common.h" +#include "system/physmem.h" #include "vmw_pvscsi.h" #include "trace.h" #include "qom/object.h" @@ -395,7 +395,7 @@ pvscsi_cmp_ring_put(PVSCSIState *s, struct PVSCSIRingCm= pDesc *cmp_desc) =20 cmp_descr_pa =3D pvscsi_ring_pop_cmp_descr(&s->rings); trace_pvscsi_cmp_ring_put(cmp_descr_pa); - cpu_physical_memory_write(cmp_descr_pa, cmp_desc, sizeof(*cmp_desc)); + physical_memory_write(cmp_descr_pa, cmp_desc, sizeof(*cmp_desc)); } =20 static void @@ -405,7 +405,7 @@ pvscsi_msg_ring_put(PVSCSIState *s, struct PVSCSIRingMs= gDesc *msg_desc) =20 msg_descr_pa =3D pvscsi_ring_pop_msg_descr(&s->rings); trace_pvscsi_msg_ring_put(msg_descr_pa); - cpu_physical_memory_write(msg_descr_pa, msg_desc, sizeof(*msg_desc)); + physical_memory_write(msg_descr_pa, msg_desc, sizeof(*msg_desc)); } =20 static void @@ -480,7 +480,7 @@ pvscsi_get_next_sg_elem(PVSCSISGState *sg) { struct PVSCSISGElement elem; =20 - cpu_physical_memory_read(sg->elemAddr, &elem, sizeof(elem)); + physical_memory_read(sg->elemAddr, &elem, sizeof(elem)); if ((elem.flags & ~PVSCSI_KNOWN_FLAGS) !=3D 0) { /* * There is PVSCSI_SGE_FLAG_CHAIN_ELEMENT flag described in @@ -501,7 +501,7 @@ pvscsi_write_sense(PVSCSIRequest *r, uint8_t *sense, in= t len) { r->cmp.senseLen =3D MIN(r->req.senseLen, len); r->sense_key =3D sense[(sense[0] & 2) ? 1 : 2]; - cpu_physical_memory_write(r->req.senseAddr, sense, r->cmp.senseLen); + physical_memory_write(r->req.senseAddr, sense, r->cmp.senseLen); } =20 static void @@ -758,7 +758,7 @@ pvscsi_process_io(PVSCSIState *s) smp_rmb(); =20 trace_pvscsi_process_io(next_descr_pa); - cpu_physical_memory_read(next_descr_pa, &descr, sizeof(descr)); + physical_memory_read(next_descr_pa, &descr, sizeof(descr)); pvscsi_process_request_descriptor(s, &descr); } =20 diff --git a/hw/xen/xen_pt_graphics.c b/hw/xen/xen_pt_graphics.c index 445f33e1726..7df93445002 100644 --- a/hw/xen/xen_pt_graphics.c +++ b/hw/xen/xen_pt_graphics.c @@ -5,8 +5,8 @@ #include "qapi/error.h" #include "hw/xen/xen_pt.h" #include "hw/xen/xen_igd.h" -#include "exec/cpu-common.h" #include "xen-host-pci-device.h" +#include "system/physmem.h" =20 static unsigned long igd_guest_opregion; static unsigned long igd_host_opregion; @@ -223,7 +223,7 @@ void xen_pt_setup_vga(XenPCIPassthroughState *s, XenHos= tPCIDevice *dev, } =20 /* Currently we fixed this address as a primary for legacy BIOS. */ - cpu_physical_memory_write(0xc0000, bios, bios_size); + physical_memory_write(0xc0000, bios, bios_size); } =20 uint32_t igd_read_opregion(XenPCIPassthroughState *s) diff --git a/hw/xtensa/xtfpga.c b/hw/xtensa/xtfpga.c index 33a2d9485cf..8f85fc8ddb4 100644 --- a/hw/xtensa/xtfpga.c +++ b/hw/xtensa/xtfpga.c @@ -35,6 +35,7 @@ #include "hw/core/qdev-properties.h" #include "elf.h" #include "system/memory.h" +#include "system/physmem.h" #include "exec/tswap.h" #include "hw/char/serial-mm.h" #include "net/net.h" @@ -370,7 +371,7 @@ static void xtfpga_init(const XtfpgaBoardDesc *board, M= achineState *machine) exit(EXIT_FAILURE); } =20 - cpu_physical_memory_write(cur_lowmem, fdt, fdt_size); + physical_memory_write(cur_lowmem, fdt, fdt_size); cur_tagptr =3D put_tag(cur_tagptr, BP_TAG_FDT, sizeof(dtb_addr), &dtb_addr); cur_lowmem =3D QEMU_ALIGN_UP(cur_lowmem + fdt_size, 4 * KiB); @@ -449,7 +450,7 @@ static void xtfpga_init(const XtfpgaBoardDesc *board, M= achineState *machine) =20 memcpy(boot + 4, &entry_pc, sizeof(entry_pc)); memcpy(boot + 8, &entry_a2, sizeof(entry_a2)); - cpu_physical_memory_write(env->pc, boot, boot_sz); + physical_memory_write(env->pc, boot, boot_sz); } } else { if (flash) { diff --git a/system/cpus.c b/system/cpus.c index bded87feb1c..73baa75e846 100644 --- a/system/cpus.c +++ b/system/cpus.c @@ -40,6 +40,7 @@ #include "system/cpus.h" #include "qemu/guest-random.h" #include "hw/core/nmi.h" +#include "system/physmem.h" #include "system/replay.h" #include "system/runstate.h" #include "system/cpu-timers.h" @@ -897,7 +898,7 @@ void qmp_pmemsave(uint64_t addr, uint64_t size, const c= har *filename, l =3D sizeof(buf); if (l > size) l =3D size; - cpu_physical_memory_read(addr, buf, l); + physical_memory_read(addr, buf, l); if (fwrite(buf, 1, l, f) !=3D l) { error_setg(errp, "writing memory to '%s' failed", filename); diff --git a/system/physmem.c b/system/physmem.c index d21eb6620dc..934f80416bc 100644 --- a/system/physmem.c +++ b/system/physmem.c @@ -3477,13 +3477,13 @@ MemTxResult address_space_set(const AddressSpace *a= s, hwaddr addr, return error; } =20 -void cpu_physical_memory_read(hwaddr addr, void *buf, hwaddr len) +void physical_memory_read(hwaddr addr, void *buf, hwaddr len) { address_space_read(&address_space_memory, addr, MEMTXATTRS_UNSPECIFIED, buf, len); } =20 -void cpu_physical_memory_write(hwaddr addr, const void *buf, hwaddr len) +void physical_memory_write(hwaddr addr, const void *buf, hwaddr len) { address_space_write(&address_space_memory, addr, MEMTXATTRS_UNSPECIFIED, buf, len); @@ -3808,16 +3808,14 @@ void address_space_unmap(AddressSpace *as, void *bu= ffer, hwaddr len, address_space_notify_map_clients(as); } =20 -void *cpu_physical_memory_map(hwaddr addr, - hwaddr *plen, - bool is_write) +void *physical_memory_map(hwaddr addr, hwaddr *plen, bool is_write) { return address_space_map(&address_space_memory, addr, plen, is_write, MEMTXATTRS_UNSPECIFIED); } =20 -void cpu_physical_memory_unmap(void *buffer, hwaddr len, - bool is_write, hwaddr access_len) +void physical_memory_unmap(void *buffer, hwaddr len, + bool is_write, hwaddr access_len) { return address_space_unmap(&address_space_memory, buffer, len, is_writ= e, access_len); } --=20 2.53.0