From nobody Tue Nov 4 21:57:05 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1530897888835604.2725153770659; Fri, 6 Jul 2018 10:24:48 -0700 (PDT) Received: from localhost ([::1]:59053 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fbUTQ-0008SH-5Y for importer@patchew.org; Fri, 06 Jul 2018 13:24:48 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51046) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fbUK4-0001D3-5l for qemu-devel@nongnu.org; Fri, 06 Jul 2018 13:15:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fbUK1-0000ld-Si for qemu-devel@nongnu.org; Fri, 06 Jul 2018 13:15:08 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:44159) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fbUK1-0000lO-IC for qemu-devel@nongnu.org; Fri, 06 Jul 2018 13:15:05 -0400 Received: by mail-wr1-x433.google.com with SMTP id r16-v6so4873105wrt.11 for ; Fri, 06 Jul 2018 10:15:05 -0700 (PDT) Received: from 640k.lan ([82.84.124.111]) by smtp.gmail.com with ESMTPSA id h40-v6sm13784683wrf.40.2018.07.06.10.15.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 06 Jul 2018 10:15:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=euD46aivlqkXiWYSV3eOhFlcwmRL4GFOV7zojuoNsF4=; b=PjvIiZmD8U4S/R68Xq6VLB65IOPpJwt48NlomSYWiguvP/Xe900BmSnO1KoElMVwiQ NTUxfcFa9rW46LsE27njuW4UmohSwrrhYLNIxNnOx4Cq4C4lDoX0g0yGzlE7Su6nWzUF GbqTJqBzZiAR6Ac75AtRlRqNCHs3dAlxyiplQJrYCy9V4z77wvM1ssGXMaKTPEDCMUqz MQzmItD8AVZzhE0PzkhfPf2gHV7kZwlAbjdE0nfSR/rrrJFrkYT6he/+RdGSgcMHMuDW Zf3PtpXGn7tFL95OO8pI3Qv85fxmTi83wumeNuXI7v2MgwoBVKoY7G8Fv6rH3YV60NJF 6nNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=euD46aivlqkXiWYSV3eOhFlcwmRL4GFOV7zojuoNsF4=; b=mW3PWPhneHVMwgos8B9ZrgydaZl02PQMSDOU4RL7iCq/KmXGdQo7OzVdeBJSGoHxIM tGxTIr3Dslohms+PGhmmwa9xMRxrW+zbjD3atMw6dHKbHlE82eaGCQgIR4QD99BtYyi4 pvGbG8QdkR3UQrvJXLCw9t8593Z4dVqmSPVPHfVu5IblxPDy18vtXh+ka0PtaQdU/bhS x+HkNzSD/A/X5i3BAKoOUIOjLWC1vb6iThQ8NjQjHLArVTy62yrpsTJcnjJ2V0G+SgK6 HFaoE2JnkiCRf8eTPOEnqjCw6lJhcf96I11c1AbmDve/r6pfnDvsRil5OU72nd1dDnNR edeg== X-Gm-Message-State: APt69E0BA9GwbKQUsxAThCxFgO0d1eThZL7h0ci1DR7cOYKg0KkAC2D2 cXqvn4VS9siddM5/s5GLvadIqY5g X-Google-Smtp-Source: AAOMgpe5XrE+lmEoHFJ0jaINoZto0ZG59t0dBYRZUDehVZdxn3IE5KK3VYN6O5nbfnkmo05IsfKWSA== X-Received: by 2002:adf:9603:: with SMTP id b3-v6mr8038140wra.253.1530897304367; Fri, 06 Jul 2018 10:15:04 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Fri, 6 Jul 2018 19:14:23 +0200 Message-Id: <1530897268-22932-4-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1530897268-22932-1-git-send-email-pbonzini@redhat.com> References: <1530897268-22932-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::433 Subject: [Qemu-devel] [PULL 3/8] qtest: Use cpu address space instead of system memory X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Julia Suvorova Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Julia Suvorova Some devices (like nvic in armv7m) are not accessable through address_space_memory, therefore can not be tested with qtest. Signed-off-by: Julia Suvorova Message-Id: <20180702065237.27899-1-jusual@mail.ru> Signed-off-by: Paolo Bonzini --- qtest.c | 39 ++++++++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/qtest.c b/qtest.c index cbbfb71..69b9e99 100644 --- a/qtest.c +++ b/qtest.c @@ -387,19 +387,23 @@ static void qtest_process_command(CharBackend *chr, g= char **words) =20 if (words[0][5] =3D=3D 'b') { uint8_t data =3D value; - cpu_physical_memory_write(addr, &data, 1); + address_space_rw(first_cpu->as, addr, MEMTXATTRS_UNSPECIFIED, + &data, 1, true); } else if (words[0][5] =3D=3D 'w') { uint16_t data =3D value; tswap16s(&data); - cpu_physical_memory_write(addr, &data, 2); + address_space_rw(first_cpu->as, addr, MEMTXATTRS_UNSPECIFIED, + (uint8_t *) &data, 2, true); } else if (words[0][5] =3D=3D 'l') { uint32_t data =3D value; tswap32s(&data); - cpu_physical_memory_write(addr, &data, 4); + address_space_rw(first_cpu->as, addr, MEMTXATTRS_UNSPECIFIED, + (uint8_t *) &data, 4, true); } else if (words[0][5] =3D=3D 'q') { uint64_t data =3D value; tswap64s(&data); - cpu_physical_memory_write(addr, &data, 8); + address_space_rw(first_cpu->as, addr, MEMTXATTRS_UNSPECIFIED, + (uint8_t *) &data, 8, true); } qtest_send_prefix(chr); qtest_send(chr, "OK\n"); @@ -417,18 +421,22 @@ static void qtest_process_command(CharBackend *chr, g= char **words) =20 if (words[0][4] =3D=3D 'b') { uint8_t data; - cpu_physical_memory_read(addr, &data, 1); + address_space_rw(first_cpu->as, addr, MEMTXATTRS_UNSPECIFIED, + &data, 1, false); value =3D data; } else if (words[0][4] =3D=3D 'w') { uint16_t data; - cpu_physical_memory_read(addr, &data, 2); + address_space_rw(first_cpu->as, addr, MEMTXATTRS_UNSPECIFIED, + (uint8_t *) &data, 2, false); value =3D tswap16(data); } else if (words[0][4] =3D=3D 'l') { uint32_t data; - cpu_physical_memory_read(addr, &data, 4); + address_space_rw(first_cpu->as, addr, MEMTXATTRS_UNSPECIFIED, + (uint8_t *) &data, 4, false); value =3D tswap32(data); } else if (words[0][4] =3D=3D 'q') { - cpu_physical_memory_read(addr, &value, 8); + address_space_rw(first_cpu->as, addr, MEMTXATTRS_UNSPECIFIED, + (uint8_t *) &value, 8, false); tswap64s(&value); } qtest_send_prefix(chr); @@ -448,7 +456,8 @@ static void qtest_process_command(CharBackend *chr, gch= ar **words) g_assert(len); =20 data =3D g_malloc(len); - cpu_physical_memory_read(addr, data, len); + address_space_rw(first_cpu->as, addr, MEMTXATTRS_UNSPECIFIED, + data, len, false); =20 enc =3D g_malloc(2 * len + 1); for (i =3D 0; i < len; i++) { @@ -473,7 +482,8 @@ static void qtest_process_command(CharBackend *chr, gch= ar **words) g_assert(ret =3D=3D 0); =20 data =3D g_malloc(len); - cpu_physical_memory_read(addr, data, len); + address_space_rw(first_cpu->as, addr, MEMTXATTRS_UNSPECIFIED, + data, len, false); b64_data =3D g_base64_encode(data, len); qtest_send_prefix(chr); qtest_sendf(chr, "OK %s\n", b64_data); @@ -507,7 +517,8 @@ static void qtest_process_command(CharBackend *chr, gch= ar **words) data[i] =3D 0; } } - cpu_physical_memory_write(addr, data, len); + address_space_rw(first_cpu->as, addr, MEMTXATTRS_UNSPECIFIED, + data, len, true); g_free(data); =20 qtest_send_prefix(chr); @@ -529,7 +540,8 @@ static void qtest_process_command(CharBackend *chr, gch= ar **words) if (len) { data =3D g_malloc(len); memset(data, pattern, len); - cpu_physical_memory_write(addr, data, len); + address_space_rw(first_cpu->as, addr, MEMTXATTRS_UNSPECIFIED, + data, len, true); g_free(data); } =20 @@ -562,7 +574,8 @@ static void qtest_process_command(CharBackend *chr, gch= ar **words) out_len =3D MIN(out_len, len); } =20 - cpu_physical_memory_write(addr, data, out_len); + address_space_rw(first_cpu->as, addr, MEMTXATTRS_UNSPECIFIED, + data, len, true); =20 qtest_send_prefix(chr); qtest_send(chr, "OK\n"); --=20 1.8.3.1