Hi Jason,
On Mon, 4 Jan 2021 at 12:28, Jason Wang jasowang@redhat.com wrote:
Signed-off-by: Jason Wang jasowang@redhat.com
drivers/virtio/Kconfig | 10 +- drivers/virtio/Makefile | 1 + drivers/virtio/virtio_pci_common.h | 27 +- drivers/virtio/virtio_pci_modern.c | 617 ------------------------- drivers/virtio/virtio_pci_modern_dev.c | 599 ++++++++++++++++++++++++ include/linux/virtio_pci_modern.h | 111 +++++ 6 files changed, 721 insertions(+), 644 deletions(-) create mode 100644 drivers/virtio/virtio_pci_modern_dev.c create mode 100644 include/linux/virtio_pci_modern.h
diff --git a/drivers/virtio/Kconfig b/drivers/virtio/Kconfig index 7b41130d3f35..6b9b81f4b8c2 100644 --- a/drivers/virtio/Kconfig +++ b/drivers/virtio/Kconfig @@ -12,6 +12,14 @@ config ARCH_HAS_RESTRICTED_VIRTIO_MEMORY_ACCESS This option is selected if the architecture may need to enforce VIRTIO_F_ACCESS_PLATFORM
+config VIRTIO_PCI_MODERN
tristate "Modern Virtio PCI Device"
depends on PCI
help
Modern PCI device implementation. This module implements the
basic probe and control for devices which are based on modern
PCI device with possible vendor specific extensions.
menuconfig VIRTIO_MENU bool "Virtio drivers" default y @@ -20,7 +28,7 @@ if VIRTIO_MENU
config VIRTIO_PCI tristate "PCI driver for virtio devices"
depends on PCI
depends on VIRTIO_PCI_MODERN
While booting Linux next tag 20210208 kernel on qemu_arm64 and qemu_arm mount rootfs failed. The root cause seems to be due to missing configs CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_PCI_LEGACY=y
Reported-by: Naresh Kamboju naresh.kamboju@linaro.org
Then I have to force to enable this MODERN config CONFIG_VIRTIO_PCI_MODERN=y and which enabled CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_PCI_LEGACY=y
and the qemu_arm64 and qemu_arm boot pass.
New build link, https://builds.tuxbuild.com/1oEse4EFsoQr1FkKBfiLmhMCe7j/