From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by 2002:a19:cb43:0:0:0:0:0 with SMTP id b64csp544248lfg; Thu, 20 Feb 2020 05:07:13 -0800 (PST) X-Google-Smtp-Source: APXvYqzzRqzw8tQloD6YLG+84A80wmU1QU7Ue8OKBIm8aGy4B+eIoWekLvxbZluTIJrBmo6Rx7xe X-Received: by 2002:a54:4895:: with SMTP id r21mr1937437oic.107.1582204032817; Thu, 20 Feb 2020 05:07:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582204032; cv=none; d=google.com; s=arc-20160816; b=WKQJKDPohuA9w+ic9ouqYS3/iv2YtaqX8/f0JwjOEQobWkbOC2UrUZAQK17jTeMyi9 rSnn/flZJYuvUs/xSRbk/lSFm6f4QVLARYjO8osC2AcQ7eOHI9FXVHWXW29QCLubTUsx WBlm74pIx/Ii3D+1WUCPI8SmjxuD6sGrviCuymw4bIgw4OTH4E5MvCb28hEHCpOfIF3Q yzl/pUO5hdmBiB1aO0AP5xPI9H6UlEEz03rhAnlE627pLTkEn4tDieKowNxjeXKVsPz9 129K+TRVV24hZBGlfOvx7Liko3jA9EzEaFMv2bDj7c90uyZHSD+pwPVIsSejTlqOvQlA c5fg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Du/Q9cwkYv23U8HuA6dwHrSvlC9gAA5COcpF1xlZ39I=; b=0LryHa9TwCCNm6vGLKYq2Ti7NE7MGhXpzePAOMLlDQjQavGqm1dnSWm2WcF/gWE/yu NFSxiAKxKQg8/k0t6LtP21c9xR9UafudPRn4QiXB1kgEHZZ6ty1Q4KPtmy/m+35LjENY J3RwtssiEW82L+4P6Xb0aLoFjrklstdPHaq6Py9zrtHvaBhE+TGxTi4sItA8ygaJ8Y3e ixUKdQpgtfM1o/GIM1QFRio9JKypw4AfGuOo4BKvs+W492JMMUQlPMFU2Qw9Ujr4dUVX ScV+vNjCupvpnQlDWU9638Ry5CYrdR87JdQzB85eUR6Wxh9O/zpl/iV1jHoCQ+vRSluD Qn9w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=i1HfNEdx; spf=pass (google.com: best guess record for domain of kvm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=kvm-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b2si1957201ots.284.2020.02.20.05.07.12; Thu, 20 Feb 2020 05:07:12 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of kvm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=i1HfNEdx; spf=pass (google.com: best guess record for domain of kvm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=kvm-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728240AbgBTNHL (ORCPT + 5 others); Thu, 20 Feb 2020 08:07:11 -0500 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:56495 "EHLO us-smtp-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728160AbgBTNHL (ORCPT ); Thu, 20 Feb 2020 08:07:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1582204029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Du/Q9cwkYv23U8HuA6dwHrSvlC9gAA5COcpF1xlZ39I=; b=i1HfNEdxdDSmDqCOM5AE3J10BlTGOJTcWeDqQ4cyr+lqavKdS5bcjnfjPZUietvzpQ/k07 cXOW9J73c2g+cS6WnBEtEVfOnFYRng/Ft7J7rHlJLG1652k+Wa6ecyF+Vt8KiEPPaZb9FP GhCLn2fjH4AJVqKm3vOp44zjDEAx9oM= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-377-13IoNbKrMo2F4i7JBZRYnA-1; Thu, 20 Feb 2020 08:07:08 -0500 X-MC-Unique: 13IoNbKrMo2F4i7JBZRYnA-1 Received: by mail-wm1-f70.google.com with SMTP id y7so579645wmd.4 for ; Thu, 20 Feb 2020 05:07:07 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Du/Q9cwkYv23U8HuA6dwHrSvlC9gAA5COcpF1xlZ39I=; b=SlbEJBu7BL8M/Hd5pPCD9+sXicWbDjhr58tPlfhrvc4ke/vUrrx4IKZDnxj4w7tz5N SI7n2QE0/c8Lpnna0F/p5iyWnKAzWMk1hb+khqR0z4cg8rhFdKpomUX+0yDpPwKyOWa5 Fyy1waBJy0SsiB6eSw/5bI2PKtiSXF/9l/KrfqTazH7In8rfqG55Vu+dDGjQSl+7sW4s vRKEz0gh7fr7OKYgIU+0cpNE7cVQ+ECRjbgoa+7j0+gM6oxwjFnV6+SKvFPdTQZ7091t T1+xWKozpvQE+5SxRnl1BaTnDc7NEHRZhmIL7/E8O96s2CHo74iDfmh+OtIULyXoBWpu 6R8g== X-Gm-Message-State: APjAAAUEvkUd4jX8/kqlGe6S0KpxbZXnlDGLuIv5/6hOhQiKEAxWMSkm cUTdZU3kLP11CpamuDzxWnrMJCGAXmTFu6vpHLrLtzCQY4IbaZbuycWBjOfRYgfLyPbyZkZqlo5 xYDbZiYHLObOE X-Received: by 2002:a7b:c088:: with SMTP id r8mr4601054wmh.18.1582204025777; Thu, 20 Feb 2020 05:07:05 -0800 (PST) X-Received: by 2002:a7b:c088:: with SMTP id r8mr4601010wmh.18.1582204025361; Thu, 20 Feb 2020 05:07:05 -0800 (PST) Received: from localhost.localdomain (78.red-88-21-202.staticip.rima-tde.net. [88.21.202.78]) by smtp.gmail.com with ESMTPSA id b67sm4594690wmc.38.2020.02.20.05.07.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Feb 2020 05:07:04 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Peter Maydell , qemu-devel@nongnu.org Cc: "Edgar E. Iglesias" , Anthony Perard , Fam Zheng , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , kvm@vger.kernel.org, Laurent Vivier , Thomas Huth , Stefan Weil , Eric Auger , Halil Pasic , Marcel Apfelbaum , qemu-s390x@nongnu.org, Aleksandar Rikalo , David Gibson , Michael Walle , qemu-ppc@nongnu.org, Gerd Hoffmann , Cornelia Huck , qemu-arm@nongnu.org, Alistair Francis , qemu-block@nongnu.org, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Jason Wang , xen-devel@lists.xenproject.org, Christian Borntraeger , Dmitry Fleytman , Matthew Rosato , Eduardo Habkost , Richard Henderson , "Michael S. Tsirkin" , David Hildenbrand , Paolo Bonzini , Stefano Stabellini , Igor Mitsyanko , Paul Durrant , Richard Henderson , John Snow Subject: [PATCH v3 19/20] Let cpu_[physical]_memory() calls pass a boolean 'is_write' argument Date: Thu, 20 Feb 2020 14:05:47 +0100 Message-Id: <20200220130548.29974-20-philmd@redhat.com> X-Mailer: git-send-email 2.21.1 In-Reply-To: <20200220130548.29974-1-philmd@redhat.com> References: <20200220130548.29974-1-philmd@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-TUID: KyLWygBQUqNS Use an explicit boolean type. This commit was produced with the included Coccinelle script scripts/coccinelle/exec_rw_const. Signed-off-by: Philippe Mathieu-Daudé --- scripts/coccinelle/exec_rw_const.cocci | 14 ++++++++++++++ include/exec/cpu-common.h | 4 ++-- hw/display/exynos4210_fimd.c | 3 ++- hw/display/milkymist-tmu2.c | 8 ++++---- hw/display/omap_dss.c | 2 +- hw/display/ramfb.c | 2 +- hw/misc/pc-testdev.c | 2 +- hw/nvram/spapr_nvram.c | 4 ++-- hw/ppc/ppc440_uc.c | 6 ++++-- hw/ppc/spapr_hcall.c | 4 ++-- hw/s390x/ipl.c | 2 +- hw/s390x/s390-pci-bus.c | 2 +- hw/s390x/virtio-ccw.c | 2 +- hw/xen/xen_pt_graphics.c | 2 +- target/i386/hax-all.c | 4 ++-- target/s390x/excp_helper.c | 2 +- target/s390x/helper.c | 6 +++--- 17 files changed, 43 insertions(+), 26 deletions(-) diff --git a/scripts/coccinelle/exec_rw_const.cocci b/scripts/coccinelle/exec_rw_const.cocci index ee98ce988e..54b1cab8cd 100644 --- a/scripts/coccinelle/exec_rw_const.cocci +++ b/scripts/coccinelle/exec_rw_const.cocci @@ -11,6 +11,20 @@ expression E1, E2, E3, E4, E5; | - address_space_rw(E1, E2, E3, E4, E5, 1) + address_space_rw(E1, E2, E3, E4, E5, true) +| + +- cpu_physical_memory_rw(E1, E2, E3, 0) ++ cpu_physical_memory_rw(E1, E2, E3, false) +| +- cpu_physical_memory_rw(E1, E2, E3, 1) ++ cpu_physical_memory_rw(E1, E2, E3, true) +| + +- cpu_physical_memory_map(E1, E2, 0) ++ cpu_physical_memory_map(E1, E2, false) +| +- cpu_physical_memory_map(E1, E2, 1) ++ cpu_physical_memory_map(E1, E2, true) ) // Use address_space_write instead of casting to non-const diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h index 6bfe201779..e7fd5781ea 100644 --- a/include/exec/cpu-common.h +++ b/include/exec/cpu-common.h @@ -74,12 +74,12 @@ void cpu_physical_memory_rw(hwaddr addr, void *buf, static inline void cpu_physical_memory_read(hwaddr addr, void *buf, hwaddr len) { - cpu_physical_memory_rw(addr, buf, len, 0); + cpu_physical_memory_rw(addr, buf, len, false); } static inline void cpu_physical_memory_write(hwaddr addr, const void *buf, hwaddr len) { - cpu_physical_memory_rw(addr, (void *)buf, len, 1); + cpu_physical_memory_rw(addr, (void *)buf, len, true); } void *cpu_physical_memory_map(hwaddr addr, hwaddr *plen, diff --git a/hw/display/exynos4210_fimd.c b/hw/display/exynos4210_fimd.c index c1071ecd46..ec6776680e 100644 --- a/hw/display/exynos4210_fimd.c +++ b/hw/display/exynos4210_fimd.c @@ -1164,7 +1164,8 @@ static void fimd_update_memory_section(Exynos4210fimdState *s, unsigned win) goto error_return; } - w->host_fb_addr = cpu_physical_memory_map(fb_start_addr, &fb_mapped_len, 0); + w->host_fb_addr = cpu_physical_memory_map(fb_start_addr, &fb_mapped_len, + false); if (!w->host_fb_addr) { DPRINT_ERROR("Failed to map window %u framebuffer\n", win); goto error_return; diff --git a/hw/display/milkymist-tmu2.c b/hw/display/milkymist-tmu2.c index 199f1227e7..513c0d5bab 100644 --- a/hw/display/milkymist-tmu2.c +++ b/hw/display/milkymist-tmu2.c @@ -218,7 +218,7 @@ static void tmu2_start(MilkymistTMU2State *s) glGenTextures(1, &texture); glBindTexture(GL_TEXTURE_2D, texture); fb_len = 2ULL * s->regs[R_TEXHRES] * s->regs[R_TEXVRES]; - fb = cpu_physical_memory_map(s->regs[R_TEXFBUF], &fb_len, 0); + fb = cpu_physical_memory_map(s->regs[R_TEXFBUF], &fb_len, false); if (fb == NULL) { glDeleteTextures(1, &texture); glXMakeContextCurrent(s->dpy, None, None, NULL); @@ -262,7 +262,7 @@ static void tmu2_start(MilkymistTMU2State *s) /* Read the QEMU dest. framebuffer into the OpenGL framebuffer */ fb_len = 2ULL * s->regs[R_DSTHRES] * s->regs[R_DSTVRES]; - fb = cpu_physical_memory_map(s->regs[R_DSTFBUF], &fb_len, 0); + fb = cpu_physical_memory_map(s->regs[R_DSTFBUF], &fb_len, false); if (fb == NULL) { glDeleteTextures(1, &texture); glXMakeContextCurrent(s->dpy, None, None, NULL); @@ -281,7 +281,7 @@ static void tmu2_start(MilkymistTMU2State *s) /* Map the texture */ mesh_len = MESH_MAXSIZE*MESH_MAXSIZE*sizeof(struct vertex); - mesh = cpu_physical_memory_map(s->regs[R_VERTICESADDR], &mesh_len, 0); + mesh = cpu_physical_memory_map(s->regs[R_VERTICESADDR], &mesh_len, false); if (mesh == NULL) { glDeleteTextures(1, &texture); glXMakeContextCurrent(s->dpy, None, None, NULL); @@ -298,7 +298,7 @@ static void tmu2_start(MilkymistTMU2State *s) /* Write back the OpenGL framebuffer to the QEMU framebuffer */ fb_len = 2ULL * s->regs[R_DSTHRES] * s->regs[R_DSTVRES]; - fb = cpu_physical_memory_map(s->regs[R_DSTFBUF], &fb_len, 1); + fb = cpu_physical_memory_map(s->regs[R_DSTFBUF], &fb_len, true); if (fb == NULL) { glDeleteTextures(1, &texture); glXMakeContextCurrent(s->dpy, None, None, NULL); diff --git a/hw/display/omap_dss.c b/hw/display/omap_dss.c index 637aae8d39..32dc0d6aa7 100644 --- a/hw/display/omap_dss.c +++ b/hw/display/omap_dss.c @@ -632,7 +632,7 @@ static void omap_rfbi_transfer_start(struct omap_dss_s *s) len = s->rfbi.pixels * 2; data_addr = s->dispc.l[0].addr[0]; - data = cpu_physical_memory_map(data_addr, &len, 0); + data = cpu_physical_memory_map(data_addr, &len, false); if (data && len != s->rfbi.pixels * 2) { cpu_physical_memory_unmap(data, len, 0, 0); data = NULL; diff --git a/hw/display/ramfb.c b/hw/display/ramfb.c index cd94940223..7ba07c80f6 100644 --- a/hw/display/ramfb.c +++ b/hw/display/ramfb.c @@ -57,7 +57,7 @@ static DisplaySurface *ramfb_create_display_surface(int width, int height, } size = (hwaddr)linesize * height; - data = cpu_physical_memory_map(addr, &size, 0); + data = cpu_physical_memory_map(addr, &size, false); if (size != (hwaddr)linesize * height) { cpu_physical_memory_unmap(data, size, 0, 0); return NULL; diff --git a/hw/misc/pc-testdev.c b/hw/misc/pc-testdev.c index 0fb84ddc6b..8aa8e6549f 100644 --- a/hw/misc/pc-testdev.c +++ b/hw/misc/pc-testdev.c @@ -125,7 +125,7 @@ static void test_flush_page_write(void *opaque, hwaddr addr, uint64_t data, unsigned len) { hwaddr page = 4096; - void *a = cpu_physical_memory_map(data & ~0xffful, &page, 0); + void *a = cpu_physical_memory_map(data & ~0xffful, &page, false); /* We might not be able to get the full page, only mprotect what we actually have mapped */ diff --git a/hw/nvram/spapr_nvram.c b/hw/nvram/spapr_nvram.c index 877ddef7b9..15d08281d4 100644 --- a/hw/nvram/spapr_nvram.c +++ b/hw/nvram/spapr_nvram.c @@ -89,7 +89,7 @@ static void rtas_nvram_fetch(PowerPCCPU *cpu, SpaprMachineState *spapr, assert(nvram->buf); - membuf = cpu_physical_memory_map(buffer, &len, 1); + membuf = cpu_physical_memory_map(buffer, &len, true); memcpy(membuf, nvram->buf + offset, len); cpu_physical_memory_unmap(membuf, len, 1, len); @@ -127,7 +127,7 @@ static void rtas_nvram_store(PowerPCCPU *cpu, SpaprMachineState *spapr, return; } - membuf = cpu_physical_memory_map(buffer, &len, 0); + membuf = cpu_physical_memory_map(buffer, &len, false); alen = len; if (nvram->blk) { diff --git a/hw/ppc/ppc440_uc.c b/hw/ppc/ppc440_uc.c index 1a6a8fac22..d5ea962249 100644 --- a/hw/ppc/ppc440_uc.c +++ b/hw/ppc/ppc440_uc.c @@ -909,8 +909,10 @@ static void dcr_write_dma(void *opaque, int dcrn, uint32_t val) sidx = didx = 0; width = 1 << ((val & DMA0_CR_PW) >> 25); - rptr = cpu_physical_memory_map(dma->ch[chnl].sa, &rlen, 0); - wptr = cpu_physical_memory_map(dma->ch[chnl].da, &wlen, 1); + rptr = cpu_physical_memory_map(dma->ch[chnl].sa, &rlen, + false); + wptr = cpu_physical_memory_map(dma->ch[chnl].da, &wlen, + true); if (rptr && wptr) { if (!(val & DMA0_CR_DEC) && val & DMA0_CR_SAI && val & DMA0_CR_DAI) { diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c index b8bb66b5c0..caf55ab044 100644 --- a/hw/ppc/spapr_hcall.c +++ b/hw/ppc/spapr_hcall.c @@ -832,7 +832,7 @@ static target_ulong h_page_init(PowerPCCPU *cpu, SpaprMachineState *spapr, if (!is_ram_address(spapr, dst) || (dst & ~TARGET_PAGE_MASK) != 0) { return H_PARAMETER; } - pdst = cpu_physical_memory_map(dst, &len, 1); + pdst = cpu_physical_memory_map(dst, &len, true); if (!pdst || len != TARGET_PAGE_SIZE) { return H_PARAMETER; } @@ -843,7 +843,7 @@ static target_ulong h_page_init(PowerPCCPU *cpu, SpaprMachineState *spapr, ret = H_PARAMETER; goto unmap_out; } - psrc = cpu_physical_memory_map(src, &len, 0); + psrc = cpu_physical_memory_map(src, &len, false); if (!psrc || len != TARGET_PAGE_SIZE) { ret = H_PARAMETER; goto unmap_out; diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c index 7773499d7f..0817874b48 100644 --- a/hw/s390x/ipl.c +++ b/hw/s390x/ipl.c @@ -626,7 +626,7 @@ static void s390_ipl_prepare_qipl(S390CPU *cpu) uint8_t *addr; uint64_t len = 4096; - addr = cpu_physical_memory_map(cpu->env.psa, &len, 1); + addr = cpu_physical_memory_map(cpu->env.psa, &len, true); if (!addr || len < QIPL_ADDRESS + sizeof(QemuIplParameters)) { error_report("Cannot set QEMU IPL parameters"); return; diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c index 7c6a2b3c63..ed8be124da 100644 --- a/hw/s390x/s390-pci-bus.c +++ b/hw/s390x/s390-pci-bus.c @@ -641,7 +641,7 @@ static uint8_t set_ind_atomic(uint64_t ind_loc, uint8_t to_be_set) hwaddr len = 1; uint8_t *ind_addr; - ind_addr = cpu_physical_memory_map(ind_loc, &len, 1); + ind_addr = cpu_physical_memory_map(ind_loc, &len, true); if (!ind_addr) { s390_pci_generate_error_event(ERR_EVENT_AIRERR, 0, 0, 0, 0); return -1; diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c index 13f57e7b67..50cf95b781 100644 --- a/hw/s390x/virtio-ccw.c +++ b/hw/s390x/virtio-ccw.c @@ -790,7 +790,7 @@ static uint8_t virtio_set_ind_atomic(SubchDev *sch, uint64_t ind_loc, hwaddr len = 1; uint8_t *ind_addr; - ind_addr = cpu_physical_memory_map(ind_loc, &len, 1); + ind_addr = cpu_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); diff --git a/hw/xen/xen_pt_graphics.c b/hw/xen/xen_pt_graphics.c index b69732729b..b11e4e0546 100644 --- a/hw/xen/xen_pt_graphics.c +++ b/hw/xen/xen_pt_graphics.c @@ -222,7 +222,7 @@ void xen_pt_setup_vga(XenPCIPassthroughState *s, XenHostPCIDevice *dev, } /* Currently we fixed this address as a primary for legacy BIOS. */ - cpu_physical_memory_rw(0xc0000, bios, bios_size, 1); + cpu_physical_memory_rw(0xc0000, bios, bios_size, true); } uint32_t igd_read_opregion(XenPCIPassthroughState *s) diff --git a/target/i386/hax-all.c b/target/i386/hax-all.c index a9cc51e6ce..38936d7af6 100644 --- a/target/i386/hax-all.c +++ b/target/i386/hax-all.c @@ -376,8 +376,8 @@ static int hax_handle_fastmmio(CPUArchState *env, struct hax_fastmmio *hft) * hft->direction == 2: gpa ==> gpa2 */ uint64_t value; - cpu_physical_memory_rw(hft->gpa, &value, hft->size, 0); - cpu_physical_memory_rw(hft->gpa2, &value, hft->size, 1); + cpu_physical_memory_rw(hft->gpa, &value, hft->size, false); + cpu_physical_memory_rw(hft->gpa2, &value, hft->size, true); } return 0; diff --git a/target/s390x/excp_helper.c b/target/s390x/excp_helper.c index 1e9d6f20c1..3b58d10df3 100644 --- a/target/s390x/excp_helper.c +++ b/target/s390x/excp_helper.c @@ -393,7 +393,7 @@ static int mchk_store_vregs(CPUS390XState *env, uint64_t mcesao) MchkExtSaveArea *sa; int i; - sa = cpu_physical_memory_map(mcesao, &len, 1); + sa = cpu_physical_memory_map(mcesao, &len, true); if (!sa) { return -EFAULT; } diff --git a/target/s390x/helper.c b/target/s390x/helper.c index a3a49164e4..b810ad431e 100644 --- a/target/s390x/helper.c +++ b/target/s390x/helper.c @@ -151,7 +151,7 @@ LowCore *cpu_map_lowcore(CPUS390XState *env) LowCore *lowcore; hwaddr len = sizeof(LowCore); - lowcore = cpu_physical_memory_map(env->psa, &len, 1); + lowcore = cpu_physical_memory_map(env->psa, &len, true); if (len < sizeof(LowCore)) { cpu_abort(env_cpu(env), "Could not map lowcore\n"); @@ -246,7 +246,7 @@ int s390_store_status(S390CPU *cpu, hwaddr addr, bool store_arch) hwaddr len = sizeof(*sa); int i; - sa = cpu_physical_memory_map(addr, &len, 1); + sa = cpu_physical_memory_map(addr, &len, true); if (!sa) { return -EFAULT; } @@ -298,7 +298,7 @@ int s390_store_adtl_status(S390CPU *cpu, hwaddr addr, hwaddr len) hwaddr save = len; int i; - sa = cpu_physical_memory_map(addr, &save, 1); + sa = cpu_physical_memory_map(addr, &save, true); if (!sa) { return -EFAULT; } -- 2.21.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5A6C9C11D04 for ; Thu, 20 Feb 2020 13:07:43 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 200A5206ED for ; Thu, 20 Feb 2020 13:07:43 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="iuTgmODB" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 200A5206ED Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1j4lYC-0002D8-Os; Thu, 20 Feb 2020 13:07:32 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1j4lYB-0002CD-6T for xen-devel@lists.xenproject.org; Thu, 20 Feb 2020 13:07:31 +0000 X-Inumbo-ID: e867deaa-53e1-11ea-8526-12813bfff9fa Received: from us-smtp-1.mimecast.com (unknown [205.139.110.61]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTP id e867deaa-53e1-11ea-8526-12813bfff9fa; Thu, 20 Feb 2020 13:07:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1582204031; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=8q7l9fCCXUXfbPVdowHNP6yaBAEoO32+ciiHpilnfds=; b=iuTgmODB+Kvp5y/VsVoLGFeidkTFIVW+3bgxqGLYugZy0gBU7JWnTIJviYawVJNVfhx/3t 8RDZjPzpsediV5EBzYisTUa5j45nU7e2+X4eceD84/TMZcPr+fcOPg8O4OMM4ecKC4tUUv 0mPj2shRDAZ+dLJo83KOrwyE3jV1YnM= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-20-8XFVtp3gMEOjW6s5kleXEg-1; Thu, 20 Feb 2020 08:07:08 -0500 X-MC-Unique: 8XFVtp3gMEOjW6s5kleXEg-1 Received: by mail-wm1-f70.google.com with SMTP id f207so577815wme.6 for ; Thu, 20 Feb 2020 05:07:08 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Du/Q9cwkYv23U8HuA6dwHrSvlC9gAA5COcpF1xlZ39I=; b=rty5BXdf4IQxkHA883XvgC50DYZwtMNWxiPuBxJyRu13xkKEKXErqQDAKxepWy7bEb k9ZKLdMwLmfBU9gfIoftPjX10NPwAany1sd+jkH4YZnX+I4rUOvB7HCSZ+spZYHa0Z8P 8OUFB6anoU5H/AGFFPgl076tcmL0CqV7HbE4m4+uCFAKN5JN/wn2ahcRQoYsALWNLoDz bGWtYY0c6SGf/L2FXWWq3Xjo1d3FKHoNNg3nZPbxFJ2zEK98sNyRIt+TMvjKAGsan/mI 3BnMC+ZyJHevaKOAIQDGXXwG7wnU4G4L0jBRCyQgUEzsDTrS4OyJ5vRZKAnGOveXo3zv cxLA== X-Gm-Message-State: APjAAAXdEra3pUxlnCHqKdag4bLEVF/mFBrvVzOLnve/gFYaS48G9cEb +osqqMEbAVT7s5O9A6ynL8iDqbzBCVFTpS9DlnuHAd3W/nUP8tn/j7MsiSoXwOsy030e8mglhSY QSY0NIq7lUqgH8Nkb7Ou5aUCejKs= X-Received: by 2002:a7b:c088:: with SMTP id r8mr4601058wmh.18.1582204025778; Thu, 20 Feb 2020 05:07:05 -0800 (PST) X-Google-Smtp-Source: APXvYqzTc/nRX5CoIhTiVHPwKrtx6YNl9fhALe1YoNj6XyZHwJDsk5yvnlQRclQhspzivJLvmF3dTQ== X-Received: by 2002:a7b:c088:: with SMTP id r8mr4601010wmh.18.1582204025361; Thu, 20 Feb 2020 05:07:05 -0800 (PST) Received: from localhost.localdomain (78.red-88-21-202.staticip.rima-tde.net. [88.21.202.78]) by smtp.gmail.com with ESMTPSA id b67sm4594690wmc.38.2020.02.20.05.07.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Feb 2020 05:07:04 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Peter Maydell , qemu-devel@nongnu.org Date: Thu, 20 Feb 2020 14:05:47 +0100 Message-Id: <20200220130548.29974-20-philmd@redhat.com> X-Mailer: git-send-email 2.21.1 In-Reply-To: <20200220130548.29974-1-philmd@redhat.com> References: <20200220130548.29974-1-philmd@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Subject: [Xen-devel] [PATCH v3 19/20] Let cpu_[physical]_memory() calls pass a boolean 'is_write' argument X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Dmitry Fleytman , kvm@vger.kernel.org, "Michael S. Tsirkin" , Jason Wang , Gerd Hoffmann , "Edgar E. Iglesias" , Stefano Stabellini , Matthew Rosato , qemu-block@nongnu.org, David Hildenbrand , Halil Pasic , Christian Borntraeger , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Marcel Apfelbaum , Anthony Perard , xen-devel@lists.xenproject.org, Aleksandar Rikalo , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Laurent Vivier , Thomas Huth , Eduardo Habkost , Stefan Weil , Alistair Francis , Richard Henderson , Paul Durrant , Eric Auger , qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , John Snow , David Gibson , Igor Mitsyanko , Cornelia Huck , Michael Walle , qemu-ppc@nongnu.org, Paolo Bonzini Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" VXNlIGFuIGV4cGxpY2l0IGJvb2xlYW4gdHlwZS4KClRoaXMgY29tbWl0IHdhcyBwcm9kdWNlZCB3 aXRoIHRoZSBpbmNsdWRlZCBDb2NjaW5lbGxlIHNjcmlwdApzY3JpcHRzL2NvY2NpbmVsbGUvZXhl Y19yd19jb25zdC4KClNpZ25lZC1vZmYtYnk6IFBoaWxpcHBlIE1hdGhpZXUtRGF1ZMOpIDxwaGls bWRAcmVkaGF0LmNvbT4KLS0tCiBzY3JpcHRzL2NvY2NpbmVsbGUvZXhlY19yd19jb25zdC5jb2Nj aSB8IDE0ICsrKysrKysrKysrKysrCiBpbmNsdWRlL2V4ZWMvY3B1LWNvbW1vbi5oICAgICAgICAg ICAgICB8ICA0ICsrLS0KIGh3L2Rpc3BsYXkvZXh5bm9zNDIxMF9maW1kLmMgICAgICAgICAgIHwg IDMgKystCiBody9kaXNwbGF5L21pbGt5bWlzdC10bXUyLmMgICAgICAgICAgICB8ICA4ICsrKyst LS0tCiBody9kaXNwbGF5L29tYXBfZHNzLmMgICAgICAgICAgICAgICAgICB8ICAyICstCiBody9k aXNwbGF5L3JhbWZiLmMgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBody9taXNjL3BjLXRl c3RkZXYuYyAgICAgICAgICAgICAgICAgICB8ICAyICstCiBody9udnJhbS9zcGFwcl9udnJhbS5j ICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIGh3L3BwYy9wcGM0NDBfdWMuYyAgICAgICAgICAg ICAgICAgICAgIHwgIDYgKysrKy0tCiBody9wcGMvc3BhcHJfaGNhbGwuYyAgICAgICAgICAgICAg ICAgICB8ICA0ICsrLS0KIGh3L3MzOTB4L2lwbC5jICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDIgKy0KIGh3L3MzOTB4L3MzOTAtcGNpLWJ1cy5jICAgICAgICAgICAgICAgIHwgIDIgKy0KIGh3 L3MzOTB4L3ZpcnRpby1jY3cuYyAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGh3L3hlbi94ZW5f cHRfZ3JhcGhpY3MuYyAgICAgICAgICAgICAgIHwgIDIgKy0KIHRhcmdldC9pMzg2L2hheC1hbGwu YyAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogdGFyZ2V0L3MzOTB4L2V4Y3BfaGVscGVyLmMg ICAgICAgICAgICAgfCAgMiArLQogdGFyZ2V0L3MzOTB4L2hlbHBlci5jICAgICAgICAgICAgICAg ICAgfCAgNiArKystLS0KIDE3IGZpbGVzIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDI2IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NjcmlwdHMvY29jY2luZWxsZS9leGVjX3J3X2NvbnN0 LmNvY2NpIGIvc2NyaXB0cy9jb2NjaW5lbGxlL2V4ZWNfcndfY29uc3QuY29jY2kKaW5kZXggZWU5 OGNlOTg4ZS4uNTRiMWNhYjhjZCAxMDA2NDQKLS0tIGEvc2NyaXB0cy9jb2NjaW5lbGxlL2V4ZWNf cndfY29uc3QuY29jY2kKKysrIGIvc2NyaXB0cy9jb2NjaW5lbGxlL2V4ZWNfcndfY29uc3QuY29j Y2kKQEAgLTExLDYgKzExLDIwIEBAIGV4cHJlc3Npb24gRTEsIEUyLCBFMywgRTQsIEU1OwogfAog LSBhZGRyZXNzX3NwYWNlX3J3KEUxLCBFMiwgRTMsIEU0LCBFNSwgMSkKICsgYWRkcmVzc19zcGFj ZV9ydyhFMSwgRTIsIEUzLCBFNCwgRTUsIHRydWUpCit8CisKKy0gY3B1X3BoeXNpY2FsX21lbW9y eV9ydyhFMSwgRTIsIEUzLCAwKQorKyBjcHVfcGh5c2ljYWxfbWVtb3J5X3J3KEUxLCBFMiwgRTMs IGZhbHNlKQorfAorLSBjcHVfcGh5c2ljYWxfbWVtb3J5X3J3KEUxLCBFMiwgRTMsIDEpCisrIGNw dV9waHlzaWNhbF9tZW1vcnlfcncoRTEsIEUyLCBFMywgdHJ1ZSkKK3wKKworLSBjcHVfcGh5c2lj YWxfbWVtb3J5X21hcChFMSwgRTIsIDApCisrIGNwdV9waHlzaWNhbF9tZW1vcnlfbWFwKEUxLCBF MiwgZmFsc2UpCit8CistIGNwdV9waHlzaWNhbF9tZW1vcnlfbWFwKEUxLCBFMiwgMSkKKysgY3B1 X3BoeXNpY2FsX21lbW9yeV9tYXAoRTEsIEUyLCB0cnVlKQogKQogCiAvLyBVc2UgYWRkcmVzc19z cGFjZV93cml0ZSBpbnN0ZWFkIG9mIGNhc3RpbmcgdG8gbm9uLWNvbnN0CmRpZmYgLS1naXQgYS9p bmNsdWRlL2V4ZWMvY3B1LWNvbW1vbi5oIGIvaW5jbHVkZS9leGVjL2NwdS1jb21tb24uaAppbmRl eCA2YmZlMjAxNzc5Li5lN2ZkNTc4MWVhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2V4ZWMvY3B1LWNv bW1vbi5oCisrKyBiL2luY2x1ZGUvZXhlYy9jcHUtY29tbW9uLmgKQEAgLTc0LDEyICs3NCwxMiBA QCB2b2lkIGNwdV9waHlzaWNhbF9tZW1vcnlfcncoaHdhZGRyIGFkZHIsIHZvaWQgKmJ1ZiwKIHN0 YXRpYyBpbmxpbmUgdm9pZCBjcHVfcGh5c2ljYWxfbWVtb3J5X3JlYWQoaHdhZGRyIGFkZHIsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmJ1ZiwgaHdh ZGRyIGxlbikKIHsKLSAgICBjcHVfcGh5c2ljYWxfbWVtb3J5X3J3KGFkZHIsIGJ1ZiwgbGVuLCAw KTsKKyAgICBjcHVfcGh5c2ljYWxfbWVtb3J5X3J3KGFkZHIsIGJ1ZiwgbGVuLCBmYWxzZSk7CiB9 CiBzdGF0aWMgaW5saW5lIHZvaWQgY3B1X3BoeXNpY2FsX21lbW9yeV93cml0ZShod2FkZHIgYWRk ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZv aWQgKmJ1ZiwgaHdhZGRyIGxlbikKIHsKLSAgICBjcHVfcGh5c2ljYWxfbWVtb3J5X3J3KGFkZHIs ICh2b2lkICopYnVmLCBsZW4sIDEpOworICAgIGNwdV9waHlzaWNhbF9tZW1vcnlfcncoYWRkciwg KHZvaWQgKilidWYsIGxlbiwgdHJ1ZSk7CiB9CiB2b2lkICpjcHVfcGh5c2ljYWxfbWVtb3J5X21h cChod2FkZHIgYWRkciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh3YWRkciAqcGxl biwKZGlmZiAtLWdpdCBhL2h3L2Rpc3BsYXkvZXh5bm9zNDIxMF9maW1kLmMgYi9ody9kaXNwbGF5 L2V4eW5vczQyMTBfZmltZC5jCmluZGV4IGMxMDcxZWNkNDYuLmVjNjc3NjY4MGUgMTAwNjQ0Ci0t LSBhL2h3L2Rpc3BsYXkvZXh5bm9zNDIxMF9maW1kLmMKKysrIGIvaHcvZGlzcGxheS9leHlub3M0 MjEwX2ZpbWQuYwpAQCAtMTE2NCw3ICsxMTY0LDggQEAgc3RhdGljIHZvaWQgZmltZF91cGRhdGVf bWVtb3J5X3NlY3Rpb24oRXh5bm9zNDIxMGZpbWRTdGF0ZSAqcywgdW5zaWduZWQgd2luKQogICAg ICAgICBnb3RvIGVycm9yX3JldHVybjsKICAgICB9CiAKLSAgICB3LT5ob3N0X2ZiX2FkZHIgPSBj cHVfcGh5c2ljYWxfbWVtb3J5X21hcChmYl9zdGFydF9hZGRyLCAmZmJfbWFwcGVkX2xlbiwgMCk7 CisgICAgdy0+aG9zdF9mYl9hZGRyID0gY3B1X3BoeXNpY2FsX21lbW9yeV9tYXAoZmJfc3RhcnRf YWRkciwgJmZiX21hcHBlZF9sZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZmFsc2UpOwogICAgIGlmICghdy0+aG9zdF9mYl9hZGRyKSB7CiAgICAgICAg IERQUklOVF9FUlJPUigiRmFpbGVkIHRvIG1hcCB3aW5kb3cgJXUgZnJhbWVidWZmZXJcbiIsIHdp bik7CiAgICAgICAgIGdvdG8gZXJyb3JfcmV0dXJuOwpkaWZmIC0tZ2l0IGEvaHcvZGlzcGxheS9t aWxreW1pc3QtdG11Mi5jIGIvaHcvZGlzcGxheS9taWxreW1pc3QtdG11Mi5jCmluZGV4IDE5OWYx MjI3ZTcuLjUxM2MwZDViYWIgMTAwNjQ0Ci0tLSBhL2h3L2Rpc3BsYXkvbWlsa3ltaXN0LXRtdTIu YworKysgYi9ody9kaXNwbGF5L21pbGt5bWlzdC10bXUyLmMKQEAgLTIxOCw3ICsyMTgsNyBAQCBz dGF0aWMgdm9pZCB0bXUyX3N0YXJ0KE1pbGt5bWlzdFRNVTJTdGF0ZSAqcykKICAgICBnbEdlblRl eHR1cmVzKDEsICZ0ZXh0dXJlKTsKICAgICBnbEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIHRl eHR1cmUpOwogICAgIGZiX2xlbiA9IDJVTEwgKiBzLT5yZWdzW1JfVEVYSFJFU10gKiBzLT5yZWdz W1JfVEVYVlJFU107Ci0gICAgZmIgPSBjcHVfcGh5c2ljYWxfbWVtb3J5X21hcChzLT5yZWdzW1Jf VEVYRkJVRl0sICZmYl9sZW4sIDApOworICAgIGZiID0gY3B1X3BoeXNpY2FsX21lbW9yeV9tYXAo cy0+cmVnc1tSX1RFWEZCVUZdLCAmZmJfbGVuLCBmYWxzZSk7CiAgICAgaWYgKGZiID09IE5VTEwp IHsKICAgICAgICAgZ2xEZWxldGVUZXh0dXJlcygxLCAmdGV4dHVyZSk7CiAgICAgICAgIGdsWE1h a2VDb250ZXh0Q3VycmVudChzLT5kcHksIE5vbmUsIE5vbmUsIE5VTEwpOwpAQCAtMjYyLDcgKzI2 Miw3IEBAIHN0YXRpYyB2b2lkIHRtdTJfc3RhcnQoTWlsa3ltaXN0VE1VMlN0YXRlICpzKQogCiAg ICAgLyogUmVhZCB0aGUgUUVNVSBkZXN0LiBmcmFtZWJ1ZmZlciBpbnRvIHRoZSBPcGVuR0wgZnJh bWVidWZmZXIgKi8KICAgICBmYl9sZW4gPSAyVUxMICogcy0+cmVnc1tSX0RTVEhSRVNdICogcy0+ cmVnc1tSX0RTVFZSRVNdOwotICAgIGZiID0gY3B1X3BoeXNpY2FsX21lbW9yeV9tYXAocy0+cmVn c1tSX0RTVEZCVUZdLCAmZmJfbGVuLCAwKTsKKyAgICBmYiA9IGNwdV9waHlzaWNhbF9tZW1vcnlf bWFwKHMtPnJlZ3NbUl9EU1RGQlVGXSwgJmZiX2xlbiwgZmFsc2UpOwogICAgIGlmIChmYiA9PSBO VUxMKSB7CiAgICAgICAgIGdsRGVsZXRlVGV4dHVyZXMoMSwgJnRleHR1cmUpOwogICAgICAgICBn bFhNYWtlQ29udGV4dEN1cnJlbnQocy0+ZHB5LCBOb25lLCBOb25lLCBOVUxMKTsKQEAgLTI4MSw3 ICsyODEsNyBAQCBzdGF0aWMgdm9pZCB0bXUyX3N0YXJ0KE1pbGt5bWlzdFRNVTJTdGF0ZSAqcykK IAogICAgIC8qIE1hcCB0aGUgdGV4dHVyZSAqLwogICAgIG1lc2hfbGVuID0gTUVTSF9NQVhTSVpF Kk1FU0hfTUFYU0laRSpzaXplb2Yoc3RydWN0IHZlcnRleCk7Ci0gICAgbWVzaCA9IGNwdV9waHlz aWNhbF9tZW1vcnlfbWFwKHMtPnJlZ3NbUl9WRVJUSUNFU0FERFJdLCAmbWVzaF9sZW4sIDApOwor ICAgIG1lc2ggPSBjcHVfcGh5c2ljYWxfbWVtb3J5X21hcChzLT5yZWdzW1JfVkVSVElDRVNBRERS XSwgJm1lc2hfbGVuLCBmYWxzZSk7CiAgICAgaWYgKG1lc2ggPT0gTlVMTCkgewogICAgICAgICBn bERlbGV0ZVRleHR1cmVzKDEsICZ0ZXh0dXJlKTsKICAgICAgICAgZ2xYTWFrZUNvbnRleHRDdXJy ZW50KHMtPmRweSwgTm9uZSwgTm9uZSwgTlVMTCk7CkBAIC0yOTgsNyArMjk4LDcgQEAgc3RhdGlj IHZvaWQgdG11Ml9zdGFydChNaWxreW1pc3RUTVUyU3RhdGUgKnMpCiAKICAgICAvKiBXcml0ZSBi YWNrIHRoZSBPcGVuR0wgZnJhbWVidWZmZXIgdG8gdGhlIFFFTVUgZnJhbWVidWZmZXIgKi8KICAg ICBmYl9sZW4gPSAyVUxMICogcy0+cmVnc1tSX0RTVEhSRVNdICogcy0+cmVnc1tSX0RTVFZSRVNd OwotICAgIGZiID0gY3B1X3BoeXNpY2FsX21lbW9yeV9tYXAocy0+cmVnc1tSX0RTVEZCVUZdLCAm ZmJfbGVuLCAxKTsKKyAgICBmYiA9IGNwdV9waHlzaWNhbF9tZW1vcnlfbWFwKHMtPnJlZ3NbUl9E U1RGQlVGXSwgJmZiX2xlbiwgdHJ1ZSk7CiAgICAgaWYgKGZiID09IE5VTEwpIHsKICAgICAgICAg Z2xEZWxldGVUZXh0dXJlcygxLCAmdGV4dHVyZSk7CiAgICAgICAgIGdsWE1ha2VDb250ZXh0Q3Vy cmVudChzLT5kcHksIE5vbmUsIE5vbmUsIE5VTEwpOwpkaWZmIC0tZ2l0IGEvaHcvZGlzcGxheS9v bWFwX2Rzcy5jIGIvaHcvZGlzcGxheS9vbWFwX2Rzcy5jCmluZGV4IDYzN2FhZThkMzkuLjMyZGMw ZDZhYTcgMTAwNjQ0Ci0tLSBhL2h3L2Rpc3BsYXkvb21hcF9kc3MuYworKysgYi9ody9kaXNwbGF5 L29tYXBfZHNzLmMKQEAgLTYzMiw3ICs2MzIsNyBAQCBzdGF0aWMgdm9pZCBvbWFwX3JmYmlfdHJh bnNmZXJfc3RhcnQoc3RydWN0IG9tYXBfZHNzX3MgKnMpCiAgICAgbGVuID0gcy0+cmZiaS5waXhl bHMgKiAyOwogCiAgICAgZGF0YV9hZGRyID0gcy0+ZGlzcGMubFswXS5hZGRyWzBdOwotICAgIGRh dGEgPSBjcHVfcGh5c2ljYWxfbWVtb3J5X21hcChkYXRhX2FkZHIsICZsZW4sIDApOworICAgIGRh dGEgPSBjcHVfcGh5c2ljYWxfbWVtb3J5X21hcChkYXRhX2FkZHIsICZsZW4sIGZhbHNlKTsKICAg ICBpZiAoZGF0YSAmJiBsZW4gIT0gcy0+cmZiaS5waXhlbHMgKiAyKSB7CiAgICAgICAgIGNwdV9w aHlzaWNhbF9tZW1vcnlfdW5tYXAoZGF0YSwgbGVuLCAwLCAwKTsKICAgICAgICAgZGF0YSA9IE5V TEw7CmRpZmYgLS1naXQgYS9ody9kaXNwbGF5L3JhbWZiLmMgYi9ody9kaXNwbGF5L3JhbWZiLmMK aW5kZXggY2Q5NDk0MDIyMy4uN2JhMDdjODBmNiAxMDA2NDQKLS0tIGEvaHcvZGlzcGxheS9yYW1m Yi5jCisrKyBiL2h3L2Rpc3BsYXkvcmFtZmIuYwpAQCAtNTcsNyArNTcsNyBAQCBzdGF0aWMgRGlz cGxheVN1cmZhY2UgKnJhbWZiX2NyZWF0ZV9kaXNwbGF5X3N1cmZhY2UoaW50IHdpZHRoLCBpbnQg aGVpZ2h0LAogICAgIH0KIAogICAgIHNpemUgPSAoaHdhZGRyKWxpbmVzaXplICogaGVpZ2h0Owot ICAgIGRhdGEgPSBjcHVfcGh5c2ljYWxfbWVtb3J5X21hcChhZGRyLCAmc2l6ZSwgMCk7CisgICAg ZGF0YSA9IGNwdV9waHlzaWNhbF9tZW1vcnlfbWFwKGFkZHIsICZzaXplLCBmYWxzZSk7CiAgICAg aWYgKHNpemUgIT0gKGh3YWRkcilsaW5lc2l6ZSAqIGhlaWdodCkgewogICAgICAgICBjcHVfcGh5 c2ljYWxfbWVtb3J5X3VubWFwKGRhdGEsIHNpemUsIDAsIDApOwogICAgICAgICByZXR1cm4gTlVM TDsKZGlmZiAtLWdpdCBhL2h3L21pc2MvcGMtdGVzdGRldi5jIGIvaHcvbWlzYy9wYy10ZXN0ZGV2 LmMKaW5kZXggMGZiODRkZGM2Yi4uOGFhOGU2NTQ5ZiAxMDA2NDQKLS0tIGEvaHcvbWlzYy9wYy10 ZXN0ZGV2LmMKKysrIGIvaHcvbWlzYy9wYy10ZXN0ZGV2LmMKQEAgLTEyNSw3ICsxMjUsNyBAQCBz dGF0aWMgdm9pZCB0ZXN0X2ZsdXNoX3BhZ2Vfd3JpdGUodm9pZCAqb3BhcXVlLCBod2FkZHIgYWRk ciwgdWludDY0X3QgZGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBs ZW4pCiB7CiAgICAgaHdhZGRyIHBhZ2UgPSA0MDk2OwotICAgIHZvaWQgKmEgPSBjcHVfcGh5c2lj YWxfbWVtb3J5X21hcChkYXRhICYgfjB4ZmZmdWwsICZwYWdlLCAwKTsKKyAgICB2b2lkICphID0g Y3B1X3BoeXNpY2FsX21lbW9yeV9tYXAoZGF0YSAmIH4weGZmZnVsLCAmcGFnZSwgZmFsc2UpOwog CiAgICAgLyogV2UgbWlnaHQgbm90IGJlIGFibGUgdG8gZ2V0IHRoZSBmdWxsIHBhZ2UsIG9ubHkg bXByb3RlY3Qgd2hhdCB3ZSBhY3R1YWxseQogICAgICAgIGhhdmUgbWFwcGVkICovCmRpZmYgLS1n aXQgYS9ody9udnJhbS9zcGFwcl9udnJhbS5jIGIvaHcvbnZyYW0vc3BhcHJfbnZyYW0uYwppbmRl eCA4NzdkZGVmN2I5Li4xNWQwODI4MWQ0IDEwMDY0NAotLS0gYS9ody9udnJhbS9zcGFwcl9udnJh bS5jCisrKyBiL2h3L252cmFtL3NwYXByX252cmFtLmMKQEAgLTg5LDcgKzg5LDcgQEAgc3RhdGlj IHZvaWQgcnRhc19udnJhbV9mZXRjaChQb3dlclBDQ1BVICpjcHUsIFNwYXByTWFjaGluZVN0YXRl ICpzcGFwciwKIAogICAgIGFzc2VydChudnJhbS0+YnVmKTsKIAotICAgIG1lbWJ1ZiA9IGNwdV9w aHlzaWNhbF9tZW1vcnlfbWFwKGJ1ZmZlciwgJmxlbiwgMSk7CisgICAgbWVtYnVmID0gY3B1X3Bo eXNpY2FsX21lbW9yeV9tYXAoYnVmZmVyLCAmbGVuLCB0cnVlKTsKICAgICBtZW1jcHkobWVtYnVm LCBudnJhbS0+YnVmICsgb2Zmc2V0LCBsZW4pOwogICAgIGNwdV9waHlzaWNhbF9tZW1vcnlfdW5t YXAobWVtYnVmLCBsZW4sIDEsIGxlbik7CiAKQEAgLTEyNyw3ICsxMjcsNyBAQCBzdGF0aWMgdm9p ZCBydGFzX252cmFtX3N0b3JlKFBvd2VyUENDUFUgKmNwdSwgU3BhcHJNYWNoaW5lU3RhdGUgKnNw YXByLAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgbWVtYnVmID0gY3B1X3BoeXNpY2Fs X21lbW9yeV9tYXAoYnVmZmVyLCAmbGVuLCAwKTsKKyAgICBtZW1idWYgPSBjcHVfcGh5c2ljYWxf bWVtb3J5X21hcChidWZmZXIsICZsZW4sIGZhbHNlKTsKIAogICAgIGFsZW4gPSBsZW47CiAgICAg aWYgKG52cmFtLT5ibGspIHsKZGlmZiAtLWdpdCBhL2h3L3BwYy9wcGM0NDBfdWMuYyBiL2h3L3Bw Yy9wcGM0NDBfdWMuYwppbmRleCAxYTZhOGZhYzIyLi5kNWVhOTYyMjQ5IDEwMDY0NAotLS0gYS9o dy9wcGMvcHBjNDQwX3VjLmMKKysrIGIvaHcvcHBjL3BwYzQ0MF91Yy5jCkBAIC05MDksOCArOTA5 LDEwIEBAIHN0YXRpYyB2b2lkIGRjcl93cml0ZV9kbWEodm9pZCAqb3BhcXVlLCBpbnQgZGNybiwg dWludDMyX3QgdmFsKQogCiAgICAgICAgICAgICAgICAgICAgIHNpZHggPSBkaWR4ID0gMDsKICAg ICAgICAgICAgICAgICAgICAgd2lkdGggPSAxIDw8ICgodmFsICYgRE1BMF9DUl9QVykgPj4gMjUp OwotICAgICAgICAgICAgICAgICAgICBycHRyID0gY3B1X3BoeXNpY2FsX21lbW9yeV9tYXAoZG1h LT5jaFtjaG5sXS5zYSwgJnJsZW4sIDApOwotICAgICAgICAgICAgICAgICAgICB3cHRyID0gY3B1 X3BoeXNpY2FsX21lbW9yeV9tYXAoZG1hLT5jaFtjaG5sXS5kYSwgJndsZW4sIDEpOworICAgICAg ICAgICAgICAgICAgICBycHRyID0gY3B1X3BoeXNpY2FsX21lbW9yeV9tYXAoZG1hLT5jaFtjaG5s XS5zYSwgJnJsZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBmYWxzZSk7CisgICAgICAgICAgICAgICAgICAgIHdwdHIgPSBjcHVfcGh5c2ljYWxf bWVtb3J5X21hcChkbWEtPmNoW2NobmxdLmRhLCAmd2xlbiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUpOwogICAgICAgICAgICAgICAgICAg ICBpZiAocnB0ciAmJiB3cHRyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoISh2YWwg JiBETUEwX0NSX0RFQykgJiYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwgJiBETUEw X0NSX1NBSSAmJiB2YWwgJiBETUEwX0NSX0RBSSkgewpkaWZmIC0tZ2l0IGEvaHcvcHBjL3NwYXBy X2hjYWxsLmMgYi9ody9wcGMvc3BhcHJfaGNhbGwuYwppbmRleCBiOGJiNjZiNWMwLi5jYWY1NWFi MDQ0IDEwMDY0NAotLS0gYS9ody9wcGMvc3BhcHJfaGNhbGwuYworKysgYi9ody9wcGMvc3BhcHJf aGNhbGwuYwpAQCAtODMyLDcgKzgzMiw3IEBAIHN0YXRpYyB0YXJnZXRfdWxvbmcgaF9wYWdlX2lu aXQoUG93ZXJQQ0NQVSAqY3B1LCBTcGFwck1hY2hpbmVTdGF0ZSAqc3BhcHIsCiAgICAgaWYgKCFp c19yYW1fYWRkcmVzcyhzcGFwciwgZHN0KSB8fCAoZHN0ICYgflRBUkdFVF9QQUdFX01BU0spICE9 IDApIHsKICAgICAgICAgcmV0dXJuIEhfUEFSQU1FVEVSOwogICAgIH0KLSAgICBwZHN0ID0gY3B1 X3BoeXNpY2FsX21lbW9yeV9tYXAoZHN0LCAmbGVuLCAxKTsKKyAgICBwZHN0ID0gY3B1X3BoeXNp Y2FsX21lbW9yeV9tYXAoZHN0LCAmbGVuLCB0cnVlKTsKICAgICBpZiAoIXBkc3QgfHwgbGVuICE9 IFRBUkdFVF9QQUdFX1NJWkUpIHsKICAgICAgICAgcmV0dXJuIEhfUEFSQU1FVEVSOwogICAgIH0K QEAgLTg0Myw3ICs4NDMsNyBAQCBzdGF0aWMgdGFyZ2V0X3Vsb25nIGhfcGFnZV9pbml0KFBvd2Vy UENDUFUgKmNwdSwgU3BhcHJNYWNoaW5lU3RhdGUgKnNwYXByLAogICAgICAgICAgICAgcmV0ID0g SF9QQVJBTUVURVI7CiAgICAgICAgICAgICBnb3RvIHVubWFwX291dDsKICAgICAgICAgfQotICAg ICAgICBwc3JjID0gY3B1X3BoeXNpY2FsX21lbW9yeV9tYXAoc3JjLCAmbGVuLCAwKTsKKyAgICAg ICAgcHNyYyA9IGNwdV9waHlzaWNhbF9tZW1vcnlfbWFwKHNyYywgJmxlbiwgZmFsc2UpOwogICAg ICAgICBpZiAoIXBzcmMgfHwgbGVuICE9IFRBUkdFVF9QQUdFX1NJWkUpIHsKICAgICAgICAgICAg IHJldCA9IEhfUEFSQU1FVEVSOwogICAgICAgICAgICAgZ290byB1bm1hcF9vdXQ7CmRpZmYgLS1n aXQgYS9ody9zMzkweC9pcGwuYyBiL2h3L3MzOTB4L2lwbC5jCmluZGV4IDc3NzM0OTlkN2YuLjA4 MTc4NzRiNDggMTAwNjQ0Ci0tLSBhL2h3L3MzOTB4L2lwbC5jCisrKyBiL2h3L3MzOTB4L2lwbC5j CkBAIC02MjYsNyArNjI2LDcgQEAgc3RhdGljIHZvaWQgczM5MF9pcGxfcHJlcGFyZV9xaXBsKFMz OTBDUFUgKmNwdSkKICAgICB1aW50OF90ICphZGRyOwogICAgIHVpbnQ2NF90IGxlbiA9IDQwOTY7 CiAKLSAgICBhZGRyID0gY3B1X3BoeXNpY2FsX21lbW9yeV9tYXAoY3B1LT5lbnYucHNhLCAmbGVu LCAxKTsKKyAgICBhZGRyID0gY3B1X3BoeXNpY2FsX21lbW9yeV9tYXAoY3B1LT5lbnYucHNhLCAm bGVuLCB0cnVlKTsKICAgICBpZiAoIWFkZHIgfHwgbGVuIDwgUUlQTF9BRERSRVNTICsgc2l6ZW9m KFFlbXVJcGxQYXJhbWV0ZXJzKSkgewogICAgICAgICBlcnJvcl9yZXBvcnQoIkNhbm5vdCBzZXQg UUVNVSBJUEwgcGFyYW1ldGVycyIpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9ody9z MzkweC9zMzkwLXBjaS1idXMuYyBiL2h3L3MzOTB4L3MzOTAtcGNpLWJ1cy5jCmluZGV4IDdjNmEy YjNjNjMuLmVkOGJlMTI0ZGEgMTAwNjQ0Ci0tLSBhL2h3L3MzOTB4L3MzOTAtcGNpLWJ1cy5jCisr KyBiL2h3L3MzOTB4L3MzOTAtcGNpLWJ1cy5jCkBAIC02NDEsNyArNjQxLDcgQEAgc3RhdGljIHVp bnQ4X3Qgc2V0X2luZF9hdG9taWModWludDY0X3QgaW5kX2xvYywgdWludDhfdCB0b19iZV9zZXQp CiAgICAgaHdhZGRyIGxlbiA9IDE7CiAgICAgdWludDhfdCAqaW5kX2FkZHI7CiAKLSAgICBpbmRf YWRkciA9IGNwdV9waHlzaWNhbF9tZW1vcnlfbWFwKGluZF9sb2MsICZsZW4sIDEpOworICAgIGlu ZF9hZGRyID0gY3B1X3BoeXNpY2FsX21lbW9yeV9tYXAoaW5kX2xvYywgJmxlbiwgdHJ1ZSk7CiAg ICAgaWYgKCFpbmRfYWRkcikgewogICAgICAgICBzMzkwX3BjaV9nZW5lcmF0ZV9lcnJvcl9ldmVu dChFUlJfRVZFTlRfQUlSRVJSLCAwLCAwLCAwLCAwKTsKICAgICAgICAgcmV0dXJuIC0xOwpkaWZm IC0tZ2l0IGEvaHcvczM5MHgvdmlydGlvLWNjdy5jIGIvaHcvczM5MHgvdmlydGlvLWNjdy5jCmlu ZGV4IDEzZjU3ZTdiNjcuLjUwY2Y5NWI3ODEgMTAwNjQ0Ci0tLSBhL2h3L3MzOTB4L3ZpcnRpby1j Y3cuYworKysgYi9ody9zMzkweC92aXJ0aW8tY2N3LmMKQEAgLTc5MCw3ICs3OTAsNyBAQCBzdGF0 aWMgdWludDhfdCB2aXJ0aW9fc2V0X2luZF9hdG9taWMoU3ViY2hEZXYgKnNjaCwgdWludDY0X3Qg aW5kX2xvYywKICAgICBod2FkZHIgbGVuID0gMTsKICAgICB1aW50OF90ICppbmRfYWRkcjsKIAot ICAgIGluZF9hZGRyID0gY3B1X3BoeXNpY2FsX21lbW9yeV9tYXAoaW5kX2xvYywgJmxlbiwgMSk7 CisgICAgaW5kX2FkZHIgPSBjcHVfcGh5c2ljYWxfbWVtb3J5X21hcChpbmRfbG9jLCAmbGVuLCB0 cnVlKTsKICAgICBpZiAoIWluZF9hZGRyKSB7CiAgICAgICAgIGVycm9yX3JlcG9ydCgiJXMoJXgu JXguJTA0eCk6IHVuYWJsZSB0byBhY2Nlc3MgaW5kaWNhdG9yIiwKICAgICAgICAgICAgICAgICAg ICAgIF9fZnVuY19fLCBzY2gtPmNzc2lkLCBzY2gtPnNzaWQsIHNjaC0+c2NoaWQpOwpkaWZmIC0t Z2l0IGEvaHcveGVuL3hlbl9wdF9ncmFwaGljcy5jIGIvaHcveGVuL3hlbl9wdF9ncmFwaGljcy5j CmluZGV4IGI2OTczMjcyOWIuLmIxMWU0ZTA1NDYgMTAwNjQ0Ci0tLSBhL2h3L3hlbi94ZW5fcHRf Z3JhcGhpY3MuYworKysgYi9ody94ZW4veGVuX3B0X2dyYXBoaWNzLmMKQEAgLTIyMiw3ICsyMjIs NyBAQCB2b2lkIHhlbl9wdF9zZXR1cF92Z2EoWGVuUENJUGFzc3Rocm91Z2hTdGF0ZSAqcywgWGVu SG9zdFBDSURldmljZSAqZGV2LAogICAgIH0KIAogICAgIC8qIEN1cnJlbnRseSB3ZSBmaXhlZCB0 aGlzIGFkZHJlc3MgYXMgYSBwcmltYXJ5IGZvciBsZWdhY3kgQklPUy4gKi8KLSAgICBjcHVfcGh5 c2ljYWxfbWVtb3J5X3J3KDB4YzAwMDAsIGJpb3MsIGJpb3Nfc2l6ZSwgMSk7CisgICAgY3B1X3Bo eXNpY2FsX21lbW9yeV9ydygweGMwMDAwLCBiaW9zLCBiaW9zX3NpemUsIHRydWUpOwogfQogCiB1 aW50MzJfdCBpZ2RfcmVhZF9vcHJlZ2lvbihYZW5QQ0lQYXNzdGhyb3VnaFN0YXRlICpzKQpkaWZm IC0tZ2l0IGEvdGFyZ2V0L2kzODYvaGF4LWFsbC5jIGIvdGFyZ2V0L2kzODYvaGF4LWFsbC5jCmlu ZGV4IGE5Y2M1MWU2Y2UuLjM4OTM2ZDdhZjYgMTAwNjQ0Ci0tLSBhL3RhcmdldC9pMzg2L2hheC1h bGwuYworKysgYi90YXJnZXQvaTM4Ni9oYXgtYWxsLmMKQEAgLTM3Niw4ICszNzYsOCBAQCBzdGF0 aWMgaW50IGhheF9oYW5kbGVfZmFzdG1taW8oQ1BVQXJjaFN0YXRlICplbnYsIHN0cnVjdCBoYXhf ZmFzdG1taW8gKmhmdCkKICAgICAgICAgICogIGhmdC0+ZGlyZWN0aW9uID09IDI6IGdwYSA9PT4g Z3BhMgogICAgICAgICAgKi8KICAgICAgICAgdWludDY0X3QgdmFsdWU7Ci0gICAgICAgIGNwdV9w aHlzaWNhbF9tZW1vcnlfcncoaGZ0LT5ncGEsICZ2YWx1ZSwgaGZ0LT5zaXplLCAwKTsKLSAgICAg ICAgY3B1X3BoeXNpY2FsX21lbW9yeV9ydyhoZnQtPmdwYTIsICZ2YWx1ZSwgaGZ0LT5zaXplLCAx KTsKKyAgICAgICAgY3B1X3BoeXNpY2FsX21lbW9yeV9ydyhoZnQtPmdwYSwgJnZhbHVlLCBoZnQt PnNpemUsIGZhbHNlKTsKKyAgICAgICAgY3B1X3BoeXNpY2FsX21lbW9yeV9ydyhoZnQtPmdwYTIs ICZ2YWx1ZSwgaGZ0LT5zaXplLCB0cnVlKTsKICAgICB9CiAKICAgICByZXR1cm4gMDsKZGlmZiAt LWdpdCBhL3RhcmdldC9zMzkweC9leGNwX2hlbHBlci5jIGIvdGFyZ2V0L3MzOTB4L2V4Y3BfaGVs cGVyLmMKaW5kZXggMWU5ZDZmMjBjMS4uM2I1OGQxMGRmMyAxMDA2NDQKLS0tIGEvdGFyZ2V0L3Mz OTB4L2V4Y3BfaGVscGVyLmMKKysrIGIvdGFyZ2V0L3MzOTB4L2V4Y3BfaGVscGVyLmMKQEAgLTM5 Myw3ICszOTMsNyBAQCBzdGF0aWMgaW50IG1jaGtfc3RvcmVfdnJlZ3MoQ1BVUzM5MFhTdGF0ZSAq ZW52LCB1aW50NjRfdCBtY2VzYW8pCiAgICAgTWNoa0V4dFNhdmVBcmVhICpzYTsKICAgICBpbnQg aTsKIAotICAgIHNhID0gY3B1X3BoeXNpY2FsX21lbW9yeV9tYXAobWNlc2FvLCAmbGVuLCAxKTsK KyAgICBzYSA9IGNwdV9waHlzaWNhbF9tZW1vcnlfbWFwKG1jZXNhbywgJmxlbiwgdHJ1ZSk7CiAg ICAgaWYgKCFzYSkgewogICAgICAgICByZXR1cm4gLUVGQVVMVDsKICAgICB9CmRpZmYgLS1naXQg YS90YXJnZXQvczM5MHgvaGVscGVyLmMgYi90YXJnZXQvczM5MHgvaGVscGVyLmMKaW5kZXggYTNh NDkxNjRlNC4uYjgxMGFkNDMxZSAxMDA2NDQKLS0tIGEvdGFyZ2V0L3MzOTB4L2hlbHBlci5jCisr KyBiL3RhcmdldC9zMzkweC9oZWxwZXIuYwpAQCAtMTUxLDcgKzE1MSw3IEBAIExvd0NvcmUgKmNw dV9tYXBfbG93Y29yZShDUFVTMzkwWFN0YXRlICplbnYpCiAgICAgTG93Q29yZSAqbG93Y29yZTsK ICAgICBod2FkZHIgbGVuID0gc2l6ZW9mKExvd0NvcmUpOwogCi0gICAgbG93Y29yZSA9IGNwdV9w aHlzaWNhbF9tZW1vcnlfbWFwKGVudi0+cHNhLCAmbGVuLCAxKTsKKyAgICBsb3djb3JlID0gY3B1 X3BoeXNpY2FsX21lbW9yeV9tYXAoZW52LT5wc2EsICZsZW4sIHRydWUpOwogCiAgICAgaWYgKGxl biA8IHNpemVvZihMb3dDb3JlKSkgewogICAgICAgICBjcHVfYWJvcnQoZW52X2NwdShlbnYpLCAi Q291bGQgbm90IG1hcCBsb3djb3JlXG4iKTsKQEAgLTI0Niw3ICsyNDYsNyBAQCBpbnQgczM5MF9z dG9yZV9zdGF0dXMoUzM5MENQVSAqY3B1LCBod2FkZHIgYWRkciwgYm9vbCBzdG9yZV9hcmNoKQog ICAgIGh3YWRkciBsZW4gPSBzaXplb2YoKnNhKTsKICAgICBpbnQgaTsKIAotICAgIHNhID0gY3B1 X3BoeXNpY2FsX21lbW9yeV9tYXAoYWRkciwgJmxlbiwgMSk7CisgICAgc2EgPSBjcHVfcGh5c2lj YWxfbWVtb3J5X21hcChhZGRyLCAmbGVuLCB0cnVlKTsKICAgICBpZiAoIXNhKSB7CiAgICAgICAg IHJldHVybiAtRUZBVUxUOwogICAgIH0KQEAgLTI5OCw3ICsyOTgsNyBAQCBpbnQgczM5MF9zdG9y ZV9hZHRsX3N0YXR1cyhTMzkwQ1BVICpjcHUsIGh3YWRkciBhZGRyLCBod2FkZHIgbGVuKQogICAg IGh3YWRkciBzYXZlID0gbGVuOwogICAgIGludCBpOwogCi0gICAgc2EgPSBjcHVfcGh5c2ljYWxf bWVtb3J5X21hcChhZGRyLCAmc2F2ZSwgMSk7CisgICAgc2EgPSBjcHVfcGh5c2ljYWxfbWVtb3J5 X21hcChhZGRyLCAmc2F2ZSwgdHJ1ZSk7CiAgICAgaWYgKCFzYSkgewogICAgICAgICByZXR1cm4g LUVGQVVMVDsKICAgICB9Ci0tIAoyLjIxLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0 cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz dGluZm8veGVuLWRldmVs From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 125AEC11D04 for ; Thu, 20 Feb 2020 13:24:24 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C2206206E2 for ; Thu, 20 Feb 2020 13:24:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="iuTgmODB" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C2206206E2 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:42122 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j4loU-0001ms-PZ for qemu-devel@archiver.kernel.org; Thu, 20 Feb 2020 08:24:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:56724) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j4lXu-0006fb-RA for qemu-devel@nongnu.org; Thu, 20 Feb 2020 08:07:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j4lXs-00060j-0O for qemu-devel@nongnu.org; Thu, 20 Feb 2020 08:07:14 -0500 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:47671 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j4lXr-00060D-Qc for qemu-devel@nongnu.org; Thu, 20 Feb 2020 08:07:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1582204031; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=8q7l9fCCXUXfbPVdowHNP6yaBAEoO32+ciiHpilnfds=; b=iuTgmODB+Kvp5y/VsVoLGFeidkTFIVW+3bgxqGLYugZy0gBU7JWnTIJviYawVJNVfhx/3t 8RDZjPzpsediV5EBzYisTUa5j45nU7e2+X4eceD84/TMZcPr+fcOPg8O4OMM4ecKC4tUUv 0mPj2shRDAZ+dLJo83KOrwyE3jV1YnM= Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-46-xm3sv3x-NjOz1moN3Wjrkw-1; Thu, 20 Feb 2020 08:07:09 -0500 X-MC-Unique: xm3sv3x-NjOz1moN3Wjrkw-1 Received: by mail-wr1-f72.google.com with SMTP id 90so1712684wrq.6 for ; Thu, 20 Feb 2020 05:07:09 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Du/Q9cwkYv23U8HuA6dwHrSvlC9gAA5COcpF1xlZ39I=; b=Cjgcb7hyFqyGHmKkyxWdG2l1ZUiRaHemPgTDi3pESLcAZRto+9To1CE05nRks8VI+N 1mcM3Mp85C+RSLAYZEhZ3ydShRUcuvowb/WRVQX6BvPS10VrxkdPt7bqlBMxHcbIJjv2 bqsqk1rq1FjAx8NubMRxtJr+Jt5ylMKYMycdLOG5YQ2QjdNjqDSKnZR5I3v+w3L/DRXD kMNdETW17w4VOKCpezNphsTGvn54spfik+Q+1jI91t4nA33U04FdJTpjlMjs6lgoGMpJ jYqXR6X1dF9/ZgIxCFLcrb+0kyVlhXgWORoeqmDr6w8DNa7T5lcbfuaT9w1R8unocd5V lo9w== X-Gm-Message-State: APjAAAXq9N2WWth93sVvsJSJUYgc0F5aTVgQqe2bRh8KSoqOZmgIjDvE uU9MxpUjPdh31c96+XgJjbBOnZJPO0pGBwLSFkdECZWxYoUKuBKvWnuxpGQ9LV6cXhlQE/QtsnQ htbBpFQIOlbIvsuM= X-Received: by 2002:a7b:c088:: with SMTP id r8mr4601057wmh.18.1582204025777; Thu, 20 Feb 2020 05:07:05 -0800 (PST) X-Google-Smtp-Source: APXvYqzTc/nRX5CoIhTiVHPwKrtx6YNl9fhALe1YoNj6XyZHwJDsk5yvnlQRclQhspzivJLvmF3dTQ== X-Received: by 2002:a7b:c088:: with SMTP id r8mr4601010wmh.18.1582204025361; Thu, 20 Feb 2020 05:07:05 -0800 (PST) Received: from localhost.localdomain (78.red-88-21-202.staticip.rima-tde.net. [88.21.202.78]) by smtp.gmail.com with ESMTPSA id b67sm4594690wmc.38.2020.02.20.05.07.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Feb 2020 05:07:04 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v3 19/20] Let cpu_[physical]_memory() calls pass a boolean 'is_write' argument Date: Thu, 20 Feb 2020 14:05:47 +0100 Message-Id: <20200220130548.29974-20-philmd@redhat.com> X-Mailer: git-send-email 2.21.1 In-Reply-To: <20200220130548.29974-1-philmd@redhat.com> References: <20200220130548.29974-1-philmd@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=UTF-8; text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 205.139.110.120 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Dmitry Fleytman , kvm@vger.kernel.org, "Michael S. Tsirkin" , Jason Wang , Gerd Hoffmann , "Edgar E. Iglesias" , Stefano Stabellini , Matthew Rosato , qemu-block@nongnu.org, David Hildenbrand , Halil Pasic , Christian Borntraeger , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Anthony Perard , xen-devel@lists.xenproject.org, Aleksandar Rikalo , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Laurent Vivier , Thomas Huth , Eduardo Habkost , Stefan Weil , Alistair Francis , Richard Henderson , Paul Durrant , Eric Auger , qemu-s390x@nongnu.org, qemu-arm@nongnu.org, =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , John Snow , David Gibson , Igor Mitsyanko , Cornelia Huck , Michael Walle , qemu-ppc@nongnu.org, Paolo Bonzini Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Use an explicit boolean type. This commit was produced with the included Coccinelle script scripts/coccinelle/exec_rw_const. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- scripts/coccinelle/exec_rw_const.cocci | 14 ++++++++++++++ include/exec/cpu-common.h | 4 ++-- hw/display/exynos4210_fimd.c | 3 ++- hw/display/milkymist-tmu2.c | 8 ++++---- hw/display/omap_dss.c | 2 +- hw/display/ramfb.c | 2 +- hw/misc/pc-testdev.c | 2 +- hw/nvram/spapr_nvram.c | 4 ++-- hw/ppc/ppc440_uc.c | 6 ++++-- hw/ppc/spapr_hcall.c | 4 ++-- hw/s390x/ipl.c | 2 +- hw/s390x/s390-pci-bus.c | 2 +- hw/s390x/virtio-ccw.c | 2 +- hw/xen/xen_pt_graphics.c | 2 +- target/i386/hax-all.c | 4 ++-- target/s390x/excp_helper.c | 2 +- target/s390x/helper.c | 6 +++--- 17 files changed, 43 insertions(+), 26 deletions(-) diff --git a/scripts/coccinelle/exec_rw_const.cocci b/scripts/coccinelle/ex= ec_rw_const.cocci index ee98ce988e..54b1cab8cd 100644 --- a/scripts/coccinelle/exec_rw_const.cocci +++ b/scripts/coccinelle/exec_rw_const.cocci @@ -11,6 +11,20 @@ expression E1, E2, E3, E4, E5; | - address_space_rw(E1, E2, E3, E4, E5, 1) + address_space_rw(E1, E2, E3, E4, E5, true) +| + +- cpu_physical_memory_rw(E1, E2, E3, 0) ++ cpu_physical_memory_rw(E1, E2, E3, false) +| +- cpu_physical_memory_rw(E1, E2, E3, 1) ++ cpu_physical_memory_rw(E1, E2, E3, true) +| + +- cpu_physical_memory_map(E1, E2, 0) ++ cpu_physical_memory_map(E1, E2, false) +| +- cpu_physical_memory_map(E1, E2, 1) ++ cpu_physical_memory_map(E1, E2, true) ) =20 // Use address_space_write instead of casting to non-const diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h index 6bfe201779..e7fd5781ea 100644 --- a/include/exec/cpu-common.h +++ b/include/exec/cpu-common.h @@ -74,12 +74,12 @@ void cpu_physical_memory_rw(hwaddr addr, void *buf, static inline void cpu_physical_memory_read(hwaddr addr, void *buf, hwaddr len) { - cpu_physical_memory_rw(addr, buf, len, 0); + cpu_physical_memory_rw(addr, buf, len, false); } static inline void cpu_physical_memory_write(hwaddr addr, const void *buf, hwaddr len) { - cpu_physical_memory_rw(addr, (void *)buf, len, 1); + cpu_physical_memory_rw(addr, (void *)buf, len, true); } void *cpu_physical_memory_map(hwaddr addr, hwaddr *plen, diff --git a/hw/display/exynos4210_fimd.c b/hw/display/exynos4210_fimd.c index c1071ecd46..ec6776680e 100644 --- a/hw/display/exynos4210_fimd.c +++ b/hw/display/exynos4210_fimd.c @@ -1164,7 +1164,8 @@ 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, 0); + w->host_fb_addr =3D cpu_physical_memory_map(fb_start_addr, &fb_mapped_= len, + false); if (!w->host_fb_addr) { DPRINT_ERROR("Failed to map window %u framebuffer\n", win); goto error_return; diff --git a/hw/display/milkymist-tmu2.c b/hw/display/milkymist-tmu2.c index 199f1227e7..513c0d5bab 100644 --- a/hw/display/milkymist-tmu2.c +++ b/hw/display/milkymist-tmu2.c @@ -218,7 +218,7 @@ static void tmu2_start(MilkymistTMU2State *s) glGenTextures(1, &texture); glBindTexture(GL_TEXTURE_2D, texture); fb_len =3D 2ULL * s->regs[R_TEXHRES] * s->regs[R_TEXVRES]; - fb =3D cpu_physical_memory_map(s->regs[R_TEXFBUF], &fb_len, 0); + fb =3D cpu_physical_memory_map(s->regs[R_TEXFBUF], &fb_len, false); if (fb =3D=3D NULL) { glDeleteTextures(1, &texture); glXMakeContextCurrent(s->dpy, None, None, NULL); @@ -262,7 +262,7 @@ static void tmu2_start(MilkymistTMU2State *s) =20 /* Read the QEMU dest. framebuffer into the OpenGL framebuffer */ fb_len =3D 2ULL * s->regs[R_DSTHRES] * s->regs[R_DSTVRES]; - fb =3D cpu_physical_memory_map(s->regs[R_DSTFBUF], &fb_len, 0); + fb =3D cpu_physical_memory_map(s->regs[R_DSTFBUF], &fb_len, false); if (fb =3D=3D NULL) { glDeleteTextures(1, &texture); glXMakeContextCurrent(s->dpy, None, None, NULL); @@ -281,7 +281,7 @@ static void tmu2_start(MilkymistTMU2State *s) =20 /* Map the texture */ mesh_len =3D MESH_MAXSIZE*MESH_MAXSIZE*sizeof(struct vertex); - mesh =3D cpu_physical_memory_map(s->regs[R_VERTICESADDR], &mesh_len, 0= ); + mesh =3D cpu_physical_memory_map(s->regs[R_VERTICESADDR], &mesh_len, f= alse); if (mesh =3D=3D NULL) { glDeleteTextures(1, &texture); glXMakeContextCurrent(s->dpy, None, None, NULL); @@ -298,7 +298,7 @@ static void tmu2_start(MilkymistTMU2State *s) =20 /* Write back the OpenGL framebuffer to the QEMU framebuffer */ fb_len =3D 2ULL * s->regs[R_DSTHRES] * s->regs[R_DSTVRES]; - fb =3D cpu_physical_memory_map(s->regs[R_DSTFBUF], &fb_len, 1); + fb =3D cpu_physical_memory_map(s->regs[R_DSTFBUF], &fb_len, true); if (fb =3D=3D NULL) { glDeleteTextures(1, &texture); glXMakeContextCurrent(s->dpy, None, None, NULL); diff --git a/hw/display/omap_dss.c b/hw/display/omap_dss.c index 637aae8d39..32dc0d6aa7 100644 --- a/hw/display/omap_dss.c +++ b/hw/display/omap_dss.c @@ -632,7 +632,7 @@ static void omap_rfbi_transfer_start(struct omap_dss_s = *s) len =3D s->rfbi.pixels * 2; =20 data_addr =3D s->dispc.l[0].addr[0]; - data =3D cpu_physical_memory_map(data_addr, &len, 0); + data =3D cpu_physical_memory_map(data_addr, &len, false); if (data && len !=3D s->rfbi.pixels * 2) { cpu_physical_memory_unmap(data, len, 0, 0); data =3D NULL; diff --git a/hw/display/ramfb.c b/hw/display/ramfb.c index cd94940223..7ba07c80f6 100644 --- a/hw/display/ramfb.c +++ b/hw/display/ramfb.c @@ -57,7 +57,7 @@ static DisplaySurface *ramfb_create_display_surface(int w= idth, int height, } =20 size =3D (hwaddr)linesize * height; - data =3D cpu_physical_memory_map(addr, &size, 0); + data =3D cpu_physical_memory_map(addr, &size, false); if (size !=3D (hwaddr)linesize * height) { cpu_physical_memory_unmap(data, size, 0, 0); return NULL; diff --git a/hw/misc/pc-testdev.c b/hw/misc/pc-testdev.c index 0fb84ddc6b..8aa8e6549f 100644 --- a/hw/misc/pc-testdev.c +++ b/hw/misc/pc-testdev.c @@ -125,7 +125,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, 0); + void *a =3D cpu_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 */ diff --git a/hw/nvram/spapr_nvram.c b/hw/nvram/spapr_nvram.c index 877ddef7b9..15d08281d4 100644 --- a/hw/nvram/spapr_nvram.c +++ b/hw/nvram/spapr_nvram.c @@ -89,7 +89,7 @@ static void rtas_nvram_fetch(PowerPCCPU *cpu, SpaprMachin= eState *spapr, =20 assert(nvram->buf); =20 - membuf =3D cpu_physical_memory_map(buffer, &len, 1); + membuf =3D cpu_physical_memory_map(buffer, &len, true); memcpy(membuf, nvram->buf + offset, len); cpu_physical_memory_unmap(membuf, len, 1, len); =20 @@ -127,7 +127,7 @@ static void rtas_nvram_store(PowerPCCPU *cpu, SpaprMach= ineState *spapr, return; } =20 - membuf =3D cpu_physical_memory_map(buffer, &len, 0); + membuf =3D cpu_physical_memory_map(buffer, &len, false); =20 alen =3D len; if (nvram->blk) { diff --git a/hw/ppc/ppc440_uc.c b/hw/ppc/ppc440_uc.c index 1a6a8fac22..d5ea962249 100644 --- a/hw/ppc/ppc440_uc.c +++ b/hw/ppc/ppc440_uc.c @@ -909,8 +909,10 @@ static void dcr_write_dma(void *opaque, int dcrn, uint= 32_t val) =20 sidx =3D didx =3D 0; width =3D 1 << ((val & DMA0_CR_PW) >> 25); - rptr =3D cpu_physical_memory_map(dma->ch[chnl].sa, &rl= en, 0); - wptr =3D cpu_physical_memory_map(dma->ch[chnl].da, &wl= en, 1); + rptr =3D cpu_physical_memory_map(dma->ch[chnl].sa, &rl= en, + false); + wptr =3D cpu_physical_memory_map(dma->ch[chnl].da, &wl= en, + true); if (rptr && wptr) { if (!(val & DMA0_CR_DEC) && val & DMA0_CR_SAI && val & DMA0_CR_DAI) { diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c index b8bb66b5c0..caf55ab044 100644 --- a/hw/ppc/spapr_hcall.c +++ b/hw/ppc/spapr_hcall.c @@ -832,7 +832,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, 1); + pdst =3D cpu_physical_memory_map(dst, &len, true); if (!pdst || len !=3D TARGET_PAGE_SIZE) { return H_PARAMETER; } @@ -843,7 +843,7 @@ static target_ulong h_page_init(PowerPCCPU *cpu, SpaprM= achineState *spapr, ret =3D H_PARAMETER; goto unmap_out; } - psrc =3D cpu_physical_memory_map(src, &len, 0); + psrc =3D cpu_physical_memory_map(src, &len, false); if (!psrc || len !=3D TARGET_PAGE_SIZE) { ret =3D H_PARAMETER; goto unmap_out; diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c index 7773499d7f..0817874b48 100644 --- a/hw/s390x/ipl.c +++ b/hw/s390x/ipl.c @@ -626,7 +626,7 @@ 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, 1); + addr =3D cpu_physical_memory_map(cpu->env.psa, &len, true); if (!addr || len < QIPL_ADDRESS + sizeof(QemuIplParameters)) { error_report("Cannot set QEMU IPL parameters"); return; diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c index 7c6a2b3c63..ed8be124da 100644 --- a/hw/s390x/s390-pci-bus.c +++ b/hw/s390x/s390-pci-bus.c @@ -641,7 +641,7 @@ static uint8_t set_ind_atomic(uint64_t ind_loc, uint8_t= to_be_set) hwaddr len =3D 1; uint8_t *ind_addr; =20 - ind_addr =3D cpu_physical_memory_map(ind_loc, &len, 1); + ind_addr =3D cpu_physical_memory_map(ind_loc, &len, true); if (!ind_addr) { s390_pci_generate_error_event(ERR_EVENT_AIRERR, 0, 0, 0, 0); return -1; diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c index 13f57e7b67..50cf95b781 100644 --- a/hw/s390x/virtio-ccw.c +++ b/hw/s390x/virtio-ccw.c @@ -790,7 +790,7 @@ static uint8_t virtio_set_ind_atomic(SubchDev *sch, uin= t64_t ind_loc, hwaddr len =3D 1; uint8_t *ind_addr; =20 - ind_addr =3D cpu_physical_memory_map(ind_loc, &len, 1); + ind_addr =3D cpu_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); diff --git a/hw/xen/xen_pt_graphics.c b/hw/xen/xen_pt_graphics.c index b69732729b..b11e4e0546 100644 --- a/hw/xen/xen_pt_graphics.c +++ b/hw/xen/xen_pt_graphics.c @@ -222,7 +222,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_rw(0xc0000, bios, bios_size, 1); + cpu_physical_memory_rw(0xc0000, bios, bios_size, true); } =20 uint32_t igd_read_opregion(XenPCIPassthroughState *s) diff --git a/target/i386/hax-all.c b/target/i386/hax-all.c index a9cc51e6ce..38936d7af6 100644 --- a/target/i386/hax-all.c +++ b/target/i386/hax-all.c @@ -376,8 +376,8 @@ static int hax_handle_fastmmio(CPUArchState *env, struc= t hax_fastmmio *hft) * hft->direction =3D=3D 2: gpa =3D=3D> gpa2 */ uint64_t value; - cpu_physical_memory_rw(hft->gpa, &value, hft->size, 0); - cpu_physical_memory_rw(hft->gpa2, &value, hft->size, 1); + cpu_physical_memory_rw(hft->gpa, &value, hft->size, false); + cpu_physical_memory_rw(hft->gpa2, &value, hft->size, true); } =20 return 0; diff --git a/target/s390x/excp_helper.c b/target/s390x/excp_helper.c index 1e9d6f20c1..3b58d10df3 100644 --- a/target/s390x/excp_helper.c +++ b/target/s390x/excp_helper.c @@ -393,7 +393,7 @@ static int mchk_store_vregs(CPUS390XState *env, uint64_= t mcesao) MchkExtSaveArea *sa; int i; =20 - sa =3D cpu_physical_memory_map(mcesao, &len, 1); + sa =3D cpu_physical_memory_map(mcesao, &len, true); if (!sa) { return -EFAULT; } diff --git a/target/s390x/helper.c b/target/s390x/helper.c index a3a49164e4..b810ad431e 100644 --- a/target/s390x/helper.c +++ b/target/s390x/helper.c @@ -151,7 +151,7 @@ LowCore *cpu_map_lowcore(CPUS390XState *env) LowCore *lowcore; hwaddr len =3D sizeof(LowCore); =20 - lowcore =3D cpu_physical_memory_map(env->psa, &len, 1); + lowcore =3D cpu_physical_memory_map(env->psa, &len, true); =20 if (len < sizeof(LowCore)) { cpu_abort(env_cpu(env), "Could not map lowcore\n"); @@ -246,7 +246,7 @@ int s390_store_status(S390CPU *cpu, hwaddr addr, bool s= tore_arch) hwaddr len =3D sizeof(*sa); int i; =20 - sa =3D cpu_physical_memory_map(addr, &len, 1); + sa =3D cpu_physical_memory_map(addr, &len, true); if (!sa) { return -EFAULT; } @@ -298,7 +298,7 @@ int s390_store_adtl_status(S390CPU *cpu, hwaddr addr, h= waddr len) hwaddr save =3D len; int i; =20 - sa =3D cpu_physical_memory_map(addr, &save, 1); + sa =3D cpu_physical_memory_map(addr, &save, true); if (!sa) { return -EFAULT; } --=20 2.21.1