All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Jones <drjones@redhat.com>
To: kvm@vger.kernel.org
Cc: pbonzini@redhat.com, Alexandru Elisei <alexandru.elisei@arm.com>
Subject: [PULL kvm-unit-tests 05/10] arm64: micro-bench: ioremap userspace_emulated_addr
Date: Mon, 17 May 2021 16:38:55 +0200	[thread overview]
Message-ID: <20210517143900.747013-6-drjones@redhat.com> (raw)
In-Reply-To: <20210517143900.747013-1-drjones@redhat.com>

We should explicitly ioremap the userspace emulated address used
in the benchmark.

Reported-by: Alexandru Elisei <alexandru.elisei@arm.com>
Reviewed-by: Alexandru Elisei <alexandru.elisei@arm.com>
Tested-by: Alexandru Elisei <alexandru.elisei@arm.com>
Signed-off-by: Andrew Jones <drjones@redhat.com>
---
 arm/micro-bench.c | 26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/arm/micro-bench.c b/arm/micro-bench.c
index 95c418c10eb4..8e1d4abdf8a8 100644
--- a/arm/micro-bench.c
+++ b/arm/micro-bench.c
@@ -273,7 +273,9 @@ static void hvc_exec(void)
 	asm volatile("mov w0, #0x4b000000; hvc #0" ::: "w0");
 }
 
-static void mmio_read_user_exec(void)
+static void *userspace_emulated_addr;
+
+static bool mmio_read_user_prep(void)
 {
 	/*
 	 * FIXME: Read device-id in virtio mmio here in order to
@@ -281,8 +283,12 @@ static void mmio_read_user_exec(void)
 	 * updated in the future if any relevant changes in QEMU
 	 * test-dev are made.
 	 */
-	void *userspace_emulated_addr = (void*)0x0a000008;
+	userspace_emulated_addr = (void*)ioremap(0x0a000008, sizeof(u32));
+	return true;
+}
 
+static void mmio_read_user_exec(void)
+{
 	readl(userspace_emulated_addr);
 }
 
@@ -309,14 +315,14 @@ struct exit_test {
 };
 
 static struct exit_test tests[] = {
-	{"hvc",			NULL,		hvc_exec,		NULL,		65536,		true},
-	{"mmio_read_user",	NULL,		mmio_read_user_exec,	NULL,		65536,		true},
-	{"mmio_read_vgic",	NULL,		mmio_read_vgic_exec,	NULL,		65536,		true},
-	{"eoi",			NULL,		eoi_exec,		NULL,		65536,		true},
-	{"ipi",			ipi_prep,	ipi_exec,		NULL,		65536,		true},
-	{"ipi_hw",		ipi_hw_prep,	ipi_exec,		NULL,		65536,		true},
-	{"lpi",			lpi_prep,	lpi_exec,		NULL,		65536,		true},
-	{"timer_10ms",		timer_prep,	timer_exec,		timer_post,	256,		true},
+	{"hvc",			NULL,			hvc_exec,		NULL,		65536,		true},
+	{"mmio_read_user",	mmio_read_user_prep,	mmio_read_user_exec,	NULL,		65536,		true},
+	{"mmio_read_vgic",	NULL,			mmio_read_vgic_exec,	NULL,		65536,		true},
+	{"eoi",			NULL,			eoi_exec,		NULL,		65536,		true},
+	{"ipi",			ipi_prep,		ipi_exec,		NULL,		65536,		true},
+	{"ipi_hw",		ipi_hw_prep,		ipi_exec,		NULL,		65536,		true},
+	{"lpi",			lpi_prep,		lpi_exec,		NULL,		65536,		true},
+	{"timer_10ms",		timer_prep,		timer_exec,		timer_post,	256,		true},
 };
 
 struct ns_time {
-- 
2.30.2


  parent reply	other threads:[~2021-05-17 14:45 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-17 14:38 [PULL kvm-unit-tests 00/10] arm/arm64: target-efi prep Andrew Jones
2021-05-17 14:38 ` [PULL kvm-unit-tests 01/10] configure: arm: Replace --vmm with --target Andrew Jones
2021-05-17 14:38 ` [PULL kvm-unit-tests 02/10] arm/arm64: Reorganize cstart assembler Andrew Jones
2021-05-17 14:38 ` [PULL kvm-unit-tests 03/10] arm/arm64: Move setup_vm into setup Andrew Jones
2021-05-17 14:38 ` [PULL kvm-unit-tests 04/10] pci-testdev: ioremap regions Andrew Jones
2021-05-17 14:38 ` Andrew Jones [this message]
2021-05-17 14:38 ` [PULL kvm-unit-tests 06/10] arm/arm64: mmu: Stop mapping an assumed IO region Andrew Jones
2021-05-17 14:38 ` [PULL kvm-unit-tests 07/10] arm/arm64: mmu: Remove memory layout assumptions Andrew Jones
2021-05-17 14:38 ` [PULL kvm-unit-tests 08/10] arm/arm64: setup: Consolidate " Andrew Jones
2021-05-17 14:38 ` [PULL kvm-unit-tests 09/10] chr-testdev: Silently fail init Andrew Jones
2021-05-17 14:39 ` [PULL kvm-unit-tests 10/10] arm/arm64: psci: Don't assume method is hvc Andrew Jones
2021-05-18 11:35 ` [PULL kvm-unit-tests 00/10] arm/arm64: target-efi prep Andrew Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210517143900.747013-6-drjones@redhat.com \
    --to=drjones@redhat.com \
    --cc=alexandru.elisei@arm.com \
    --cc=kvm@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.