AArch64 samples
The repository has three AArch64 single-machine samples, described together on this series page: host-only-aarch64, gem5-aarch64 and qemu-device-aarch64. All three use the vhost-arm-tcg host. The native execution architecture is AArch64 while the gem5 build target is still VEGA_X86. The Ubuntu/ROCm guest image shipped with the repository targets x86_64 only, so these samples cover host plumbing, plan rendering and the native ARM64 gem5 process, not a booting guest.
The three samples
Sample |
Host |
Devices |
Memory pool |
Notes |
|---|---|---|---|---|
|
|
None |
64 MiB |
AArch64 host plumbing |
|
|
1 × |
1.5 GiB |
Native ARM64 gem5 build |
|
|
1 × |
64 MiB |
Depends on AArch64 build artifacts |
host-only-aarch64 machine
resources/machines/host-only-aarch64.yaml imports from vhosts/qemu.yaml and vhosts/vhost-arm-tcg.yaml and declares a single paused AArch64 host for AArch64 session plumbing.
just run-cli validate resources/machines/host-only-aarch64.yaml
just run-topology resources/machines/host-only-aarch64.yaml --dry-run
just run-topology-dev resources/machines/host-only-aarch64.yaml --run-for 1
Machine count: one (
m0); one vHost and no devices.The 64 MiB pool; the host binary
qemu-system-aarch64is looked up inPATH.
gem5-aarch64 machine
resources/machines/gem5-aarch64.yaml combines a paused ARM64 host with one native ARM64 gem5 MI300X process:
The host overrides
runtime.binarytobuild/qemu/qemu-system-aarch64and sets memory to 512 MiB.The device uses the
mi300x-aarch64template: binarybuild/gem5/aarch64/VEGA_X86/gem5.opt, VRAM overridden to 1 GiB, andnum_compute_unitsset to 4.The explicit device id is
gpu0, its region isgpu0.vramat 512 MiB, and the pool is 1.5 GiB.The vHost has no image or kernel because no AArch64 guest image is shipped.
just run-cli validate resources/machines/gem5-aarch64.yaml
just run-topology resources/machines/gem5-aarch64.yaml --dry-run
qemu-device-aarch64 machine
resources/machines/qemu-device-aarch64.yaml mirrors the x86_64 qemu-device machine: a paused AArch64 host connects to a QEMU edu device over vfio-user.
The host overrides
runtime.binarytobuild/qemu/qemu-system-aarch64.The device uses the
qemu-edu-aarch64template with the explicit idedu; it has no private memory region.The pool is 64 MiB; both the x86_64 and AArch64 host and device binaries need a QEMU built with vfio-user support.
just run-cli validate resources/machines/qemu-device-aarch64.yaml
just run-topology resources/machines/qemu-device-aarch64.yaml --dry-run