On Mon, 20 Nov 2023 at 15:08, Alex Bennée <alex.bennee(a)linaro.org> wrote:
To make it easier to test 32 bit Arm softmmu issues implement a basic
boot.S so we can build the multiarch tests. Currently CHECK_UNALIGNED
is disabled as I haven't got the right magic set for it to work.
Message-Id: <20231115205542.3092038-10-alex.bennee(a)linaro.org>
Signed-off-by: Alex Bennée <alex.bennee(a)linaro.org>
+# Running
+QEMU_BASE_MACHINE=-M virt -cpu max -display none
+QEMU_OPTS+=$(QEMU_BASE_MACHINE) -semihosting-config
enable=on,target=native,chardev=output -kernel
+
A minor thing, but I just ran into an awkwardness in the
equivalent set of variables in the aarch64 subdirectory:
if you ever want to define a different machine type then
there's no convenient way to say "give me the standard
options but a different machine", because the QEMU_OPTS
has the base machine in it and there's no variable with
just the semihosting etc options in it. For aarch64 I opted for:
+QEMU_BASE_ARGS=-semihosting-config enable=on,target=native,chardev=output
+QEMU_OPTS+=$(QEMU_BASE_MACHINE) $(QEMU_BASE_ARGS) -kernel
because then you can have a particular test do something like
+QEMU_EL2_MACHINE=-machine virt,virtualization=on,gic-version=2 -cpu
cortex-a57 -smp 4
+run-vtimer: QEMU_OPTS=$(QEMU_EL2_MACHINE) $(QEMU_BASE_ARGS) -kernel
You could argue about whether '-display none' should be in
QEMU_BASE_ARGS. I figure -kernel should not be because it
has the weird "must go last" property.
(These tweaks to the aarch64 makefile coming soon in a different
patch...)
thanks
-- PMM