On Mon, Jun 6, 2022 at 6:57 AM Javier Martinez Canillas <javierm@xxxxxxxxxx> wrote: > <snip> > >>>> $ ./tools/testing/kunit/kunit.py run --kunitconfig=drivers/gpu/drm \ > >>>> --kconfig_add CONFIG_VIRTIO_UML=y \ > >>>> --kconfig_add CONFIG_UML_PCI_OVER_VIRTIO=y > >>> > >>> It's not clear to me why you would need VIRTIO here? The Kunit config > >>> file should be enough to run the tests properly > >>> > >> > >> It's needed or otherwise KUnit will complain with: > >> > >> ./tools/testing/kunit/kunit.py run --kunitconfig=drivers/gpu/drm/.kunitconfig > >> [15:47:31] Configuring KUnit Kernel ... > >> Regenerating .config ... > >> Populating config with: > >> $ make ARCH=um O=.kunit olddefconfig > >> ERROR:root:Not all Kconfig options selected in kunitconfig were in the generated .config. > >> This is probably due to unsatisfied dependencies. > >> Missing: CONFIG_DRM=y, CONFIG_DRM_KUNIT_TEST=y > >> Note: many Kconfig options aren't available on UML. You can try running on a different architecture with something like "--arch=x86_64". > >> > >> The following works correctly but it won't use User Mode Linux: > >> > >> ./tools/testing/kunit/kunit.py run --kunitconfig=drivers/gpu/drm/.kunitconfig --arch=x86_64 > > > > But then, can't we add them to .kunitconfig? > > > > That's what I asked in the previous RFC too. Daniel mentioned that it shouldn't > go there because is platform specific (AFAIU, one might want to test it on x86, Slight correction, it was David who explicitly suggested it shouldn't go in there. https://lists.freedesktop.org/archives/dri-devel/2022-June/357611.html > aarch64, etc) but then I asked why we couldn't have a arch/um/.kunitconfig. > > The answer was that's not that simple and some agreement on how to do it is needed: I'm a bit more in favor of having UML-specific options in the drm .kunitconfig file, but I agree it's a bit unclear. If people want to easily run with --arch=x86_64 or others, then they're indeed a liability. Another option is to perhaps explicitly name the .kunitconfig file something like drm/uml.kunitconfig, which doesn't solve the problem but makes it less of a footgun. Stepping back, I feel like perhaps a cleaner answer lies in adding a new Kconfig option that selects CONFIG_UML_PCI_OVER_VIRTIO under UML and just CONFIG_PCI otherwise. But that's a bigger discussion still. Daniel