From: Michal Simek <monstr@monstr.eu>
To: "Thomas Weißschuh" <linux@weissschuh.net>,
"Brendan Higgins" <brendan.higgins@linux.dev>,
"David Gow" <david@davidgow.net>,
"Rae Moar" <raemoar63@gmail.com>
Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org,
kunit-dev@googlegroups.com
Subject: Re: [PATCH 0/4] microblaze: KUnit support
Date: Mon, 31 Aug 2026 14:57:36 +0200 [thread overview]
Message-ID: <b1be5d00-dc18-4b36-93e4-a866dff49766@monstr.eu> (raw)
In-Reply-To: <20260804-kunit-microblaze-v1-0-6dcdfe12eb40@weissschuh.net>
Hi,
On 8/4/26 07:32, Thomas Weißschuh wrote:
> Add the necessary prerequisites and configuration to run KUnit on
> microblaze.
>
> Please note that various KUnit tests will fail with the default
> configuration as the memmove() implementation from
> arch/microblaze/lib/memmove.c seems to be broken.
>
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
> ---
> Thomas Weißschuh (4):
> microblaze: uaccess: Zero out destination on failed get_user()
> microblaze: reset: Call POWER_OFF handlers
> microblaze: reset: Provide a power off handler through an unaligned PC
> kunit: qemu_configs: Add microblaze configuration
>
> arch/microblaze/Kconfig | 9 +++++++++
> arch/microblaze/include/asm/uaccess.h | 3 ++-
> arch/microblaze/kernel/reset.c | 22 ++++++++++++++++++++++
> tools/testing/kunit/qemu_configs/microblaze.py | 17 +++++++++++++++++
> 4 files changed, 50 insertions(+), 1 deletion(-)
> ---
> base-commit: dc59e4fea9d83f03bad6bddf3fa2e52491777482
> change-id: 20260802-kunit-microblaze-7a3f6ac88b4d
>
> Best regards,
> --
> Thomas Weißschuh <linux@weissschuh.net>
>
One more thing. I see that this test is also failing on 32bit riscv. Is this
something 32bit architecture related? That was only one test which failed on
little endian Microblaze.
Thanks,
Michal
./tools/testing/kunit/kunit.py run --arch=riscv32
--cross_compile=riscv32-unknown-linux-gnu-
"gpu_buddy.gpu_test_buddy_alloc_exceeds_max_order"
[14:53:50] Configuring KUnit Kernel ...
[14:53:50] Building KUnit Kernel ...
Populating config with:
$ make ARCH=riscv O=.kunit olddefconfig CROSS_COMPILE=riscv32-unknown-linux-gnu-
Building with:
$ make all compile_commands.json scripts_gdb ARCH=riscv O=.kunit --jobs=12
CROSS_COMPILE=riscv32-unknown-linux-gnu-
[14:53:54] Starting KUnit Kernel (1/1)...
[14:53:54] ============================================================
Running tests with:
$ qemu-system-riscv32 -nodefaults -m 1024 -kernel .kunit/arch/riscv/boot/Image
-append 'kunit.filter_glob=gpu_buddy.gpu_test_buddy_alloc_exceeds_max_order
kunit.enable=1 console=ttyS0 kunit_shutdown=reboot' -no-reboot -nographic -accel
kvm -accel hvf -accel tcg -serial stdio -machine virt
[14:53:56] ================== gpu_buddy (1 subtest) ===================
[14:53:56] # gpu_test_buddy_alloc_exceeds_max_order: EXPECTATION FAILED at
drivers/gpu/tests/gpu_buddy_test.c:1429
[14:53:56] Expected err == -22, but
[14:53:56] err == 0 (0x0)
[14:53:56] ------------[ cut here ]------------
[14:53:56] WARNING: drivers/gpu/buddy.c:508 at gpu_buddy_fini+0x26e/0x36c,
CPU#0: kunit_try_catch/27
[14:53:56] CPU: 0 UID: 0 PID: 27 Comm: kunit_try_catch Tainted: G
N 7.3.0-rc1-00016-g9987f87429e8-dirty #9 PREEMPTLAZY
[14:53:56] Tainted: [N]=TEST
[14:53:56] Hardware name: riscv-virtio,qemu (DT)
[14:53:56] epc : gpu_buddy_fini+0x26e/0x36c
[14:53:56] ra : gpu_buddy_fini+0xc0/0x36c
[14:53:56] epc : c02adc98 ra : c02adaea sp : c1a8dde0
[14:53:56] gp : c14a13c8 tp : c1880000 t0 : 00000000
[14:53:56] t1 : c1b44630 t2 : 00000000 s0 : c1a8de10
[14:53:56] s1 : 00000015 a0 : fffffff4 a1 : c1b446f0
[14:53:56] a2 : fffffc00 a3 : 00000004 a4 : 00000008
[14:53:56] a5 : 00000400 a6 : 00000000 a7 : 40000812
[14:53:56] s2 : c1a8de40 s3 : 00000000 s4 : 00000c00
[14:53:56] s5 : fffff000 s6 : c14a3000 s7 : 0000001f
[14:53:56] s8 : 80000000 s9 : 00000002 s10: 00000000
[14:53:56] s11: 00000000 t3 : c1b445d0 t4 : 00000000
[14:53:56] t5 : 0000000d t6 : 00000001 ssp : 00000000
[14:53:56] status: 00000120 badaddr: 00000000 cause: 00000003
[14:53:56] [<c02adc98>] gpu_buddy_fini+0x26e/0x36c
[14:53:56] [<c02b0ece>] gpu_test_buddy_alloc_exceeds_max_order+0x16c/0x2e4
[14:53:56] [<c01e1238>] kunit_try_run_case+0x72/0x1ba
[14:53:56] [<c01e2f16>] kunit_generic_run_threadfn_adapter+0x1a/0x32
[14:53:56] [<c003bfdc>] kthread+0xbe/0xd4
[14:53:56] [<c000f6f6>] ret_from_fork_kernel+0x1a/0x110
[14:53:56] [<c035cff2>] ret_from_exception_end+0x16/0x18
[14:53:56] ---[ end trace 0000000000000000 ]---
[14:53:56] # gpu_test_buddy_alloc_exceeds_max_order:
drivers/gpu/buddy.c:508: gpu_buddy_assert(gpu_buddy_block_is_free(mm->roots[i]))
[14:53:56] ------------[ cut here ]------------
[14:53:56] WARNING: drivers/gpu/buddy.c:516 at gpu_buddy_fini+0x33e/0x36c,
CPU#0: kunit_try_catch/27
[14:53:56] CPU: 0 UID: 0 PID: 27 Comm: kunit_try_catch Tainted: G W
N 7.3.0-rc1-00016-g9987f87429e8-dirty #9 PREEMPTLAZY
[14:53:56] Tainted: [W]=WARN, [N]=TEST
[14:53:56] Hardware name: riscv-virtio,qemu (DT)
[14:53:56] epc : gpu_buddy_fini+0x33e/0x36c
[14:53:56] ra : gpu_buddy_fini+0xe2/0x36c
[14:53:56] epc : c02add68 ra : c02adb0c sp : c1a8dde0
[14:53:56] gp : c14a13c8 tp : c1880000 t0 : 00005b73
[14:53:56] t1 : c1b44630 t2 : 5d695b73 s0 : c1a8de10
[14:53:56] s1 : 00000000 a0 : c1b12a00 a1 : 00000000
[14:53:56] a2 : 00000002 a3 : 00000000 a4 : 00001000
[14:53:56] a5 : 40000000 a6 : 0000007b a7 : 40000812
[14:53:56] s2 : c1a8de40 s3 : c0cd84c8 s4 : c1a8de20
[14:53:56] s5 : 00000001 s6 : 00000000 s7 : 00000000
[14:53:56] s8 : 80000000 s9 : 00000002 s10: 00000000
[14:53:56] s11: 00000000 t3 : c14a9b36 t4 : c14a9b36
[14:53:56] t5 : c14a9ab8 t6 : c14a9b34 ssp : 00000000
[14:53:56] status: 00000120 badaddr: 00000000 cause: 00000003
[14:53:56] [<c02add68>] gpu_buddy_fini+0x33e/0x36c
[14:53:56] [<c02b0ece>] gpu_test_buddy_alloc_exceeds_max_order+0x16c/0x2e4
[14:53:56] [<c01e1238>] kunit_try_run_case+0x72/0x1ba
[14:53:56] [<c01e2f16>] kunit_generic_run_threadfn_adapter+0x1a/0x32
[14:53:56] [<c003bfdc>] kthread+0xbe/0xd4
[14:53:56] [<c000f6f6>] ret_from_fork_kernel+0x1a/0x110
[14:53:56] [<c035cff2>] ret_from_exception_end+0x16/0x18
[14:53:56] ---[ end trace 0000000000000000 ]---
[14:53:56] # gpu_test_buddy_alloc_exceeds_max_order:
drivers/gpu/buddy.c:516: gpu_buddy_assert(mm->avail == mm->size)
[14:53:56] ------------[ cut here ]------------
[14:53:56] WARNING: drivers/gpu/buddy.c:519 at gpu_buddy_fini+0x240/0x36c,
CPU#0: kunit_try_catch/27
[14:53:56] CPU: 0 UID: 0 PID: 27 Comm: kunit_try_catch Tainted: G W
N 7.3.0-rc1-00016-g9987f87429e8-dirty #9 PREEMPTLAZY
[14:53:56] Tainted: [W]=WARN, [N]=TEST
[14:53:56] Hardware name: riscv-virtio,qemu (DT)
[14:53:56] epc : gpu_buddy_fini+0x240/0x36c
[14:53:56] ra : gpu_buddy_fini+0x36a/0x36c
[14:53:56] epc : c02adc6a ra : c02add94 sp : c1a8dde0
[14:53:56] gp : c14a13c8 tp : c1880000 t0 : 0000733e
[14:53:56] t1 : 00000029 t2 : 7a69733e s0 : c1a8de10
[14:53:56] s1 : 00000012 a0 : c1803400 a1 : ffaf5490
[14:53:56] a2 : 00000001 a3 : 3f2e0000 a4 : 00000001
[14:53:56] a5 : 00000000 a6 : 0000007b a7 : 00735049
[14:53:56] s2 : c1a8de40 s3 : c0cd84c8 s4 : c1a8de20
[14:53:56] s5 : 00000001 s6 : 00000000 s7 : 00000000
[14:53:56] s8 : 80000000 s9 : 00000002 s10: 00000000
[14:53:56] s11: 00000000 t3 : c14aa17a t4 : c14aa17a
[14:53:56] t5 : c14aa10c t6 : c14aa178 ssp : 00000000
[14:53:56] status: 00000120 badaddr: 00000000 cause: 00000003
[14:53:56] [<c02adc6a>] gpu_buddy_fini+0x240/0x36c
[14:53:56] [<c02b0ece>] gpu_test_buddy_alloc_exceeds_max_order+0x16c/0x2e4
[14:53:56] [<c01e1238>] kunit_try_run_case+0x72/0x1ba
[14:53:56] [<c01e2f16>] kunit_generic_run_threadfn_adapter+0x1a/0x32
[14:53:56] [<c003bfdc>] kthread+0xbe/0xd4
[14:53:56] [<c000f6f6>] ret_from_fork_kernel+0x1a/0x110
[14:53:56] [<c035cff2>] ret_from_exception_end+0x16/0x18
[14:53:56] ---[ end trace 0000000000000000 ]---
[14:53:56] # gpu_test_buddy_alloc_exceeds_max_order:
drivers/gpu/buddy.c:519: gpu_buddy_assert(!mm->used_scoreboard[i])
[14:53:56] [FAILED] gpu_test_buddy_alloc_exceeds_max_order
[14:53:56] # gpu_buddy: Testing GPU buddy manager, with random_seed=0x11376afa
[14:53:56] # module: gpu_buddy_tests
[14:53:56] ==================== [FAILED] gpu_buddy ====================
[14:53:56] ============================================================
[14:53:56] Testing complete. Ran 1 tests: failed: 1
[14:53:56] Elapsed time: 6.310s total, 0.001s configuring, 4.289s building,
1.982s running
--
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP/Versal ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal/Versal NET SoCs
TF-A maintainer - Xilinx ZynqMP/Versal/Versal NET SoCs
next prev parent reply other threads:[~2026-08-31 12:57 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-04 5:32 [PATCH 0/4] microblaze: KUnit support Thomas Weißschuh
2026-08-04 5:32 ` [PATCH 1/4] microblaze: uaccess: Zero out destination on failed get_user() Thomas Weißschuh
2026-08-05 13:59 ` David Gow
2026-08-04 5:32 ` [PATCH 2/4] microblaze: reset: Call POWER_OFF handlers Thomas Weißschuh
2026-08-05 13:59 ` David Gow
2026-08-31 8:13 ` Michal Simek
2026-08-31 15:39 ` Thomas Weißschuh
2026-08-04 5:32 ` [PATCH 3/4] microblaze: reset: Provide a power off handler through an unaligned PC Thomas Weißschuh
2026-08-05 13:59 ` David Gow
2026-08-04 5:32 ` [PATCH 4/4] kunit: qemu_configs: Add microblaze configuration Thomas Weißschuh
2026-08-05 13:59 ` David Gow
2026-08-05 19:18 ` Thomas Weißschuh
2026-08-31 8:15 ` Michal Simek
2026-08-31 10:48 ` Michal Simek
2026-08-31 15:43 ` Thomas Weißschuh
2026-09-01 13:33 ` Michal Simek
2026-09-01 18:33 ` Thomas Weißschuh
2026-09-02 10:44 ` Michal Simek
2026-08-31 12:57 ` Michal Simek [this message]
2026-08-31 15:45 ` [PATCH 0/4] microblaze: KUnit support Thomas Weißschuh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b1be5d00-dc18-4b36-93e4-a866dff49766@monstr.eu \
--to=monstr@monstr.eu \
--cc=brendan.higgins@linux.dev \
--cc=david@davidgow.net \
--cc=kunit-dev@googlegroups.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux@weissschuh.net \
--cc=raemoar63@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox