From: Andrew Jones <drjones@redhat.com>
To: kvm@vger.kernel.org
Cc: alexandru.elisei@arm.com, nikos.nikoleris@arm.com,
andre.przywara@arm.com, eric.auger@redhat.com
Subject: [PATCH kvm-unit-tests v3 3/8] pci-testdev: ioremap regions
Date: Thu, 29 Apr 2021 18:41:25 +0200 [thread overview]
Message-ID: <20210429164130.405198-4-drjones@redhat.com> (raw)
In-Reply-To: <20210429164130.405198-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>
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-04-29 16:41 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-29 16:41 [PATCH kvm-unit-tests v3 0/8] arm/arm64: Prepare for target-efi Andrew Jones
2021-04-29 16:41 ` [PATCH kvm-unit-tests v3 1/8] arm/arm64: Reorganize cstart assembler Andrew Jones
2021-04-29 16:41 ` [PATCH kvm-unit-tests v3 2/8] arm/arm64: Move setup_vm into setup Andrew Jones
2021-04-29 16:41 ` Andrew Jones [this message]
2021-04-29 16:41 ` [PATCH kvm-unit-tests v3 4/8] arm/arm64: mmu: Stop mapping an assumed IO region Andrew Jones
2021-05-10 15:45 ` Alexandru Elisei
2021-05-13 15:48 ` Alexandru Elisei
2021-05-13 17:18 ` Andrew Jones
2021-05-13 17:43 ` Andrew Jones
2021-05-17 10:38 ` Alexandru Elisei
2021-05-17 14:40 ` Andrew Jones
2021-04-29 16:41 ` [PATCH kvm-unit-tests v3 5/8] arm/arm64: mmu: Remove memory layout assumptions Andrew Jones
2021-04-29 16:41 ` [PATCH kvm-unit-tests v3 6/8] arm/arm64: setup: Consolidate " Andrew Jones
2021-05-11 15:11 ` Alexandru Elisei
2021-04-29 16:41 ` [PATCH kvm-unit-tests v3 7/8] chr-testdev: Silently fail init Andrew Jones
2021-04-29 16:41 ` [PATCH kvm-unit-tests v3 8/8] arm/arm64: psci: Don't assume method is hvc Andrew Jones
2021-05-12 16:14 ` Alexandru Elisei
2021-05-13 7:08 ` Andrew Jones
2021-05-13 9:08 ` Alexandru Elisei
2021-05-13 10:06 ` Andrew Jones
2021-05-13 10:18 ` [PATCH kvm-unit-tests v4] " Andrew Jones
2021-05-13 15:53 ` Alexandru Elisei
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=20210429164130.405198-4-drjones@redhat.com \
--to=drjones@redhat.com \
--cc=alexandru.elisei@arm.com \
--cc=andre.przywara@arm.com \
--cc=eric.auger@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=nikos.nikoleris@arm.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.