Re: kismet: WARNING: unmet direct dependencies detected for IOMMU_IO_PGTABLE_LPAE when selected by IPMMU_VMSA

From: Conor Dooley
Date: Sat Feb 25 2023 - 08:43:58 EST




On 25 February 2023 00:28:36 GMT, Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
>
>
>On 2/24/23 16:22, Conor Dooley wrote:
>> On Fri, Feb 24, 2023 at 04:12:49PM -0800, Randy Dunlap wrote:
>>> Hi Conor, Palmer,
>>>
>>> On 12/27/22 10:59, Conor Dooley wrote:
>>>> Hey Randy,
>>>>
>>>> On Thu, Dec 22, 2022 at 05:00:06PM -0800, Randy Dunlap wrote:
>>>>> On 12/21/22 20:49, kernel test robot wrote:
>>>>>> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>>>>>> head: 9d2f6060fe4c3b49d0cdc1dce1c99296f33379c8
>>>>>> commit: 8292493c22c8e28b6e67a01e0f5c6db1cf231eb1 riscv: Kconfig.socs: Add ARCH_RENESAS kconfig option
>>>>>> date: 6 weeks ago
>>>>>> config: riscv-kismet-CONFIG_IOMMU_IO_PGTABLE_LPAE-CONFIG_IPMMU_VMSA-0-0
>>>>>> reproduce:
>>>>>> # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8292493c22c8e28b6e67a01e0f5c6db1cf231eb1
>>>>>> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>>>>>> git fetch --no-tags linus master
>>>>>> git checkout 8292493c22c8e28b6e67a01e0f5c6db1cf231eb1
>>>>>> # 1. reproduce by kismet
>>>>>> # install kmax per https://github.com/paulgazz/kmax/blob/master/README.md
>>>>>> kismet --linux-ksrc=linux --selectees CONFIG_IOMMU_IO_PGTABLE_LPAE --selectors CONFIG_IPMMU_VMSA -a=riscv
>>>>>> # 2. reproduce by make
>>>>>> # save the config file to linux source tree
>>>>>> cd linux
>>>>>> make ARCH=riscv olddefconfig
>>>>>>
>>>>>> If you fix the issue, kindly add following tag where applicable
>>>>>> | Reported-by: kernel test robot <lkp@xxxxxxxxx>
>>>>>>
>>>>>> kismet warnings: (new ones prefixed by >>)
>>>>>>>> kismet: WARNING: unmet direct dependencies detected for IOMMU_IO_PGTABLE_LPAE when selected by IPMMU_VMSA
>>>>>> .config:4814:warning: symbol value 'ONFIG_ARCH_MMAP_RND_BITS_MI' invalid for ARCH_MMAP_RND_BITS
>>>>>>
>>>>>> WARNING: unmet direct dependencies detected for IOMMU_IO_PGTABLE_LPAE
>>>>>> Depends on [n]: IOMMU_SUPPORT [=y] && (ARM || ARM64 || COMPILE_TEST [=y] && !GENERIC_ATOMIC64 [=y])
>>>>>> Selected by [y]:
>>>>>> - IPMMU_VMSA [=y] && IOMMU_SUPPORT [=y] && (ARCH_RENESAS [=y] || COMPILE_TEST [=y] && !GENERIC_ATOMIC64 [=y])
>>>>>>
>>>>>
>>>>> Maybe this:
>>>>>
>>>>> ---
>>>>> drivers/iommu/Kconfig | 3 ++-
>>>>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>>>>
>>>>> diff -- a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
>>>>> --- a/drivers/iommu/Kconfig
>>>>> +++ b/drivers/iommu/Kconfig
>>>>> @@ -32,7 +32,8 @@ config IOMMU_IO_PGTABLE
>>>>> config IOMMU_IO_PGTABLE_LPAE
>>>>> bool "ARMv7/v8 Long Descriptor Format"
>>>>> select IOMMU_IO_PGTABLE
>>>>> - depends on ARM || ARM64 || (COMPILE_TEST && !GENERIC_ATOMIC64)
>>>>> + depends on ARM || ARM64 || ARCH_RENESAS || \
>>>>> + (COMPILE_TEST && !GENERIC_ATOMIC64)
>>>>> help
>>>>> Enable support for the ARM long descriptor pagetable format.
>>>>> This allocator supports 4K/2M/1G, 16K/32M and 64K/512M page
>>>>>
>>>>>
>>>>> or is way off?
>>>>
>>>> Apologies for the radio silence here..
>>>>
>>>> Palmer initially sent a workaround and there was some discussion there:
>>>> https://lore.kernel.org/all/20221214180409.7354-1-palmer@xxxxxxxxxxxx/
>>>> Guo sent a patch too:
>>>> https://lore.kernel.org/linux-riscv/20221215073212.1966823-1-guoren@xxxxxxxxxx/
>>>>
>>>> I suppose Christmas is doing Christmas things :)
>>>
>>> Has this been solved (merged) yet?
>>> I'm still seeing a warning on linux-next-20230224.
>>
>> I thought it was fixed in the iommu tree with this series:
>> https://lore.kernel.org/all/7a53ac6f-640b-436d-9bfa-3e49066b2460@xxxxxxx/
>>
>> If it is not, I'll take a look tomorrow...
>
>I see this warning on today's linux-next-20230224:
>
>WARNING: unmet direct dependencies detected for IOMMU_IO_PGTABLE_LPAE
> Depends on [n]: IOMMU_SUPPORT [=y] && (ARM || ARM64 || COMPILE_TEST [=n]) && !GENERIC_ATOMIC64 [=n]
> Selected by [y]:
> - IPMMU_VMSA [=y] && IOMMU_SUPPORT [=y] && (ARCH_RENESAS [=y] || COMPILE_TEST [=n]) && !GENERIC_ATOMIC64 [=n]
>
>with the attached config file. Please have a look.

My main hard drive in my dev machine died overnight, so I'll have to renage on my tomorrow promise above.

Apologies,
Conor.