On 2021/2/9 下午6:15, Naresh Kamboju wrote:
Hi Jason,
On Mon, 4 Jan 2021 at 12:28, Jason Wang <jasowang@xxxxxxxxxx> wrote:
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
---
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@xxxxxxxxxx>
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/
Thanks for the reporting.
I will post a patch to fix the def config to enable VIRTIO_PCI_MODERN.
Thanks