From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by 2002:a19:cb43:0:0:0:0:0 with SMTP id b64csp544046lfg; Thu, 20 Feb 2020 05:07:01 -0800 (PST) X-Google-Smtp-Source: APXvYqx5CdkkJ0sQ+c76kNJTxnkZJs3G0+4AoepvD7c2wkzJY5whWkw5ulwCY1SZb81zypGX59Xm X-Received: by 2002:aca:1012:: with SMTP id 18mr1796759oiq.151.1582204020818; Thu, 20 Feb 2020 05:07:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582204020; cv=none; d=google.com; s=arc-20160816; b=tkKtoifuQ5vRwwvSUXy0JcTDwu8w2E3xU3cWqeSXY1FKp89/r3FHEsYtMSIH5939u5 rJw8rvDB74MQI5xMLFZNhL3+Gk62sTk6j7e3H6OEgbDRY6RfkMUcHoxJU0so9su6vdXS 4hpE7rE+bp5D6Wckv82D6yLkIga9C1ZbLEbNtAl7dmNzJ3BRIaEKdnKBdGzFMENi0Hp2 NRqS7neAeiu+tA497r+0eGoLoamoNad5mAg4pvsA/KuoNgONUtrDPVnE/NueUQvOgVN0 GlgJKK0vLpx1x9WRpoEBXfP6tLDVmxcl9W1Aq3OkPItSpYaX8YpkBeo/bzItr9S9cVLv 1RrQ== 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=mOFaN72GDMCW5HO6VjgTUS8UF4EBg1PhikK6Z5qXel0=; b=V4WB/OKTVZsFBTEwsSWyxur2663mnQH1MUMjI0xx7Qj8+iGY3jN2xZ+/me3FgxIE5F qSkVDmN9YDttKFbQk94SlfGv1YqKANZWGQ22t9PqF0ljQCCQEaj2JvjPEvEbjD4J1NFC 2AgoJRgX9vKrRg7WruRlvq1uLowYDJEpjZEViuXH4w58kisyF5mbm9S1thwJfR2eBQBq 2XyZ3Gf1k355ugg52BG97IjvNv5R6Kf8g7awJBtbRFKcSyPCZdvoMHrGozO7EoJhBnRa m+A8yyitQErRGT6JWH9tmH3AjFEIAS+L6vXB7oU2Ox/t93Nkf41TIvNjdmLUB+rye9gS E2/w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=aCxUlqBJ; 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.00; Thu, 20 Feb 2020 05:07:00 -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=aCxUlqBJ; 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 S1728218AbgBTNG7 (ORCPT + 5 others); Thu, 20 Feb 2020 08:06:59 -0500 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:55842 "EHLO us-smtp-delivery-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728221AbgBTNG7 (ORCPT ); Thu, 20 Feb 2020 08:06:59 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1582204017; 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=mOFaN72GDMCW5HO6VjgTUS8UF4EBg1PhikK6Z5qXel0=; b=aCxUlqBJB5AV2fdxx8ps6EpBzB7pBogvY/a8tyjK24lqDIsXvSW43d1Yhzue++ZZuyIDJe kDD7COzngb6ntwpZ27qgwMLpt4OGN/0PSmYTAtGVaCG9OKoqqUkc+Q01WO9XosBakIPP+K LRgo6giFWTS0y9lfDJKgXyefgcNZ3ec= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-40-PyMwBphRMt6MbE8UKrPkIg-1; Thu, 20 Feb 2020 08:06:56 -0500 X-MC-Unique: PyMwBphRMt6MbE8UKrPkIg-1 Received: by mail-wm1-f71.google.com with SMTP id f66so578357wmf.9 for ; Thu, 20 Feb 2020 05:06:55 -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=mOFaN72GDMCW5HO6VjgTUS8UF4EBg1PhikK6Z5qXel0=; b=Z8UWSSLRwvmdc0Rijcxm92hIjQT/VQJLNTInb+g90u60ak5IRQlczCX6PpoN6vVcZ/ jFJfehDXA9F/YpgtMDBgJWbveE1S886QQXtdpG9LmOLKKSrbS8+fEZtAj69J+VJvOYOV k6iyJqpTzrIxmUuh4RBn+NPAIOd2duPjhvBSKYIFKvNRMXUKCbUsBpdNsvH6TuN4YUUu MLHls8wAVrL4b/g8oUXHmLfvzgkR+0Pw8DzoTFtHf+BF+iQV77aDUIs6N/5HJKVPn6OH C8nhUQKhzi4ZDedZNi/PJs9Zav0qd9KiNKgan93m16o4elfw3j864g0Ga7cICVjFiQ/X c2lw== X-Gm-Message-State: APjAAAWcr9nOiX8oyDbwIRSJBLvv8LfwUCVM5IWMXi3OmjAc4nnml4bq ukmV5Mur2NO8vTjAYx/jPamYZeQgDXVrC5GdzMO/0nWuDxKfWo0yohWp/419KbsHbaH7fEm6BCm JVvAaUVRv2kl0 X-Received: by 2002:a1c:bdc5:: with SMTP id n188mr4525028wmf.124.1582204014475; Thu, 20 Feb 2020 05:06:54 -0800 (PST) X-Received: by 2002:a1c:bdc5:: with SMTP id n188mr4524974wmf.124.1582204014007; Thu, 20 Feb 2020 05:06:54 -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.06.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Feb 2020 05:06:53 -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 16/20] Let address_space_rw() calls pass a boolean 'is_write' argument Date: Thu, 20 Feb 2020 14:05:44 +0100 Message-Id: <20200220130548.29974-17-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: dmhI3ZNusitl Since its introduction in commit ac1970fbe8, address_space_rw() takes a boolean 'is_write' argument. Fix the codebase by using an explicit boolean type. This commit was produced with the included Coccinelle script scripts/coccinelle/exec_rw_const. Inspired-by: Peter Maydell Signed-off-by: Philippe Mathieu-Daudé --- scripts/coccinelle/exec_rw_const.cocci | 12 ++++++++++++ target/i386/hvf/vmx.h | 2 +- exec.c | 4 ++-- hw/net/dp8393x.c | 27 +++++++++++++------------- hw/net/i82596.c | 11 ++++++----- hw/net/lasi_i82596.c | 4 ++-- target/i386/hvf/x86_mmu.c | 8 ++++---- 7 files changed, 41 insertions(+), 27 deletions(-) diff --git a/scripts/coccinelle/exec_rw_const.cocci b/scripts/coccinelle/exec_rw_const.cocci index 70cf52d58e..98cb06f09f 100644 --- a/scripts/coccinelle/exec_rw_const.cocci +++ b/scripts/coccinelle/exec_rw_const.cocci @@ -1,6 +1,18 @@ // Usage: // spatch --sp-file scripts/coccinelle/exec_rw_const.cocci --dir . --in-place +// Convert to boolean +@@ +expression E1, E2, E3, E4, E5; +@@ +( +- address_space_rw(E1, E2, E3, E4, E5, 0) ++ address_space_rw(E1, E2, E3, E4, E5, false) +| +- address_space_rw(E1, E2, E3, E4, E5, 1) ++ address_space_rw(E1, E2, E3, E4, E5, true) +) + // Use address_space_write instead of casting to non-const @@ type T; diff --git a/target/i386/hvf/vmx.h b/target/i386/hvf/vmx.h index a115ca1782..19af029133 100644 --- a/target/i386/hvf/vmx.h +++ b/target/i386/hvf/vmx.h @@ -128,7 +128,7 @@ static inline void macvm_set_cr0(hv_vcpuid_t vcpu, uint64_t cr0) address_space_rw(&address_space_memory, rvmcs(vcpu, VMCS_GUEST_CR3) & ~0x1f, MEMTXATTRS_UNSPECIFIED, - pdpte, 32, 0); + pdpte, 32, false); /* Only set PDPTE when appropriate. */ for (i = 0; i < 4; i++) { wvmcs(vcpu, VMCS_GUEST_PDPTE0 + i * 2, pdpte[i]); diff --git a/exec.c b/exec.c index 16974d4f4b..73c3bcfa40 100644 --- a/exec.c +++ b/exec.c @@ -3815,8 +3815,8 @@ int cpu_memory_rw_debug(CPUState *cpu, target_ulong addr, address_space_write_rom(cpu->cpu_ases[asidx].as, phys_addr, attrs, buf, l); } else { - address_space_rw(cpu->cpu_ases[asidx].as, phys_addr, - attrs, buf, l, 0); + address_space_rw(cpu->cpu_ases[asidx].as, phys_addr, attrs, buf, + l, false); } len -= l; buf += l; diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c index b461101ceb..b4363e3186 100644 --- a/hw/net/dp8393x.c +++ b/hw/net/dp8393x.c @@ -276,7 +276,7 @@ static void dp8393x_do_load_cam(dp8393xState *s) while (s->regs[SONIC_CDC] & 0x1f) { /* Fill current entry */ address_space_rw(&s->as, dp8393x_cdp(s), - MEMTXATTRS_UNSPECIFIED, s->data, size, 0); + MEMTXATTRS_UNSPECIFIED, s->data, size, false); s->cam[index][0] = dp8393x_get(s, width, 1) & 0xff; s->cam[index][1] = dp8393x_get(s, width, 1) >> 8; s->cam[index][2] = dp8393x_get(s, width, 2) & 0xff; @@ -294,7 +294,7 @@ static void dp8393x_do_load_cam(dp8393xState *s) /* Read CAM enable */ address_space_rw(&s->as, dp8393x_cdp(s), - MEMTXATTRS_UNSPECIFIED, s->data, size, 0); + MEMTXATTRS_UNSPECIFIED, s->data, size, false); s->regs[SONIC_CE] = dp8393x_get(s, width, 0); DPRINTF("load cam done. cam enable mask 0x%04x\n", s->regs[SONIC_CE]); @@ -312,7 +312,7 @@ static void dp8393x_do_read_rra(dp8393xState *s) width = (s->regs[SONIC_DCR] & SONIC_DCR_DW) ? 2 : 1; size = sizeof(uint16_t) * 4 * width; address_space_rw(&s->as, dp8393x_rrp(s), - MEMTXATTRS_UNSPECIFIED, s->data, size, 0); + MEMTXATTRS_UNSPECIFIED, s->data, size, false); /* Update SONIC registers */ s->regs[SONIC_CRBA0] = dp8393x_get(s, width, 0); @@ -427,7 +427,7 @@ static void dp8393x_do_transmit_packets(dp8393xState *s) s->regs[SONIC_TTDA] = s->regs[SONIC_CTDA]; DPRINTF("Transmit packet at %08x\n", dp8393x_ttda(s)); address_space_rw(&s->as, dp8393x_ttda(s) + sizeof(uint16_t) * width, - MEMTXATTRS_UNSPECIFIED, s->data, size, 0); + MEMTXATTRS_UNSPECIFIED, s->data, size, false); tx_len = 0; /* Update registers */ @@ -452,7 +452,8 @@ static void dp8393x_do_transmit_packets(dp8393xState *s) len = sizeof(s->tx_buffer) - tx_len; } address_space_rw(&s->as, dp8393x_tsa(s), - MEMTXATTRS_UNSPECIFIED, &s->tx_buffer[tx_len], len, 0); + MEMTXATTRS_UNSPECIFIED, + &s->tx_buffer[tx_len], len, false); tx_len += len; i++; @@ -461,7 +462,7 @@ static void dp8393x_do_transmit_packets(dp8393xState *s) size = sizeof(uint16_t) * 3 * width; address_space_rw(&s->as, dp8393x_ttda(s) + sizeof(uint16_t) * (4 + 3 * i) * width, - MEMTXATTRS_UNSPECIFIED, s->data, size, 0); + MEMTXATTRS_UNSPECIFIED, s->data, size, false); s->regs[SONIC_TSA0] = dp8393x_get(s, width, 0); s->regs[SONIC_TSA1] = dp8393x_get(s, width, 1); s->regs[SONIC_TFS] = dp8393x_get(s, width, 2); @@ -496,7 +497,7 @@ static void dp8393x_do_transmit_packets(dp8393xState *s) size = sizeof(uint16_t) * width; address_space_rw(&s->as, dp8393x_ttda(s), - MEMTXATTRS_UNSPECIFIED, s->data, size, 1); + MEMTXATTRS_UNSPECIFIED, s->data, size, true); if (!(s->regs[SONIC_CR] & SONIC_CR_HTX)) { /* Read footer of packet */ @@ -505,7 +506,7 @@ static void dp8393x_do_transmit_packets(dp8393xState *s) dp8393x_ttda(s) + sizeof(uint16_t) * (4 + 3 * s->regs[SONIC_TFC]) * width, - MEMTXATTRS_UNSPECIFIED, s->data, size, 0); + MEMTXATTRS_UNSPECIFIED, s->data, size, false); s->regs[SONIC_CTDA] = dp8393x_get(s, width, 0) & ~0x1; if (dp8393x_get(s, width, 0) & 0x1) { /* EOL detected */ @@ -768,7 +769,7 @@ static ssize_t dp8393x_receive(NetClientState *nc, const uint8_t * buf, size = sizeof(uint16_t) * 1 * width; address = dp8393x_crda(s) + sizeof(uint16_t) * 5 * width; address_space_rw(&s->as, address, MEMTXATTRS_UNSPECIFIED, - s->data, size, 0); + s->data, size, false); if (dp8393x_get(s, width, 0) & 0x1) { /* Still EOL ; stop reception */ return -1; @@ -790,7 +791,7 @@ static ssize_t dp8393x_receive(NetClientState *nc, const uint8_t * buf, address_space_write(&s->as, address, MEMTXATTRS_UNSPECIFIED, buf, rx_len); address += rx_len; address_space_rw(&s->as, address, - MEMTXATTRS_UNSPECIFIED, &checksum, 4, 1); + MEMTXATTRS_UNSPECIFIED, &checksum, 4, true); rx_len += 4; s->regs[SONIC_CRBA1] = address >> 16; s->regs[SONIC_CRBA0] = address & 0xffff; @@ -819,12 +820,12 @@ static ssize_t dp8393x_receive(NetClientState *nc, const uint8_t * buf, dp8393x_put(s, width, 4, s->regs[SONIC_RSC]); /* seq_no */ size = sizeof(uint16_t) * 5 * width; address_space_rw(&s->as, dp8393x_crda(s), - MEMTXATTRS_UNSPECIFIED, s->data, size, 1); + MEMTXATTRS_UNSPECIFIED, s->data, size, true); /* Move to next descriptor */ size = sizeof(uint16_t) * width; address_space_rw(&s->as, dp8393x_crda(s) + sizeof(uint16_t) * 5 * width, - MEMTXATTRS_UNSPECIFIED, s->data, size, 0); + MEMTXATTRS_UNSPECIFIED, s->data, size, false); s->regs[SONIC_LLFA] = dp8393x_get(s, width, 0); if (s->regs[SONIC_LLFA] & 0x1) { /* EOL detected */ @@ -838,7 +839,7 @@ static ssize_t dp8393x_receive(NetClientState *nc, const uint8_t * buf, } s->data[0] = 0; address_space_rw(&s->as, offset, MEMTXATTRS_UNSPECIFIED, - s->data, sizeof(uint16_t), 1); + s->data, sizeof(uint16_t), true); s->regs[SONIC_CRDA] = s->regs[SONIC_LLFA]; s->regs[SONIC_ISR] |= SONIC_ISR_PKTRX; s->regs[SONIC_RSC] = (s->regs[SONIC_RSC] & 0xff00) | (((s->regs[SONIC_RSC] & 0x00ff) + 1) & 0x00ff); diff --git a/hw/net/i82596.c b/hw/net/i82596.c index a292984e06..11537f72d1 100644 --- a/hw/net/i82596.c +++ b/hw/net/i82596.c @@ -149,7 +149,7 @@ static void i82596_transmit(I82596State *s, uint32_t addr) if (s->nic && len) { assert(len <= sizeof(s->tx_buffer)); address_space_rw(&address_space_memory, tba, - MEMTXATTRS_UNSPECIFIED, s->tx_buffer, len, 0); + MEMTXATTRS_UNSPECIFIED, s->tx_buffer, len, false); DBG(PRINT_PKTHDR("Send", &s->tx_buffer)); DBG(printf("Sending %d bytes\n", len)); qemu_send_packet(qemu_get_queue(s->nic), s->tx_buffer, len); @@ -173,7 +173,7 @@ static void set_individual_address(I82596State *s, uint32_t addr) nc = qemu_get_queue(s->nic); m = s->conf.macaddr.a; address_space_rw(&address_space_memory, addr + 8, - MEMTXATTRS_UNSPECIFIED, m, ETH_ALEN, 0); + MEMTXATTRS_UNSPECIFIED, m, ETH_ALEN, false); qemu_format_nic_info_str(nc, m); trace_i82596_new_mac(nc->info_str); } @@ -192,7 +192,7 @@ static void set_multicast_list(I82596State *s, uint32_t addr) uint8_t multicast_addr[ETH_ALEN]; address_space_rw(&address_space_memory, addr + i * ETH_ALEN, MEMTXATTRS_UNSPECIFIED, - multicast_addr, ETH_ALEN, 0); + multicast_addr, ETH_ALEN, false); DBG(printf("Add multicast entry " MAC_FMT "\n", MAC_ARG(multicast_addr))); unsigned mcast_idx = (net_crc32(multicast_addr, ETH_ALEN) & @@ -261,7 +261,8 @@ static void command_loop(I82596State *s) byte_cnt = MIN(byte_cnt, sizeof(s->config)); /* copy byte_cnt max. */ address_space_rw(&address_space_memory, s->cmd_p + 8, - MEMTXATTRS_UNSPECIFIED, s->config, byte_cnt, 0); + MEMTXATTRS_UNSPECIFIED, s->config, byte_cnt, + false); /* config byte according to page 35ff */ s->config[2] &= 0x82; /* mask valid bits */ s->config[2] |= 0x40; @@ -647,7 +648,7 @@ ssize_t i82596_receive(NetClientState *nc, const uint8_t *buf, size_t sz) len -= num; if (len == 0) { /* copy crc */ address_space_rw(&address_space_memory, rba - 4, - MEMTXATTRS_UNSPECIFIED, crc_ptr, 4, 1); + MEMTXATTRS_UNSPECIFIED, crc_ptr, 4, true); } num |= 0x4000; /* set F BIT */ diff --git a/hw/net/lasi_i82596.c b/hw/net/lasi_i82596.c index 427b3fbf70..8bff419378 100644 --- a/hw/net/lasi_i82596.c +++ b/hw/net/lasi_i82596.c @@ -55,8 +55,8 @@ static void lasi_82596_mem_write(void *opaque, hwaddr addr, * Provided for SeaBIOS only. Write MAC of Network card to addr @val. * Needed for the PDC_LAN_STATION_ID_READ PDC call. */ - address_space_rw(&address_space_memory, val, - MEMTXATTRS_UNSPECIFIED, d->state.conf.macaddr.a, ETH_ALEN, 1); + address_space_rw(&address_space_memory, val, MEMTXATTRS_UNSPECIFIED, + d->state.conf.macaddr.a, ETH_ALEN, true); break; } } diff --git a/target/i386/hvf/x86_mmu.c b/target/i386/hvf/x86_mmu.c index 6a620643c1..451dcc983a 100644 --- a/target/i386/hvf/x86_mmu.c +++ b/target/i386/hvf/x86_mmu.c @@ -89,7 +89,7 @@ static bool get_pt_entry(struct CPUState *cpu, struct gpt_translation *pt, index = gpt_entry(pt->gva, level, pae); address_space_rw(&address_space_memory, gpa + index * pte_size(pae), - MEMTXATTRS_UNSPECIFIED, &pte, pte_size(pae), 0); + MEMTXATTRS_UNSPECIFIED, &pte, pte_size(pae), false); pt->pte[level - 1] = pte; @@ -238,8 +238,8 @@ void vmx_write_mem(struct CPUState *cpu, target_ulong gva, void *data, int bytes if (!mmu_gva_to_gpa(cpu, gva, &gpa)) { VM_PANIC_EX("%s: mmu_gva_to_gpa %llx failed\n", __func__, gva); } else { - address_space_rw(&address_space_memory, gpa, MEMTXATTRS_UNSPECIFIED, - data, copy, 1); + address_space_rw(&address_space_memory, gpa, + MEMTXATTRS_UNSPECIFIED, data, copy, true); } bytes -= copy; @@ -260,7 +260,7 @@ void vmx_read_mem(struct CPUState *cpu, void *data, target_ulong gva, int bytes) VM_PANIC_EX("%s: mmu_gva_to_gpa %llx failed\n", __func__, gva); } address_space_rw(&address_space_memory, gpa, MEMTXATTRS_UNSPECIFIED, - data, copy, 0); + data, copy, false); bytes -= copy; gva += copy; -- 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 9602CC11D04 for ; Thu, 20 Feb 2020 13:07:18 +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 5B1FF208C4 for ; Thu, 20 Feb 2020 13:07:18 +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="J1uCt1Ak" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5B1FF208C4 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 1j4lXn-0001qI-7X; Thu, 20 Feb 2020 13:07:07 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1j4lXl-0001op-Ox for xen-devel@lists.xenproject.org; Thu, 20 Feb 2020 13:07:05 +0000 X-Inumbo-ID: e4157ef2-53e1-11ea-aa99-bc764e2007e4 Received: from us-smtp-1.mimecast.com (unknown [207.211.31.120]) by us1-rack-iad1.inumbo.com (Halon) with ESMTP id e4157ef2-53e1-11ea-aa99-bc764e2007e4; Thu, 20 Feb 2020 13:07:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1582204024; 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=5PwVfta2T/yY9fXrs1bpbk8EWKAqkE2atADSJKtO6lc=; b=J1uCt1Akzwp74l4o8NEIyzYzx9kYTL9wfRaKMM9FJ4cB+MaZtXaR6Ob8N7fMUD2kUNA86n xWcLOi6vIv77dmGUsUUMe+GnWhUFppDTvqciU9R4NxRseYxz6+9euDf6aqcd/BoptP7iG2 CeFq89n7vvmoobRJC0A/i2fsdO/QBzM= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-71-CzhXxBdzMW2CAtq16TQ9Sw-1; Thu, 20 Feb 2020 08:07:01 -0500 X-MC-Unique: CzhXxBdzMW2CAtq16TQ9Sw-1 Received: by mail-wm1-f72.google.com with SMTP id f207so577667wme.6 for ; Thu, 20 Feb 2020 05:07:01 -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=mOFaN72GDMCW5HO6VjgTUS8UF4EBg1PhikK6Z5qXel0=; b=GK5iqEOW1OTd6i/w12ZSQQAQKiSwRZVPuj6rX2K7D04j0XZCc1dwdZ+9Z41JQQZHlT aK1AwuuznDRe3J7ZntPWEN6paqB9OB8Hd1PNGZyi3QjgTj6BKVlR6KRidk8rnv3UCDqy /AyTYbMkpT4cCul1oyFsgfY/VptANhUQV8m/57Ib0oH+dG9lyLUMgyOhoQni0UpfblkS v7+AWe6wtaIiAgLv3koHzuk8Ew/pXWK6R05tZ8Rko8CvtvBlP4mQpgPFmanLympDy5a5 AEKns8z1l403I8S9sRqH3VSrAvZigSA+EHpJ+8nWkEx1VvjZOTi7JvQ205418DoZvtxv dUTw== X-Gm-Message-State: APjAAAVZUY1cxibRzSEpG784CbDG9EgXpbBLKSnffrlKo+/hI1913K/w lMM1KA4nUMvOA4k4+LDPE9LkBLR20/vEdWIfVEvywbIJ6XtbgiQCCJhtAXZHH+Xtx8UEHAKU9eF 9O9JUGLt1q3ZXbW95ZkPb63gRlAA= X-Received: by 2002:a1c:bdc5:: with SMTP id n188mr4525047wmf.124.1582204014481; Thu, 20 Feb 2020 05:06:54 -0800 (PST) X-Google-Smtp-Source: APXvYqxVjczz55ql1rEb/MuCKbM4mbnGg2+QP76S0K4doZSf4ATrQ7PaxLlWrdmPAnroUu1OpiGw2w== X-Received: by 2002:a1c:bdc5:: with SMTP id n188mr4524974wmf.124.1582204014007; Thu, 20 Feb 2020 05:06:54 -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.06.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Feb 2020 05:06:53 -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:44 +0100 Message-Id: <20200220130548.29974-17-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 16/20] Let address_space_rw() 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" U2luY2UgaXRzIGludHJvZHVjdGlvbiBpbiBjb21taXQgYWMxOTcwZmJlOCwgYWRkcmVzc19zcGFj ZV9ydygpCnRha2VzIGEgYm9vbGVhbiAnaXNfd3JpdGUnIGFyZ3VtZW50LiBGaXggdGhlIGNvZGVi YXNlIGJ5IHVzaW5nCmFuIGV4cGxpY2l0IGJvb2xlYW4gdHlwZS4KClRoaXMgY29tbWl0IHdhcyBw cm9kdWNlZCB3aXRoIHRoZSBpbmNsdWRlZCBDb2NjaW5lbGxlIHNjcmlwdApzY3JpcHRzL2NvY2Np bmVsbGUvZXhlY19yd19jb25zdC4KCkluc3BpcmVkLWJ5OiBQZXRlciBNYXlkZWxsIDxwZXRlci5t YXlkZWxsQGxpbmFyby5vcmc+ClNpZ25lZC1vZmYtYnk6IFBoaWxpcHBlIE1hdGhpZXUtRGF1ZMOp IDxwaGlsbWRAcmVkaGF0LmNvbT4KLS0tCiBzY3JpcHRzL2NvY2NpbmVsbGUvZXhlY19yd19jb25z dC5jb2NjaSB8IDEyICsrKysrKysrKysrKwogdGFyZ2V0L2kzODYvaHZmL3ZteC5oICAgICAgICAg ICAgICAgICAgfCAgMiArLQogZXhlYy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgNCArKy0tCiBody9uZXQvZHA4MzkzeC5jICAgICAgICAgICAgICAgICAgICAgICB8IDI3ICsr KysrKysrKysrKystLS0tLS0tLS0tLS0tCiBody9uZXQvaTgyNTk2LmMgICAgICAgICAgICAgICAg ICAgICAgICB8IDExICsrKysrKy0tLS0tCiBody9uZXQvbGFzaV9pODI1OTYuYyAgICAgICAgICAg ICAgICAgICB8ICA0ICsrLS0KIHRhcmdldC9pMzg2L2h2Zi94ODZfbW11LmMgICAgICAgICAgICAg IHwgIDggKysrKy0tLS0KIDcgZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgMjcgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc2NyaXB0cy9jb2NjaW5lbGxlL2V4ZWNfcndfY29uc3Qu Y29jY2kgYi9zY3JpcHRzL2NvY2NpbmVsbGUvZXhlY19yd19jb25zdC5jb2NjaQppbmRleCA3MGNm NTJkNThlLi45OGNiMDZmMDlmIDEwMDY0NAotLS0gYS9zY3JpcHRzL2NvY2NpbmVsbGUvZXhlY19y d19jb25zdC5jb2NjaQorKysgYi9zY3JpcHRzL2NvY2NpbmVsbGUvZXhlY19yd19jb25zdC5jb2Nj aQpAQCAtMSw2ICsxLDE4IEBACiAvLyBVc2FnZToKIC8vICBzcGF0Y2ggLS1zcC1maWxlIHNjcmlw dHMvY29jY2luZWxsZS9leGVjX3J3X2NvbnN0LmNvY2NpIC0tZGlyIC4gLS1pbi1wbGFjZQogCisv LyBDb252ZXJ0IHRvIGJvb2xlYW4KK0BACitleHByZXNzaW9uIEUxLCBFMiwgRTMsIEU0LCBFNTsK K0BACisoCistIGFkZHJlc3Nfc3BhY2VfcncoRTEsIEUyLCBFMywgRTQsIEU1LCAwKQorKyBhZGRy ZXNzX3NwYWNlX3J3KEUxLCBFMiwgRTMsIEU0LCBFNSwgZmFsc2UpCit8CistIGFkZHJlc3Nfc3Bh Y2VfcncoRTEsIEUyLCBFMywgRTQsIEU1LCAxKQorKyBhZGRyZXNzX3NwYWNlX3J3KEUxLCBFMiwg RTMsIEU0LCBFNSwgdHJ1ZSkKKykKKwogLy8gVXNlIGFkZHJlc3Nfc3BhY2Vfd3JpdGUgaW5zdGVh ZCBvZiBjYXN0aW5nIHRvIG5vbi1jb25zdAogQEAKIHR5cGUgVDsKZGlmZiAtLWdpdCBhL3Rhcmdl dC9pMzg2L2h2Zi92bXguaCBiL3RhcmdldC9pMzg2L2h2Zi92bXguaAppbmRleCBhMTE1Y2ExNzgy Li4xOWFmMDI5MTMzIDEwMDY0NAotLS0gYS90YXJnZXQvaTM4Ni9odmYvdm14LmgKKysrIGIvdGFy Z2V0L2kzODYvaHZmL3ZteC5oCkBAIC0xMjgsNyArMTI4LDcgQEAgc3RhdGljIGlubGluZSB2b2lk IG1hY3ZtX3NldF9jcjAoaHZfdmNwdWlkX3QgdmNwdSwgdWludDY0X3QgY3IwKQogICAgICAgICBh ZGRyZXNzX3NwYWNlX3J3KCZhZGRyZXNzX3NwYWNlX21lbW9yeSwKICAgICAgICAgICAgICAgICAg ICAgICAgICBydm1jcyh2Y3B1LCBWTUNTX0dVRVNUX0NSMykgJiB+MHgxZiwKICAgICAgICAgICAg ICAgICAgICAgICAgICBNRU1UWEFUVFJTX1VOU1BFQ0lGSUVELAotICAgICAgICAgICAgICAgICAg ICAgICAgIHBkcHRlLCAzMiwgMCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgcGRwdGUsIDMy LCBmYWxzZSk7CiAgICAgICAgIC8qIE9ubHkgc2V0IFBEUFRFIHdoZW4gYXBwcm9wcmlhdGUuICov CiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKICAgICAgICAgICAgIHd2bWNzKHZj cHUsIFZNQ1NfR1VFU1RfUERQVEUwICsgaSAqIDIsIHBkcHRlW2ldKTsKZGlmZiAtLWdpdCBhL2V4 ZWMuYyBiL2V4ZWMuYwppbmRleCAxNjk3NGQ0ZjRiLi43M2MzYmNmYTQwIDEwMDY0NAotLS0gYS9l eGVjLmMKKysrIGIvZXhlYy5jCkBAIC0zODE1LDggKzM4MTUsOCBAQCBpbnQgY3B1X21lbW9yeV9y d19kZWJ1ZyhDUFVTdGF0ZSAqY3B1LCB0YXJnZXRfdWxvbmcgYWRkciwKICAgICAgICAgICAgIGFk ZHJlc3Nfc3BhY2Vfd3JpdGVfcm9tKGNwdS0+Y3B1X2FzZXNbYXNpZHhdLmFzLCBwaHlzX2FkZHIs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRycywgYnVmLCBsKTsKICAg ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGFkZHJlc3Nfc3BhY2VfcncoY3B1LT5jcHVfYXNl c1thc2lkeF0uYXMsIHBoeXNfYWRkciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0 cnMsIGJ1ZiwgbCwgMCk7CisgICAgICAgICAgICBhZGRyZXNzX3NwYWNlX3J3KGNwdS0+Y3B1X2Fz ZXNbYXNpZHhdLmFzLCBwaHlzX2FkZHIsIGF0dHJzLCBidWYsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGwsIGZhbHNlKTsKICAgICAgICAgfQogICAgICAgICBsZW4gLT0gbDsKICAgICAg ICAgYnVmICs9IGw7CmRpZmYgLS1naXQgYS9ody9uZXQvZHA4MzkzeC5jIGIvaHcvbmV0L2RwODM5 M3guYwppbmRleCBiNDYxMTAxY2ViLi5iNDM2M2UzMTg2IDEwMDY0NAotLS0gYS9ody9uZXQvZHA4 MzkzeC5jCisrKyBiL2h3L25ldC9kcDgzOTN4LmMKQEAgLTI3Niw3ICsyNzYsNyBAQCBzdGF0aWMg dm9pZCBkcDgzOTN4X2RvX2xvYWRfY2FtKGRwODM5M3hTdGF0ZSAqcykKICAgICB3aGlsZSAocy0+ cmVnc1tTT05JQ19DRENdICYgMHgxZikgewogICAgICAgICAvKiBGaWxsIGN1cnJlbnQgZW50cnkg Ki8KICAgICAgICAgYWRkcmVzc19zcGFjZV9ydygmcy0+YXMsIGRwODM5M3hfY2RwKHMpLAotICAg ICAgICAgICAgICAgICAgICAgICAgIE1FTVRYQVRUUlNfVU5TUEVDSUZJRUQsIHMtPmRhdGEsIHNp emUsIDApOworICAgICAgICAgICAgICAgICAgICAgICAgIE1FTVRYQVRUUlNfVU5TUEVDSUZJRUQs IHMtPmRhdGEsIHNpemUsIGZhbHNlKTsKICAgICAgICAgcy0+Y2FtW2luZGV4XVswXSA9IGRwODM5 M3hfZ2V0KHMsIHdpZHRoLCAxKSAmIDB4ZmY7CiAgICAgICAgIHMtPmNhbVtpbmRleF1bMV0gPSBk cDgzOTN4X2dldChzLCB3aWR0aCwgMSkgPj4gODsKICAgICAgICAgcy0+Y2FtW2luZGV4XVsyXSA9 IGRwODM5M3hfZ2V0KHMsIHdpZHRoLCAyKSAmIDB4ZmY7CkBAIC0yOTQsNyArMjk0LDcgQEAgc3Rh dGljIHZvaWQgZHA4MzkzeF9kb19sb2FkX2NhbShkcDgzOTN4U3RhdGUgKnMpCiAKICAgICAvKiBS ZWFkIENBTSBlbmFibGUgKi8KICAgICBhZGRyZXNzX3NwYWNlX3J3KCZzLT5hcywgZHA4MzkzeF9j ZHAocyksCi0gICAgICAgICAgICAgICAgICAgICBNRU1UWEFUVFJTX1VOU1BFQ0lGSUVELCBzLT5k YXRhLCBzaXplLCAwKTsKKyAgICAgICAgICAgICAgICAgICAgIE1FTVRYQVRUUlNfVU5TUEVDSUZJ RUQsIHMtPmRhdGEsIHNpemUsIGZhbHNlKTsKICAgICBzLT5yZWdzW1NPTklDX0NFXSA9IGRwODM5 M3hfZ2V0KHMsIHdpZHRoLCAwKTsKICAgICBEUFJJTlRGKCJsb2FkIGNhbSBkb25lLiBjYW0gZW5h YmxlIG1hc2sgMHglMDR4XG4iLCBzLT5yZWdzW1NPTklDX0NFXSk7CiAKQEAgLTMxMiw3ICszMTIs NyBAQCBzdGF0aWMgdm9pZCBkcDgzOTN4X2RvX3JlYWRfcnJhKGRwODM5M3hTdGF0ZSAqcykKICAg ICB3aWR0aCA9IChzLT5yZWdzW1NPTklDX0RDUl0gJiBTT05JQ19EQ1JfRFcpID8gMiA6IDE7CiAg ICAgc2l6ZSA9IHNpemVvZih1aW50MTZfdCkgKiA0ICogd2lkdGg7CiAgICAgYWRkcmVzc19zcGFj ZV9ydygmcy0+YXMsIGRwODM5M3hfcnJwKHMpLAotICAgICAgICAgICAgICAgICAgICAgTUVNVFhB VFRSU19VTlNQRUNJRklFRCwgcy0+ZGF0YSwgc2l6ZSwgMCk7CisgICAgICAgICAgICAgICAgICAg ICBNRU1UWEFUVFJTX1VOU1BFQ0lGSUVELCBzLT5kYXRhLCBzaXplLCBmYWxzZSk7CiAKICAgICAv KiBVcGRhdGUgU09OSUMgcmVnaXN0ZXJzICovCiAgICAgcy0+cmVnc1tTT05JQ19DUkJBMF0gPSBk cDgzOTN4X2dldChzLCB3aWR0aCwgMCk7CkBAIC00MjcsNyArNDI3LDcgQEAgc3RhdGljIHZvaWQg ZHA4MzkzeF9kb190cmFuc21pdF9wYWNrZXRzKGRwODM5M3hTdGF0ZSAqcykKICAgICAgICAgcy0+ cmVnc1tTT05JQ19UVERBXSA9IHMtPnJlZ3NbU09OSUNfQ1REQV07CiAgICAgICAgIERQUklOVEYo IlRyYW5zbWl0IHBhY2tldCBhdCAlMDh4XG4iLCBkcDgzOTN4X3R0ZGEocykpOwogICAgICAgICBh ZGRyZXNzX3NwYWNlX3J3KCZzLT5hcywgZHA4MzkzeF90dGRhKHMpICsgc2l6ZW9mKHVpbnQxNl90 KSAqIHdpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgIE1FTVRYQVRUUlNfVU5TUEVDSUZJ RUQsIHMtPmRhdGEsIHNpemUsIDApOworICAgICAgICAgICAgICAgICAgICAgICAgIE1FTVRYQVRU UlNfVU5TUEVDSUZJRUQsIHMtPmRhdGEsIHNpemUsIGZhbHNlKTsKICAgICAgICAgdHhfbGVuID0g MDsKIAogICAgICAgICAvKiBVcGRhdGUgcmVnaXN0ZXJzICovCkBAIC00NTIsNyArNDUyLDggQEAg c3RhdGljIHZvaWQgZHA4MzkzeF9kb190cmFuc21pdF9wYWNrZXRzKGRwODM5M3hTdGF0ZSAqcykK ICAgICAgICAgICAgICAgICBsZW4gPSBzaXplb2Yocy0+dHhfYnVmZmVyKSAtIHR4X2xlbjsKICAg ICAgICAgICAgIH0KICAgICAgICAgICAgIGFkZHJlc3Nfc3BhY2VfcncoJnMtPmFzLCBkcDgzOTN4 X3RzYShzKSwKLSAgICAgICAgICAgICAgICBNRU1UWEFUVFJTX1VOU1BFQ0lGSUVELCAmcy0+dHhf YnVmZmVyW3R4X2xlbl0sIGxlbiwgMCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1F TVRYQVRUUlNfVU5TUEVDSUZJRUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzLT50 eF9idWZmZXJbdHhfbGVuXSwgbGVuLCBmYWxzZSk7CiAgICAgICAgICAgICB0eF9sZW4gKz0gbGVu OwogCiAgICAgICAgICAgICBpKys7CkBAIC00NjEsNyArNDYyLDcgQEAgc3RhdGljIHZvaWQgZHA4 MzkzeF9kb190cmFuc21pdF9wYWNrZXRzKGRwODM5M3hTdGF0ZSAqcykKICAgICAgICAgICAgICAg ICBzaXplID0gc2l6ZW9mKHVpbnQxNl90KSAqIDMgKiB3aWR0aDsKICAgICAgICAgICAgICAgICBh ZGRyZXNzX3NwYWNlX3J3KCZzLT5hcywKICAgICAgICAgICAgICAgICAgICAgZHA4MzkzeF90dGRh KHMpICsgc2l6ZW9mKHVpbnQxNl90KSAqICg0ICsgMyAqIGkpICogd2lkdGgsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBNRU1UWEFUVFJTX1VOU1BFQ0lGSUVELCBzLT5kYXRhLCBz aXplLCAwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FTVRYQVRUUlNfVU5T UEVDSUZJRUQsIHMtPmRhdGEsIHNpemUsIGZhbHNlKTsKICAgICAgICAgICAgICAgICBzLT5yZWdz W1NPTklDX1RTQTBdID0gZHA4MzkzeF9nZXQocywgd2lkdGgsIDApOwogICAgICAgICAgICAgICAg IHMtPnJlZ3NbU09OSUNfVFNBMV0gPSBkcDgzOTN4X2dldChzLCB3aWR0aCwgMSk7CiAgICAgICAg ICAgICAgICAgcy0+cmVnc1tTT05JQ19URlNdID0gZHA4MzkzeF9nZXQocywgd2lkdGgsIDIpOwpA QCAtNDk2LDcgKzQ5Nyw3IEBAIHN0YXRpYyB2b2lkIGRwODM5M3hfZG9fdHJhbnNtaXRfcGFja2V0 cyhkcDgzOTN4U3RhdGUgKnMpCiAgICAgICAgIHNpemUgPSBzaXplb2YodWludDE2X3QpICogd2lk dGg7CiAgICAgICAgIGFkZHJlc3Nfc3BhY2VfcncoJnMtPmFzLAogICAgICAgICAgICAgICAgICAg ICAgICAgIGRwODM5M3hfdHRkYShzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBNRU1UWEFU VFJTX1VOU1BFQ0lGSUVELCBzLT5kYXRhLCBzaXplLCAxKTsKKyAgICAgICAgICAgICAgICAgICAg ICAgICBNRU1UWEFUVFJTX1VOU1BFQ0lGSUVELCBzLT5kYXRhLCBzaXplLCB0cnVlKTsKIAogICAg ICAgICBpZiAoIShzLT5yZWdzW1NPTklDX0NSXSAmIFNPTklDX0NSX0hUWCkpIHsKICAgICAgICAg ICAgIC8qIFJlYWQgZm9vdGVyIG9mIHBhY2tldCAqLwpAQCAtNTA1LDcgKzUwNiw3IEBAIHN0YXRp YyB2b2lkIGRwODM5M3hfZG9fdHJhbnNtaXRfcGFja2V0cyhkcDgzOTN4U3RhdGUgKnMpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRwODM5M3hfdHRkYShzKSArCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNpemVvZih1aW50MTZfdCkgKgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoNCArIDMgKiBzLT5yZWdzW1NPTklDX1RGQ10pICogd2lkdGgsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE1FTVRYQVRUUlNfVU5TUEVDSUZJRUQsIHMtPmRhdGEsIHNpemUs IDApOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRU1UWEFUVFJTX1VOU1BFQ0lGSUVE LCBzLT5kYXRhLCBzaXplLCBmYWxzZSk7CiAgICAgICAgICAgICBzLT5yZWdzW1NPTklDX0NUREFd ID0gZHA4MzkzeF9nZXQocywgd2lkdGgsIDApICYgfjB4MTsKICAgICAgICAgICAgIGlmIChkcDgz OTN4X2dldChzLCB3aWR0aCwgMCkgJiAweDEpIHsKICAgICAgICAgICAgICAgICAvKiBFT0wgZGV0 ZWN0ZWQgKi8KQEAgLTc2OCw3ICs3NjksNyBAQCBzdGF0aWMgc3NpemVfdCBkcDgzOTN4X3JlY2Vp dmUoTmV0Q2xpZW50U3RhdGUgKm5jLCBjb25zdCB1aW50OF90ICogYnVmLAogICAgICAgICBzaXpl ID0gc2l6ZW9mKHVpbnQxNl90KSAqIDEgKiB3aWR0aDsKICAgICAgICAgYWRkcmVzcyA9IGRwODM5 M3hfY3JkYShzKSArIHNpemVvZih1aW50MTZfdCkgKiA1ICogd2lkdGg7CiAgICAgICAgIGFkZHJl c3Nfc3BhY2VfcncoJnMtPmFzLCBhZGRyZXNzLCBNRU1UWEFUVFJTX1VOU1BFQ0lGSUVELAotICAg ICAgICAgICAgICAgICAgICAgICAgIHMtPmRhdGEsIHNpemUsIDApOworICAgICAgICAgICAgICAg ICAgICAgICAgIHMtPmRhdGEsIHNpemUsIGZhbHNlKTsKICAgICAgICAgaWYgKGRwODM5M3hfZ2V0 KHMsIHdpZHRoLCAwKSAmIDB4MSkgewogICAgICAgICAgICAgLyogU3RpbGwgRU9MIDsgc3RvcCBy ZWNlcHRpb24gKi8KICAgICAgICAgICAgIHJldHVybiAtMTsKQEAgLTc5MCw3ICs3OTEsNyBAQCBz dGF0aWMgc3NpemVfdCBkcDgzOTN4X3JlY2VpdmUoTmV0Q2xpZW50U3RhdGUgKm5jLCBjb25zdCB1 aW50OF90ICogYnVmLAogICAgIGFkZHJlc3Nfc3BhY2Vfd3JpdGUoJnMtPmFzLCBhZGRyZXNzLCBN RU1UWEFUVFJTX1VOU1BFQ0lGSUVELCBidWYsIHJ4X2xlbik7CiAgICAgYWRkcmVzcyArPSByeF9s ZW47CiAgICAgYWRkcmVzc19zcGFjZV9ydygmcy0+YXMsIGFkZHJlc3MsCi0gICAgICAgICAgICAg ICAgICAgICBNRU1UWEFUVFJTX1VOU1BFQ0lGSUVELCAmY2hlY2tzdW0sIDQsIDEpOworICAgICAg ICAgICAgICAgICAgICAgTUVNVFhBVFRSU19VTlNQRUNJRklFRCwgJmNoZWNrc3VtLCA0LCB0cnVl KTsKICAgICByeF9sZW4gKz0gNDsKICAgICBzLT5yZWdzW1NPTklDX0NSQkExXSA9IGFkZHJlc3Mg Pj4gMTY7CiAgICAgcy0+cmVnc1tTT05JQ19DUkJBMF0gPSBhZGRyZXNzICYgMHhmZmZmOwpAQCAt ODE5LDEyICs4MjAsMTIgQEAgc3RhdGljIHNzaXplX3QgZHA4MzkzeF9yZWNlaXZlKE5ldENsaWVu dFN0YXRlICpuYywgY29uc3QgdWludDhfdCAqIGJ1ZiwKICAgICBkcDgzOTN4X3B1dChzLCB3aWR0 aCwgNCwgcy0+cmVnc1tTT05JQ19SU0NdKTsgLyogc2VxX25vICovCiAgICAgc2l6ZSA9IHNpemVv Zih1aW50MTZfdCkgKiA1ICogd2lkdGg7CiAgICAgYWRkcmVzc19zcGFjZV9ydygmcy0+YXMsIGRw ODM5M3hfY3JkYShzKSwKLSAgICAgICAgICAgICAgICAgICAgIE1FTVRYQVRUUlNfVU5TUEVDSUZJ RUQsIHMtPmRhdGEsIHNpemUsIDEpOworICAgICAgICAgICAgICAgICAgICAgTUVNVFhBVFRSU19V TlNQRUNJRklFRCwgcy0+ZGF0YSwgc2l6ZSwgdHJ1ZSk7CiAKICAgICAvKiBNb3ZlIHRvIG5leHQg ZGVzY3JpcHRvciAqLwogICAgIHNpemUgPSBzaXplb2YodWludDE2X3QpICogd2lkdGg7CiAgICAg YWRkcmVzc19zcGFjZV9ydygmcy0+YXMsIGRwODM5M3hfY3JkYShzKSArIHNpemVvZih1aW50MTZf dCkgKiA1ICogd2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICBNRU1UWEFUVFJTX1VOU1BFQ0lG SUVELCBzLT5kYXRhLCBzaXplLCAwKTsKKyAgICAgICAgICAgICAgICAgICAgIE1FTVRYQVRUUlNf VU5TUEVDSUZJRUQsIHMtPmRhdGEsIHNpemUsIGZhbHNlKTsKICAgICBzLT5yZWdzW1NPTklDX0xM RkFdID0gZHA4MzkzeF9nZXQocywgd2lkdGgsIDApOwogICAgIGlmIChzLT5yZWdzW1NPTklDX0xM RkFdICYgMHgxKSB7CiAgICAgICAgIC8qIEVPTCBkZXRlY3RlZCAqLwpAQCAtODM4LDcgKzgzOSw3 IEBAIHN0YXRpYyBzc2l6ZV90IGRwODM5M3hfcmVjZWl2ZShOZXRDbGllbnRTdGF0ZSAqbmMsIGNv bnN0IHVpbnQ4X3QgKiBidWYsCiAgICAgICAgIH0KICAgICAgICAgcy0+ZGF0YVswXSA9IDA7CiAg ICAgICAgIGFkZHJlc3Nfc3BhY2VfcncoJnMtPmFzLCBvZmZzZXQsIE1FTVRYQVRUUlNfVU5TUEVD SUZJRUQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgcy0+ZGF0YSwgc2l6ZW9mKHVpbnQxNl90 KSwgMSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgcy0+ZGF0YSwgc2l6ZW9mKHVpbnQxNl90 KSwgdHJ1ZSk7CiAgICAgICAgIHMtPnJlZ3NbU09OSUNfQ1JEQV0gPSBzLT5yZWdzW1NPTklDX0xM RkFdOwogICAgICAgICBzLT5yZWdzW1NPTklDX0lTUl0gfD0gU09OSUNfSVNSX1BLVFJYOwogICAg ICAgICBzLT5yZWdzW1NPTklDX1JTQ10gPSAocy0+cmVnc1tTT05JQ19SU0NdICYgMHhmZjAwKSB8 ICgoKHMtPnJlZ3NbU09OSUNfUlNDXSAmIDB4MDBmZikgKyAxKSAmIDB4MDBmZik7CmRpZmYgLS1n aXQgYS9ody9uZXQvaTgyNTk2LmMgYi9ody9uZXQvaTgyNTk2LmMKaW5kZXggYTI5Mjk4NGUwNi4u MTE1MzdmNzJkMSAxMDA2NDQKLS0tIGEvaHcvbmV0L2k4MjU5Ni5jCisrKyBiL2h3L25ldC9pODI1 OTYuYwpAQCAtMTQ5LDcgKzE0OSw3IEBAIHN0YXRpYyB2b2lkIGk4MjU5Nl90cmFuc21pdChJODI1 OTZTdGF0ZSAqcywgdWludDMyX3QgYWRkcikKICAgICAgICAgaWYgKHMtPm5pYyAmJiBsZW4pIHsK ICAgICAgICAgICAgIGFzc2VydChsZW4gPD0gc2l6ZW9mKHMtPnR4X2J1ZmZlcikpOwogICAgICAg ICAgICAgYWRkcmVzc19zcGFjZV9ydygmYWRkcmVzc19zcGFjZV9tZW1vcnksIHRiYSwKLSAgICAg ICAgICAgICAgICBNRU1UWEFUVFJTX1VOU1BFQ0lGSUVELCBzLT50eF9idWZmZXIsIGxlbiwgMCk7 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FTVRYQVRUUlNfVU5TUEVDSUZJRUQsIHMt PnR4X2J1ZmZlciwgbGVuLCBmYWxzZSk7CiAgICAgICAgICAgICBEQkcoUFJJTlRfUEtUSERSKCJT ZW5kIiwgJnMtPnR4X2J1ZmZlcikpOwogICAgICAgICAgICAgREJHKHByaW50ZigiU2VuZGluZyAl ZCBieXRlc1xuIiwgbGVuKSk7CiAgICAgICAgICAgICBxZW11X3NlbmRfcGFja2V0KHFlbXVfZ2V0 X3F1ZXVlKHMtPm5pYyksIHMtPnR4X2J1ZmZlciwgbGVuKTsKQEAgLTE3Myw3ICsxNzMsNyBAQCBz dGF0aWMgdm9pZCBzZXRfaW5kaXZpZHVhbF9hZGRyZXNzKEk4MjU5NlN0YXRlICpzLCB1aW50MzJf dCBhZGRyKQogICAgIG5jID0gcWVtdV9nZXRfcXVldWUocy0+bmljKTsKICAgICBtID0gcy0+Y29u Zi5tYWNhZGRyLmE7CiAgICAgYWRkcmVzc19zcGFjZV9ydygmYWRkcmVzc19zcGFjZV9tZW1vcnks IGFkZHIgKyA4LAotICAgICAgICBNRU1UWEFUVFJTX1VOU1BFQ0lGSUVELCBtLCBFVEhfQUxFTiwg MCk7CisgICAgICAgICAgICAgICAgICAgICBNRU1UWEFUVFJTX1VOU1BFQ0lGSUVELCBtLCBFVEhf QUxFTiwgZmFsc2UpOwogICAgIHFlbXVfZm9ybWF0X25pY19pbmZvX3N0cihuYywgbSk7CiAgICAg dHJhY2VfaTgyNTk2X25ld19tYWMobmMtPmluZm9fc3RyKTsKIH0KQEAgLTE5Miw3ICsxOTIsNyBA QCBzdGF0aWMgdm9pZCBzZXRfbXVsdGljYXN0X2xpc3QoSTgyNTk2U3RhdGUgKnMsIHVpbnQzMl90 IGFkZHIpCiAgICAgICAgIHVpbnQ4X3QgbXVsdGljYXN0X2FkZHJbRVRIX0FMRU5dOwogICAgICAg ICBhZGRyZXNzX3NwYWNlX3J3KCZhZGRyZXNzX3NwYWNlX21lbW9yeSwKICAgICAgICAgICAgIGFk ZHIgKyBpICogRVRIX0FMRU4sIE1FTVRYQVRUUlNfVU5TUEVDSUZJRUQsCi0gICAgICAgICAgICBt dWx0aWNhc3RfYWRkciwgRVRIX0FMRU4sIDApOworICAgICAgICAgICAgICAgICAgICAgICAgIG11 bHRpY2FzdF9hZGRyLCBFVEhfQUxFTiwgZmFsc2UpOwogICAgICAgICBEQkcocHJpbnRmKCJBZGQg bXVsdGljYXN0IGVudHJ5ICIgTUFDX0ZNVCAiXG4iLAogICAgICAgICAgICAgICAgICAgICBNQUNf QVJHKG11bHRpY2FzdF9hZGRyKSkpOwogICAgICAgICB1bnNpZ25lZCBtY2FzdF9pZHggPSAobmV0 X2NyYzMyKG11bHRpY2FzdF9hZGRyLCBFVEhfQUxFTikgJgpAQCAtMjYxLDcgKzI2MSw4IEBAIHN0 YXRpYyB2b2lkIGNvbW1hbmRfbG9vcChJODI1OTZTdGF0ZSAqcykKICAgICAgICAgICAgIGJ5dGVf Y250ID0gTUlOKGJ5dGVfY250LCBzaXplb2Yocy0+Y29uZmlnKSk7CiAgICAgICAgICAgICAvKiBj b3B5IGJ5dGVfY250IG1heC4gKi8KICAgICAgICAgICAgIGFkZHJlc3Nfc3BhY2VfcncoJmFkZHJl c3Nfc3BhY2VfbWVtb3J5LCBzLT5jbWRfcCArIDgsCi0gICAgICAgICAgICAgICAgTUVNVFhBVFRS U19VTlNQRUNJRklFRCwgcy0+Y29uZmlnLCBieXRlX2NudCwgMCk7CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE1FTVRYQVRUUlNfVU5TUEVDSUZJRUQsIHMtPmNvbmZpZywgYnl0ZV9jbnQs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlKTsKICAgICAgICAgICAgIC8qIGNv bmZpZyBieXRlIGFjY29yZGluZyB0byBwYWdlIDM1ZmYgKi8KICAgICAgICAgICAgIHMtPmNvbmZp Z1syXSAmPSAweDgyOyAvKiBtYXNrIHZhbGlkIGJpdHMgKi8KICAgICAgICAgICAgIHMtPmNvbmZp Z1syXSB8PSAweDQwOwpAQCAtNjQ3LDcgKzY0OCw3IEBAIHNzaXplX3QgaTgyNTk2X3JlY2VpdmUo TmV0Q2xpZW50U3RhdGUgKm5jLCBjb25zdCB1aW50OF90ICpidWYsIHNpemVfdCBzeikKICAgICAg ICAgICAgIGxlbiAtPSBudW07CiAgICAgICAgICAgICBpZiAobGVuID09IDApIHsgLyogY29weSBj cmMgKi8KICAgICAgICAgICAgICAgICBhZGRyZXNzX3NwYWNlX3J3KCZhZGRyZXNzX3NwYWNlX21l bW9yeSwgcmJhIC0gNCwKLSAgICAgICAgICAgICAgICAgICAgTUVNVFhBVFRSU19VTlNQRUNJRklF RCwgY3JjX3B0ciwgNCwgMSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRU1U WEFUVFJTX1VOU1BFQ0lGSUVELCBjcmNfcHRyLCA0LCB0cnVlKTsKICAgICAgICAgICAgIH0KIAog ICAgICAgICAgICAgbnVtIHw9IDB4NDAwMDsgLyogc2V0IEYgQklUICovCmRpZmYgLS1naXQgYS9o dy9uZXQvbGFzaV9pODI1OTYuYyBiL2h3L25ldC9sYXNpX2k4MjU5Ni5jCmluZGV4IDQyN2IzZmJm NzAuLjhiZmY0MTkzNzggMTAwNjQ0Ci0tLSBhL2h3L25ldC9sYXNpX2k4MjU5Ni5jCisrKyBiL2h3 L25ldC9sYXNpX2k4MjU5Ni5jCkBAIC01NSw4ICs1NSw4IEBAIHN0YXRpYyB2b2lkIGxhc2lfODI1 OTZfbWVtX3dyaXRlKHZvaWQgKm9wYXF1ZSwgaHdhZGRyIGFkZHIsCiAgICAgICAgICAqIFByb3Zp ZGVkIGZvciBTZWFCSU9TIG9ubHkuIFdyaXRlIE1BQyBvZiBOZXR3b3JrIGNhcmQgdG8gYWRkciBA dmFsLgogICAgICAgICAgKiBOZWVkZWQgZm9yIHRoZSBQRENfTEFOX1NUQVRJT05fSURfUkVBRCBQ REMgY2FsbC4KICAgICAgICAgICovCi0gICAgICAgIGFkZHJlc3Nfc3BhY2VfcncoJmFkZHJlc3Nf c3BhY2VfbWVtb3J5LCB2YWwsCi0gICAgICAgICAgICBNRU1UWEFUVFJTX1VOU1BFQ0lGSUVELCBk LT5zdGF0ZS5jb25mLm1hY2FkZHIuYSwgRVRIX0FMRU4sIDEpOworICAgICAgICBhZGRyZXNzX3Nw YWNlX3J3KCZhZGRyZXNzX3NwYWNlX21lbW9yeSwgdmFsLCBNRU1UWEFUVFJTX1VOU1BFQ0lGSUVE LAorICAgICAgICAgICAgICAgICAgICAgICAgIGQtPnN0YXRlLmNvbmYubWFjYWRkci5hLCBFVEhf QUxFTiwgdHJ1ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL3Rhcmdl dC9pMzg2L2h2Zi94ODZfbW11LmMgYi90YXJnZXQvaTM4Ni9odmYveDg2X21tdS5jCmluZGV4IDZh NjIwNjQzYzEuLjQ1MWRjYzk4M2EgMTAwNjQ0Ci0tLSBhL3RhcmdldC9pMzg2L2h2Zi94ODZfbW11 LmMKKysrIGIvdGFyZ2V0L2kzODYvaHZmL3g4Nl9tbXUuYwpAQCAtODksNyArODksNyBAQCBzdGF0 aWMgYm9vbCBnZXRfcHRfZW50cnkoc3RydWN0IENQVVN0YXRlICpjcHUsIHN0cnVjdCBncHRfdHJh bnNsYXRpb24gKnB0LAogCiAgICAgaW5kZXggPSBncHRfZW50cnkocHQtPmd2YSwgbGV2ZWwsIHBh ZSk7CiAgICAgYWRkcmVzc19zcGFjZV9ydygmYWRkcmVzc19zcGFjZV9tZW1vcnksIGdwYSArIGlu ZGV4ICogcHRlX3NpemUocGFlKSwKLSAgICAgICAgICAgICAgICAgICAgIE1FTVRYQVRUUlNfVU5T UEVDSUZJRUQsICZwdGUsIHB0ZV9zaXplKHBhZSksIDApOworICAgICAgICAgICAgICAgICAgICAg TUVNVFhBVFRSU19VTlNQRUNJRklFRCwgJnB0ZSwgcHRlX3NpemUocGFlKSwgZmFsc2UpOwogCiAg ICAgcHQtPnB0ZVtsZXZlbCAtIDFdID0gcHRlOwogCkBAIC0yMzgsOCArMjM4LDggQEAgdm9pZCB2 bXhfd3JpdGVfbWVtKHN0cnVjdCBDUFVTdGF0ZSAqY3B1LCB0YXJnZXRfdWxvbmcgZ3ZhLCB2b2lk ICpkYXRhLCBpbnQgYnl0ZXMKICAgICAgICAgaWYgKCFtbXVfZ3ZhX3RvX2dwYShjcHUsIGd2YSwg JmdwYSkpIHsKICAgICAgICAgICAgIFZNX1BBTklDX0VYKCIlczogbW11X2d2YV90b19ncGEgJWxs eCBmYWlsZWRcbiIsIF9fZnVuY19fLCBndmEpOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAg ICAgYWRkcmVzc19zcGFjZV9ydygmYWRkcmVzc19zcGFjZV9tZW1vcnksIGdwYSwgTUVNVFhBVFRS U19VTlNQRUNJRklFRCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSwgY29weSwg MSk7CisgICAgICAgICAgICBhZGRyZXNzX3NwYWNlX3J3KCZhZGRyZXNzX3NwYWNlX21lbW9yeSwg Z3BhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRU1UWEFUVFJTX1VOU1BFQ0lGSUVE LCBkYXRhLCBjb3B5LCB0cnVlKTsKICAgICAgICAgfQogCiAgICAgICAgIGJ5dGVzIC09IGNvcHk7 CkBAIC0yNjAsNyArMjYwLDcgQEAgdm9pZCB2bXhfcmVhZF9tZW0oc3RydWN0IENQVVN0YXRlICpj cHUsIHZvaWQgKmRhdGEsIHRhcmdldF91bG9uZyBndmEsIGludCBieXRlcykKICAgICAgICAgICAg IFZNX1BBTklDX0VYKCIlczogbW11X2d2YV90b19ncGEgJWxseCBmYWlsZWRcbiIsIF9fZnVuY19f LCBndmEpOwogICAgICAgICB9CiAgICAgICAgIGFkZHJlc3Nfc3BhY2VfcncoJmFkZHJlc3Nfc3Bh Y2VfbWVtb3J5LCBncGEsIE1FTVRYQVRUUlNfVU5TUEVDSUZJRUQsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgZGF0YSwgY29weSwgMCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSwg Y29weSwgZmFsc2UpOwogCiAgICAgICAgIGJ5dGVzIC09IGNvcHk7CiAgICAgICAgIGd2YSArPSBj b3B5OwotLSAKMi4yMS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVj dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1k ZXZlbA== 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 3E3DBC11D04 for ; Thu, 20 Feb 2020 13:17:02 +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 EF66F20722 for ; Thu, 20 Feb 2020 13:17:01 +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="aMZraOGs" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EF66F20722 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]:41878 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j4lhN-00086s-4I for qemu-devel@archiver.kernel.org; Thu, 20 Feb 2020 08:17:01 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:56459) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j4lXi-0006Ac-0A for qemu-devel@nongnu.org; Thu, 20 Feb 2020 08:07:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j4lXf-0005if-L7 for qemu-devel@nongnu.org; Thu, 20 Feb 2020 08:07:01 -0500 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:55294 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 1j4lXe-0005hQ-99 for qemu-devel@nongnu.org; Thu, 20 Feb 2020 08:06:59 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1582204017; 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=5PwVfta2T/yY9fXrs1bpbk8EWKAqkE2atADSJKtO6lc=; b=aMZraOGsZO86CJJlCmjIJyrRCBZ/McJ97zH0wV4UgJAJelsNoACqYcBQFog+Wa1eES2XT6 licHRAi2PbZ3Rj8bBdPOt9yChrTMgBL8LEgJluT2Lq73GI++BtWebwYag51+GP3h2rnluE d6x5URZex6J0ek8gAnjSbWq8XAh2veU= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-469-yAsfuQdhPVygUAk_kTOW1w-1; Thu, 20 Feb 2020 08:06:56 -0500 Received: by mail-wm1-f69.google.com with SMTP id b205so807281wmh.2 for ; Thu, 20 Feb 2020 05:06:56 -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=mOFaN72GDMCW5HO6VjgTUS8UF4EBg1PhikK6Z5qXel0=; b=Zenc46viiCPJGBIz7GlTC4P3dOiztrXx0XxJQHbrjENBOa1MC3sie/+0Tj92Xx1wVL uuVJMcE3uCaXLK45CcgHerFdCd+fkxPXQLGONlEssI5HNvcV75IRaZ2W6w8FVBtOBZtx gfsBbsSygeVWG98F+xG2UoD1Gt4Nd1KNppLkm9K9S2LI2xWIvqmqNVJvgAkhzQpkHF9p 8oyJYj0BTCH4vizRqeByBskBwMZytpaknmM/3o+ph+loe8Az4T6BkMHnFWKsPD6kYiuJ kp7aVfptpOTmnPCPX1R4UHmoQQ3jUE96toy2XxqKz/KBlgOXgi557/+oWl3v0HrCbK4+ JhTA== X-Gm-Message-State: APjAAAVZLs+Ny6C7WYsp+hiVLEEzIhFKDHFB0KVN0KK9g4cx6S3yUFCh orDhOY0WBOtWU7O7lZgx3Kkr3syCtCp5INGgbcRjdF7XH+xv7jHovbj22yTXj77idjwWccNqjn3 dzW0oc0H3B8zQZPo= X-Received: by 2002:a1c:bdc5:: with SMTP id n188mr4525013wmf.124.1582204014475; Thu, 20 Feb 2020 05:06:54 -0800 (PST) X-Google-Smtp-Source: APXvYqxVjczz55ql1rEb/MuCKbM4mbnGg2+QP76S0K4doZSf4ATrQ7PaxLlWrdmPAnroUu1OpiGw2w== X-Received: by 2002:a1c:bdc5:: with SMTP id n188mr4524974wmf.124.1582204014007; Thu, 20 Feb 2020 05:06:54 -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.06.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Feb 2020 05:06:53 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v3 16/20] Let address_space_rw() calls pass a boolean 'is_write' argument Date: Thu, 20 Feb 2020 14:05:44 +0100 Message-Id: <20200220130548.29974-17-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-MC-Unique: yAsfuQdhPVygUAk_kTOW1w-1 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] [fuzzy] X-Received-From: 207.211.31.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" Since its introduction in commit ac1970fbe8, address_space_rw() takes a boolean 'is_write' argument. Fix the codebase by using an explicit boolean type. This commit was produced with the included Coccinelle script scripts/coccinelle/exec_rw_const. Inspired-by: Peter Maydell Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- scripts/coccinelle/exec_rw_const.cocci | 12 ++++++++++++ target/i386/hvf/vmx.h | 2 +- exec.c | 4 ++-- hw/net/dp8393x.c | 27 +++++++++++++------------- hw/net/i82596.c | 11 ++++++----- hw/net/lasi_i82596.c | 4 ++-- target/i386/hvf/x86_mmu.c | 8 ++++---- 7 files changed, 41 insertions(+), 27 deletions(-) diff --git a/scripts/coccinelle/exec_rw_const.cocci b/scripts/coccinelle/ex= ec_rw_const.cocci index 70cf52d58e..98cb06f09f 100644 --- a/scripts/coccinelle/exec_rw_const.cocci +++ b/scripts/coccinelle/exec_rw_const.cocci @@ -1,6 +1,18 @@ // Usage: // spatch --sp-file scripts/coccinelle/exec_rw_const.cocci --dir . --in-p= lace =20 +// Convert to boolean +@@ +expression E1, E2, E3, E4, E5; +@@ +( +- address_space_rw(E1, E2, E3, E4, E5, 0) ++ address_space_rw(E1, E2, E3, E4, E5, false) +| +- address_space_rw(E1, E2, E3, E4, E5, 1) ++ address_space_rw(E1, E2, E3, E4, E5, true) +) + // Use address_space_write instead of casting to non-const @@ type T; diff --git a/target/i386/hvf/vmx.h b/target/i386/hvf/vmx.h index a115ca1782..19af029133 100644 --- a/target/i386/hvf/vmx.h +++ b/target/i386/hvf/vmx.h @@ -128,7 +128,7 @@ static inline void macvm_set_cr0(hv_vcpuid_t vcpu, uint= 64_t cr0) address_space_rw(&address_space_memory, rvmcs(vcpu, VMCS_GUEST_CR3) & ~0x1f, MEMTXATTRS_UNSPECIFIED, - pdpte, 32, 0); + pdpte, 32, false); /* Only set PDPTE when appropriate. */ for (i =3D 0; i < 4; i++) { wvmcs(vcpu, VMCS_GUEST_PDPTE0 + i * 2, pdpte[i]); diff --git a/exec.c b/exec.c index 16974d4f4b..73c3bcfa40 100644 --- a/exec.c +++ b/exec.c @@ -3815,8 +3815,8 @@ int cpu_memory_rw_debug(CPUState *cpu, target_ulong a= ddr, address_space_write_rom(cpu->cpu_ases[asidx].as, phys_addr, attrs, buf, l); } else { - address_space_rw(cpu->cpu_ases[asidx].as, phys_addr, - attrs, buf, l, 0); + address_space_rw(cpu->cpu_ases[asidx].as, phys_addr, attrs, bu= f, + l, false); } len -=3D l; buf +=3D l; diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c index b461101ceb..b4363e3186 100644 --- a/hw/net/dp8393x.c +++ b/hw/net/dp8393x.c @@ -276,7 +276,7 @@ static void dp8393x_do_load_cam(dp8393xState *s) while (s->regs[SONIC_CDC] & 0x1f) { /* Fill current entry */ address_space_rw(&s->as, dp8393x_cdp(s), - MEMTXATTRS_UNSPECIFIED, s->data, size, 0); + MEMTXATTRS_UNSPECIFIED, s->data, size, false); s->cam[index][0] =3D dp8393x_get(s, width, 1) & 0xff; s->cam[index][1] =3D dp8393x_get(s, width, 1) >> 8; s->cam[index][2] =3D dp8393x_get(s, width, 2) & 0xff; @@ -294,7 +294,7 @@ static void dp8393x_do_load_cam(dp8393xState *s) =20 /* Read CAM enable */ address_space_rw(&s->as, dp8393x_cdp(s), - MEMTXATTRS_UNSPECIFIED, s->data, size, 0); + MEMTXATTRS_UNSPECIFIED, s->data, size, false); s->regs[SONIC_CE] =3D dp8393x_get(s, width, 0); DPRINTF("load cam done. cam enable mask 0x%04x\n", s->regs[SONIC_CE]); =20 @@ -312,7 +312,7 @@ static void dp8393x_do_read_rra(dp8393xState *s) width =3D (s->regs[SONIC_DCR] & SONIC_DCR_DW) ? 2 : 1; size =3D sizeof(uint16_t) * 4 * width; address_space_rw(&s->as, dp8393x_rrp(s), - MEMTXATTRS_UNSPECIFIED, s->data, size, 0); + MEMTXATTRS_UNSPECIFIED, s->data, size, false); =20 /* Update SONIC registers */ s->regs[SONIC_CRBA0] =3D dp8393x_get(s, width, 0); @@ -427,7 +427,7 @@ static void dp8393x_do_transmit_packets(dp8393xState *s= ) s->regs[SONIC_TTDA] =3D s->regs[SONIC_CTDA]; DPRINTF("Transmit packet at %08x\n", dp8393x_ttda(s)); address_space_rw(&s->as, dp8393x_ttda(s) + sizeof(uint16_t) * widt= h, - MEMTXATTRS_UNSPECIFIED, s->data, size, 0); + MEMTXATTRS_UNSPECIFIED, s->data, size, false); tx_len =3D 0; =20 /* Update registers */ @@ -452,7 +452,8 @@ static void dp8393x_do_transmit_packets(dp8393xState *s= ) len =3D sizeof(s->tx_buffer) - tx_len; } address_space_rw(&s->as, dp8393x_tsa(s), - MEMTXATTRS_UNSPECIFIED, &s->tx_buffer[tx_len], len, 0); + MEMTXATTRS_UNSPECIFIED, + &s->tx_buffer[tx_len], len, false); tx_len +=3D len; =20 i++; @@ -461,7 +462,7 @@ static void dp8393x_do_transmit_packets(dp8393xState *s= ) size =3D sizeof(uint16_t) * 3 * width; address_space_rw(&s->as, dp8393x_ttda(s) + sizeof(uint16_t) * (4 + 3 * i) * wid= th, - MEMTXATTRS_UNSPECIFIED, s->data, size, 0)= ; + MEMTXATTRS_UNSPECIFIED, s->data, size, fa= lse); s->regs[SONIC_TSA0] =3D dp8393x_get(s, width, 0); s->regs[SONIC_TSA1] =3D dp8393x_get(s, width, 1); s->regs[SONIC_TFS] =3D dp8393x_get(s, width, 2); @@ -496,7 +497,7 @@ static void dp8393x_do_transmit_packets(dp8393xState *s= ) size =3D sizeof(uint16_t) * width; address_space_rw(&s->as, dp8393x_ttda(s), - MEMTXATTRS_UNSPECIFIED, s->data, size, 1); + MEMTXATTRS_UNSPECIFIED, s->data, size, true); =20 if (!(s->regs[SONIC_CR] & SONIC_CR_HTX)) { /* Read footer of packet */ @@ -505,7 +506,7 @@ static void dp8393x_do_transmit_packets(dp8393xState *s= ) dp8393x_ttda(s) + sizeof(uint16_t) * (4 + 3 * s->regs[SONIC_TFC]) * width, - MEMTXATTRS_UNSPECIFIED, s->data, size, 0); + MEMTXATTRS_UNSPECIFIED, s->data, size, false)= ; s->regs[SONIC_CTDA] =3D dp8393x_get(s, width, 0) & ~0x1; if (dp8393x_get(s, width, 0) & 0x1) { /* EOL detected */ @@ -768,7 +769,7 @@ static ssize_t dp8393x_receive(NetClientState *nc, cons= t uint8_t * buf, size =3D sizeof(uint16_t) * 1 * width; address =3D dp8393x_crda(s) + sizeof(uint16_t) * 5 * width; address_space_rw(&s->as, address, MEMTXATTRS_UNSPECIFIED, - s->data, size, 0); + s->data, size, false); if (dp8393x_get(s, width, 0) & 0x1) { /* Still EOL ; stop reception */ return -1; @@ -790,7 +791,7 @@ static ssize_t dp8393x_receive(NetClientState *nc, cons= t uint8_t * buf, address_space_write(&s->as, address, MEMTXATTRS_UNSPECIFIED, buf, rx_l= en); address +=3D rx_len; address_space_rw(&s->as, address, - MEMTXATTRS_UNSPECIFIED, &checksum, 4, 1); + MEMTXATTRS_UNSPECIFIED, &checksum, 4, true); rx_len +=3D 4; s->regs[SONIC_CRBA1] =3D address >> 16; s->regs[SONIC_CRBA0] =3D address & 0xffff; @@ -819,12 +820,12 @@ static ssize_t dp8393x_receive(NetClientState *nc, co= nst uint8_t * buf, dp8393x_put(s, width, 4, s->regs[SONIC_RSC]); /* seq_no */ size =3D sizeof(uint16_t) * 5 * width; address_space_rw(&s->as, dp8393x_crda(s), - MEMTXATTRS_UNSPECIFIED, s->data, size, 1); + MEMTXATTRS_UNSPECIFIED, s->data, size, true); =20 /* Move to next descriptor */ size =3D sizeof(uint16_t) * width; address_space_rw(&s->as, dp8393x_crda(s) + sizeof(uint16_t) * 5 * widt= h, - MEMTXATTRS_UNSPECIFIED, s->data, size, 0); + MEMTXATTRS_UNSPECIFIED, s->data, size, false); s->regs[SONIC_LLFA] =3D dp8393x_get(s, width, 0); if (s->regs[SONIC_LLFA] & 0x1) { /* EOL detected */ @@ -838,7 +839,7 @@ static ssize_t dp8393x_receive(NetClientState *nc, cons= t uint8_t * buf, } s->data[0] =3D 0; address_space_rw(&s->as, offset, MEMTXATTRS_UNSPECIFIED, - s->data, sizeof(uint16_t), 1); + s->data, sizeof(uint16_t), true); s->regs[SONIC_CRDA] =3D s->regs[SONIC_LLFA]; s->regs[SONIC_ISR] |=3D SONIC_ISR_PKTRX; s->regs[SONIC_RSC] =3D (s->regs[SONIC_RSC] & 0xff00) | (((s->regs[= SONIC_RSC] & 0x00ff) + 1) & 0x00ff); diff --git a/hw/net/i82596.c b/hw/net/i82596.c index a292984e06..11537f72d1 100644 --- a/hw/net/i82596.c +++ b/hw/net/i82596.c @@ -149,7 +149,7 @@ static void i82596_transmit(I82596State *s, uint32_t ad= dr) if (s->nic && len) { assert(len <=3D sizeof(s->tx_buffer)); address_space_rw(&address_space_memory, tba, - MEMTXATTRS_UNSPECIFIED, s->tx_buffer, len, 0); + MEMTXATTRS_UNSPECIFIED, s->tx_buffer, len, fa= lse); DBG(PRINT_PKTHDR("Send", &s->tx_buffer)); DBG(printf("Sending %d bytes\n", len)); qemu_send_packet(qemu_get_queue(s->nic), s->tx_buffer, len); @@ -173,7 +173,7 @@ static void set_individual_address(I82596State *s, uint= 32_t addr) nc =3D qemu_get_queue(s->nic); m =3D s->conf.macaddr.a; address_space_rw(&address_space_memory, addr + 8, - MEMTXATTRS_UNSPECIFIED, m, ETH_ALEN, 0); + MEMTXATTRS_UNSPECIFIED, m, ETH_ALEN, false); qemu_format_nic_info_str(nc, m); trace_i82596_new_mac(nc->info_str); } @@ -192,7 +192,7 @@ static void set_multicast_list(I82596State *s, uint32_t= addr) uint8_t multicast_addr[ETH_ALEN]; address_space_rw(&address_space_memory, addr + i * ETH_ALEN, MEMTXATTRS_UNSPECIFIED, - multicast_addr, ETH_ALEN, 0); + multicast_addr, ETH_ALEN, false); DBG(printf("Add multicast entry " MAC_FMT "\n", MAC_ARG(multicast_addr))); unsigned mcast_idx =3D (net_crc32(multicast_addr, ETH_ALEN) & @@ -261,7 +261,8 @@ static void command_loop(I82596State *s) byte_cnt =3D MIN(byte_cnt, sizeof(s->config)); /* copy byte_cnt max. */ address_space_rw(&address_space_memory, s->cmd_p + 8, - MEMTXATTRS_UNSPECIFIED, s->config, byte_cnt, 0); + MEMTXATTRS_UNSPECIFIED, s->config, byte_cnt, + false); /* config byte according to page 35ff */ s->config[2] &=3D 0x82; /* mask valid bits */ s->config[2] |=3D 0x40; @@ -647,7 +648,7 @@ ssize_t i82596_receive(NetClientState *nc, const uint8_= t *buf, size_t sz) len -=3D num; if (len =3D=3D 0) { /* copy crc */ address_space_rw(&address_space_memory, rba - 4, - MEMTXATTRS_UNSPECIFIED, crc_ptr, 4, 1); + MEMTXATTRS_UNSPECIFIED, crc_ptr, 4, true)= ; } =20 num |=3D 0x4000; /* set F BIT */ diff --git a/hw/net/lasi_i82596.c b/hw/net/lasi_i82596.c index 427b3fbf70..8bff419378 100644 --- a/hw/net/lasi_i82596.c +++ b/hw/net/lasi_i82596.c @@ -55,8 +55,8 @@ static void lasi_82596_mem_write(void *opaque, hwaddr add= r, * Provided for SeaBIOS only. Write MAC of Network card to addr @v= al. * Needed for the PDC_LAN_STATION_ID_READ PDC call. */ - address_space_rw(&address_space_memory, val, - MEMTXATTRS_UNSPECIFIED, d->state.conf.macaddr.a, ETH_ALEN, 1); + address_space_rw(&address_space_memory, val, MEMTXATTRS_UNSPECIFIE= D, + d->state.conf.macaddr.a, ETH_ALEN, true); break; } } diff --git a/target/i386/hvf/x86_mmu.c b/target/i386/hvf/x86_mmu.c index 6a620643c1..451dcc983a 100644 --- a/target/i386/hvf/x86_mmu.c +++ b/target/i386/hvf/x86_mmu.c @@ -89,7 +89,7 @@ static bool get_pt_entry(struct CPUState *cpu, struct gpt= _translation *pt, =20 index =3D gpt_entry(pt->gva, level, pae); address_space_rw(&address_space_memory, gpa + index * pte_size(pae), - MEMTXATTRS_UNSPECIFIED, &pte, pte_size(pae), 0); + MEMTXATTRS_UNSPECIFIED, &pte, pte_size(pae), false); =20 pt->pte[level - 1] =3D pte; =20 @@ -238,8 +238,8 @@ void vmx_write_mem(struct CPUState *cpu, target_ulong g= va, void *data, int bytes if (!mmu_gva_to_gpa(cpu, gva, &gpa)) { VM_PANIC_EX("%s: mmu_gva_to_gpa %llx failed\n", __func__, gva)= ; } else { - address_space_rw(&address_space_memory, gpa, MEMTXATTRS_UNSPEC= IFIED, - data, copy, 1); + address_space_rw(&address_space_memory, gpa, + MEMTXATTRS_UNSPECIFIED, data, copy, true); } =20 bytes -=3D copy; @@ -260,7 +260,7 @@ void vmx_read_mem(struct CPUState *cpu, void *data, tar= get_ulong gva, int bytes) VM_PANIC_EX("%s: mmu_gva_to_gpa %llx failed\n", __func__, gva)= ; } address_space_rw(&address_space_memory, gpa, MEMTXATTRS_UNSPECIFIE= D, - data, copy, 0); + data, copy, false); =20 bytes -=3D copy; gva +=3D copy; --=20 2.21.1