[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210319161956.2838291-1-boqun.feng@gmail.com>
Date: Sat, 20 Mar 2021 00:19:54 +0800
From: Boqun Feng <boqun.feng@...il.com>
To: Bjorn Helgaas <bhelgaas@...gle.com>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-hyperv@...r.kernel.org, linux-pci@...r.kernel.org
Cc: Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>,
"K. Y. Srinivasan" <kys@...rosoft.com>,
Haiyang Zhang <haiyangz@...rosoft.com>,
Stephen Hemminger <sthemmin@...rosoft.com>,
Wei Liu <wei.liu@...nel.org>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
Rob Herring <robh@...nel.org>, Clint Sbisa <csbisa@...zon.com>,
Boqun Feng <boqun.feng@...il.com>,
Ard Biesheuvel <ardb@...nel.org>,
Sunil Muthuswamy <sunilmut@...rosoft.com>
Subject: [RFC 0/2] PCI: Introduce pci_ops::use_arch_sysdata
Hi Bjorn,
I'm currently working on virtual PCI support for Hyper-V ARM64 guests.
Similar to virtual PCI on x86 Hyper-V guests, the PCI root bus is not
probed via ACPI (or of), it's probed from Hyper-V VMbus, therefore it
doesn't have config window.
Since ARM64 is a CONFIG_PCI_DOMAINS_GENERIC=y, PCI core code always
treats as the root bus has a config window. So we need to resolve this
and want to reuse the code as much as possible. My current solution is
introducing a pci_ops::use_arch_sysdata, and if it's true, the PCI core
code treats the pci_bus::sysdata as an arch-specific sysdata (rather
than pci_config_window) for CONFIG_PCI_DOMAINS_GENERIC=y architectures.
This allows us to reuse the existing code for Hyper-V PCI controller.
This is simply a proposal, I'm open to any suggestion.
Thanks!
Regards,
Boqun
Boqun Feng (2):
arm64: PCI: Allow use arch-specific pci sysdata
PCI: hv: Tell PCI core arch-specific sysdata is used
arch/arm64/include/asm/pci.h | 29 +++++++++++++++++++++++++++++
arch/arm64/kernel/pci.c | 15 ++++++++++++---
drivers/pci/controller/pci-hyperv.c | 3 +++
include/linux/pci.h | 3 +++
4 files changed, 47 insertions(+), 3 deletions(-)
--
2.30.2
Powered by blists - more mailing lists