Re: [PATCH V3 16/19] virtio-pci: introduce modern device module

From: Naresh Kamboju
Date: Tue Feb 09 2021 - 05:28:07 EST


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/


--
Linaro LKFT
https://lkft.linaro.org