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

Naresh Kamboju naresh.kamboju at linaro.org
Tue Feb 9 05:15:32 EST 2021


Hi Jason,

On Mon, 4 Jan 2021 at 12:28, Jason Wang <jasowang at redhat.com> wrote:
>
> Signed-off-by: Jason Wang <jasowang at 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 at 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/


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



More information about the linux-arm-kernel mailing list