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

From: Jason Wang <[email-masked]>
Date: Wed, 10 Feb 2021 12:38:34 +0800

On 2021/2/9 下午6:15, Naresh Kamboju wrote:
> Hi Jason,
>
> On Mon, 4 Jan 2021 at 12:28, Jason Wang <[email-masked]> wrote:
>> Signed-off-by: Jason Wang <[email-masked]>
>> ---
>>   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 <[email-masked]>
>
> 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