Re: [RFC PATCH 18/18] tests: dedicated multiboot, module DTB bootstrap test (aarch64)

Sergey Bugaev <[email protected]>
Newsgroups gmane.os.hurd.bugs
Message-ID <CAN9u=HeV6md0oF9zwniMm70qumpkf53mnerSyv0Qaj5fh9RjFg@mail.gmail.com>
On Sun, May 24, 2026 at 4:44 AM Paulo Duarte <[email protected]> wrote:
>
> The main aarch64 test suite boots gnumach via u-boot running under
> QEMU, which uses `fdt mknod` to inject the multiboot,module DTB
> nodes documented in aarch64/BOOTING.  That exercises the kernel's
> DTB reader through a real bootloader.  Add a second, smaller path
> that exercises the same kernel code directly via QEMU's `-device
> guest-loader` — which synthesises the same /chosen/multiboot,module
> nodes without a bootloader in between.
>
> Why have both:
>
>   * **Fault isolation.**  If the main u-boot tests start failing,
>     the dedicated test tells us whether it's u-boot/boot.scr/FAT
>     image generation breaking or the kernel itself.  Without this
>     test, a regression in our scripting machinery looks identical
>     to a kernel regression and we'd have to debug from scratch.
>
>   * **Lower-dependency smoke test.**  The dedicated test needs only
>     qemu-system-aarch64.  No u-boot, no mkimage, no mkfs.vfat.
>     If the u-boot infrastructure breaks for environmental reasons
>     (qemu version, u-boot defconfig change in nixpkgs), the
>     dedicated test still validates the kernel.

Was this written by an LLM? What other parts of the patch descriptions
are written by you vs an LLM?

>
>   * **Documentation by example.**  Shows the bare-metal Bugaev path
>     concretely: this is what an embedded board with u-boot's
>     `fdt mknod` ends up handing the kernel; here's the qemu
>     equivalent that skips the bootloader.
>
> test-multiboot-module-aarch64 reuses the test-hello module (its
> only job is "kernel boots, runs the module, prints
> TEST_SUCCESS_MARKER") so the test cost is just the runner script
> + a Makefrag.am entry, not a new test source.
>
> The runner template lives in tests/run-multiboot-module-qemu.sh.template
> rather than extending tests/run-qemu.sh.template — guest-loader's
> bootargs= parameter needs eval-based shell quoting to thread
> '${host-port}' / '$(...)' fragments verbatim to the boot-script
> parser, and that machinery shouldn't pollute the main runner that
> every other test uses.
>
> Gated on HOST_aarch64 in tests/Makefrag.am; no effect on x86
> builds.  Adds one to the aarch64 test count: 11 standard u-boot
> tests + 1 multiboot-module test = 12, matching x86's 12.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.