From: Andrew Jones <drjones@redhat.com>
To: kvm@vger.kernel.org
Cc: pbonzini@redhat.com, Nikos Nikoleris <nikos.nikoleris@arm.com>,
Alexandru Elisei <alexandru.elisei@arm.com>
Subject: [PULL kvm-unit-tests 04/10] pci-testdev: ioremap regions
Date: Mon, 17 May 2021 16:38:54 +0200 [thread overview]
Message-ID: <20210517143900.747013-5-drjones@redhat.com> (raw)
In-Reply-To: <20210517143900.747013-1-drjones@redhat.com>
Don't assume the physical addresses used with PCI have already been
identity mapped.
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Tested-by: Alexandru Elisei <alexandru.elisei@arm.com>
Signed-off-by: Andrew Jones <drjones@redhat.com>
---
lib/pci-host-generic.c | 5 ++---
lib/pci-host-generic.h | 4 ++--
lib/pci-testdev.c | 4 ++++
3 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/lib/pci-host-generic.c b/lib/pci-host-generic.c
index 818150dc0a66..c5e3db9b96f4 100644
--- a/lib/pci-host-generic.c
+++ b/lib/pci-host-generic.c
@@ -122,7 +122,7 @@ static struct pci_host_bridge *pci_dt_probe(void)
sizeof(host->addr_space[0]) * nr_addr_spaces);
assert(host != NULL);
- host->start = base.addr;
+ host->start = ioremap(base.addr, base.size);
host->size = base.size;
host->bus = bus;
host->bus_max = bus_max;
@@ -279,8 +279,7 @@ phys_addr_t pci_host_bridge_get_paddr(u64 pci_addr)
static void __iomem *pci_get_dev_conf(struct pci_host_bridge *host, int devfn)
{
- return (void __iomem *)(unsigned long)
- host->start + (devfn << PCI_ECAM_DEVFN_SHIFT);
+ return host->start + (devfn << PCI_ECAM_DEVFN_SHIFT);
}
u8 pci_config_readb(pcidevaddr_t dev, u8 off)
diff --git a/lib/pci-host-generic.h b/lib/pci-host-generic.h
index fd30e7c74ed8..0ffe6380ec8f 100644
--- a/lib/pci-host-generic.h
+++ b/lib/pci-host-generic.h
@@ -18,8 +18,8 @@ struct pci_addr_space {
};
struct pci_host_bridge {
- phys_addr_t start;
- phys_addr_t size;
+ void __iomem *start;
+ size_t size;
int bus;
int bus_max;
int nr_addr_spaces;
diff --git a/lib/pci-testdev.c b/lib/pci-testdev.c
index 039bb44781c1..4f2e5663b2d6 100644
--- a/lib/pci-testdev.c
+++ b/lib/pci-testdev.c
@@ -185,7 +185,11 @@ int pci_testdev(void)
mem = ioremap(addr, PAGE_SIZE);
addr = pci_bar_get_addr(&pci_dev, 1);
+#if defined(__i386__) || defined(__x86_64__)
io = (void *)(unsigned long)addr;
+#else
+ io = ioremap(addr, PAGE_SIZE);
+#endif
nr_tests += pci_testdev_all(mem, &pci_testdev_mem_ops);
nr_tests += pci_testdev_all(io, &pci_testdev_io_ops);
--
2.30.2
next prev parent reply other threads:[~2021-05-17 14:42 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 ` Andrew Jones [this message]
2021-05-17 14:38 ` [PULL kvm-unit-tests 05/10] arm64: micro-bench: ioremap userspace_emulated_addr Andrew Jones
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-5-drjones@redhat.com \
--to=drjones@redhat.com \
--cc=alexandru.elisei@arm.com \
--cc=kvm@vger.kernel.org \
--cc=nikos.nikoleris@arm.com \
--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.