On Tue, Jul 12, 2022 at 12:27 AM 'Daniel Latypov' via KUnit Development kunit-dev@googlegroups.com wrote:
CONFIG_UML_PCI_OVER_VIRTIO=y is needed to enable CONFIG_PCI=y on UML. However, this causes test failures when running the clk tests, i.e. $ ./tools/testing/kunit/kunit.py run --kunitconfig=drivers/clk
A snippet of the particular error is:
ok 1 - clk_gate_test_parent_rate
------------[ cut here ]------------ WARNING: CPU: 0 PID: 45 at lib/logic_iomem.c:141 __raw_readl+0x9f/0xd0
This is triggered by this cast in the test: 143 ctx->fake_mem = (void __force __iomem *)&ctx->fake_reg; this seems to work except when logic iomem is enabled, i.e. CONFIG_INDIRECT_IOMEM=y.
As a short-term fix, explicitly disable CONFIG_UML_PCI_OVER_VIRTIO in drivers/clk/.kunitconfig so we can enable it for everyone else by default in kunit.py.
The long-term fix probably requires something more complicated, like #ifdef CONFIG_INDIRECT_IOMEM logic_iomem_add_region(...); #endif
Signed-off-by: Daniel Latypov dlatypov@google.com Reported-by: Maxime Ripard maxime@cerno.tech Tested-by: Maxime Ripard maxime@cerno.tech
Note: this targeting the -kselftest kunit branch. There's a commit that triggers this by enabling logic iomem by default [1] and there's also a commit that lets disable it via kunitconfig file [2], which this fix relies on.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git/co... [2] https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git/co...
Looks good, works for me (and doesn't break either i386 or arm64, which I also tested on).
Reviewed-by: David Gow davidgow@google.com
Cheers, -- David
drivers/clk/.kunitconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/clk/.kunitconfig b/drivers/clk/.kunitconfig index cdbc7d7deba9..2fbeb71316f8 100644 --- a/drivers/clk/.kunitconfig +++ b/drivers/clk/.kunitconfig @@ -2,3 +2,4 @@ CONFIG_KUNIT=y CONFIG_COMMON_CLK=y CONFIG_CLK_KUNIT_TEST=y CONFIG_CLK_GATE_KUNIT_TEST=y +CONFIG_UML_PCI_OVER_VIRTIO=n
base-commit: 7635778bac7e46458392c1261e3916e8e9e86860
2.37.0.rc0.161.g10f37bed90-goog
-- You received this message because you are subscribed to the Google Groups "KUnit Development" group. To unsubscribe from this group and stop receiving emails from it, send an email to kunit-dev+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/kunit-dev/20220711162713.2467476-1-dlatypo....