Message ID | 108676ae57ac8cade69806ff92768866bf8dd200.1677496263.git.geert@linux-m68k.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 60684c2bd35064043360e6f716d1b7c20e967b7d |
Delegated to: | Brendan Higgins |
Headers | show |
Series | kunit: tool: Add support for m68k under QEMU | expand |
On Mon, 27 Feb 2023 at 19:12, Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > Add basic support to run m68k under QEMU via kunit_tool. > > Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> > --- Thanks very much. This works fine here. I'll look into failures for individual kunitconfigs and tests later, but the actual kunit_tool/QEMU stuff seems good-to-go to me. Reviewed-by: David Gow <davidgow@google.com> Cheers, -- David > Does this need CONFIG_VIRTIO_CONSOLE=y? It seems to work fine without. It's working fine here without, too, so _something_ must be sending data to the console. > > drivers/clk/.kunitconfig: > > Fails because m68k uses big-endian I/O ops > > drivers/gpu/drm/tests/.kunitconfig > > kernel BUG at drivers/gpu/drm/drm_buddy.c:21! > (also on arm, ignored) > > drivers/gpu/drm/vc4/tests/.kunitconfig > > Depends on arm, works on arm > > drivers/hid/.kunitconfig > > Unable to handle kernel NULL pointer dereference at virtual address (ptrval) > Oops: 00000000 > PC: [<001d7380>] uclogic_params_ugee_v2_has_battery+0x6/0x68 > (also on arm, ignored) > > fs/ext4/.kunitconfig: OK > > fs/fat/.kunitconfig: OK > > kernel/kcsan/.kunitconfig > > Needs HAVE_ARCH_KCSAN and SMP > (the former also on arm, ignored) > > lib/kunit/.kunitconfig: OK > > mm/kfence/.kunitconfig > > Needs HAVE_ARCH_KFENCE > (fails on arm due to missing CONFIG_KFENCE_KUNIT_TEST=y, which > depends on TRACEPOINTS) > > net/sunrpc/.kunitconfig > > After dropping CONFIG_STACKTRACE=y (why is this needed?) from > net/sunrpc/.kunitconfig: > Unable to handle kernel NULL pointer dereference at virtual address (ptrval) > (also on arm, ignored) > --- It looks like there are some endianness issues with the apparmor policy_unpack_test, too... Otherwise the default set of tests seems to pass. > tools/testing/kunit/qemu_configs/m68k.py | 10 ++++++++++ > 1 file changed, 10 insertions(+) > create mode 100644 tools/testing/kunit/qemu_configs/m68k.py > > diff --git a/tools/testing/kunit/qemu_configs/m68k.py b/tools/testing/kunit/qemu_configs/m68k.py > new file mode 100644 > index 0000000000000000..287fc386f8a7ff16 > --- /dev/null > +++ b/tools/testing/kunit/qemu_configs/m68k.py > @@ -0,0 +1,10 @@ > +# SPDX-License-Identifier: GPL-2.0-only > +from ..qemu_config import QemuArchParams > + > +QEMU_ARCH = QemuArchParams(linux_arch='m68k', > + kconfig=''' > +CONFIG_VIRT=y''', > + qemu_arch='m68k', > + kernel_path='vmlinux', > + kernel_command_line='console=hvc0', > + extra_qemu_params=['-machine', 'virt']) > -- > 2.34.1 >
diff --git a/tools/testing/kunit/qemu_configs/m68k.py b/tools/testing/kunit/qemu_configs/m68k.py new file mode 100644 index 0000000000000000..287fc386f8a7ff16 --- /dev/null +++ b/tools/testing/kunit/qemu_configs/m68k.py @@ -0,0 +1,10 @@ +# SPDX-License-Identifier: GPL-2.0-only +from ..qemu_config import QemuArchParams + +QEMU_ARCH = QemuArchParams(linux_arch='m68k', + kconfig=''' +CONFIG_VIRT=y''', + qemu_arch='m68k', + kernel_path='vmlinux', + kernel_command_line='console=hvc0', + extra_qemu_params=['-machine', 'virt'])
Add basic support to run m68k under QEMU via kunit_tool. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> --- Does this need CONFIG_VIRTIO_CONSOLE=y? It seems to work fine without. drivers/clk/.kunitconfig: Fails because m68k uses big-endian I/O ops drivers/gpu/drm/tests/.kunitconfig kernel BUG at drivers/gpu/drm/drm_buddy.c:21! (also on arm, ignored) drivers/gpu/drm/vc4/tests/.kunitconfig Depends on arm, works on arm drivers/hid/.kunitconfig Unable to handle kernel NULL pointer dereference at virtual address (ptrval) Oops: 00000000 PC: [<001d7380>] uclogic_params_ugee_v2_has_battery+0x6/0x68 (also on arm, ignored) fs/ext4/.kunitconfig: OK fs/fat/.kunitconfig: OK kernel/kcsan/.kunitconfig Needs HAVE_ARCH_KCSAN and SMP (the former also on arm, ignored) lib/kunit/.kunitconfig: OK mm/kfence/.kunitconfig Needs HAVE_ARCH_KFENCE (fails on arm due to missing CONFIG_KFENCE_KUNIT_TEST=y, which depends on TRACEPOINTS) net/sunrpc/.kunitconfig After dropping CONFIG_STACKTRACE=y (why is this needed?) from net/sunrpc/.kunitconfig: Unable to handle kernel NULL pointer dereference at virtual address (ptrval) (also on arm, ignored) --- tools/testing/kunit/qemu_configs/m68k.py | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 tools/testing/kunit/qemu_configs/m68k.py