On 02/06/2025 17.31, Peter Maydell wrote:
On Mon, 2 Jun 2025 at 15:24, Guenter Roeck <li...@roeck-us.net> wrote:
On 5/30/25 07:23, Thomas Huth wrote:
I was trying to create a functional test for the "highbank" and
"midway" arm machines of QEMU, and only succeeded after lots of
trial and error to boot something on the "highbank" machine.
Peter mentioned on IRC that he also does not test these machines
by default, so we started wondering whether anybody is still
using these machines? If not, we should maybe start the
deprecation process for those instead?
I don't try to boot midway anymore. Commit log shows:
midway only works with an antique version of qemu. Stop testing it.
That was back in 2021. The log shows that it needs qemu v3.0.
Might have been fixed by QEMU commit 61b82973e in 2022, which says
# This change fixes in passing booting on the 'midway' board model,
# which has been completely broken since we added support for Hyp
# mode to the Cortex-A15 CPU
FWIW, I can now boot the midway machine at least to a shell prompt with the
latest version of QEMU: Grab the "Trusty Midway" images that are linked from
https://wiki.ubuntu.com/ARM/Server/Install/Calxeda ... unfortunately, there
is no dtb available, but you can use dtc to compile
arch/arm/boot/dts/calxeda/ecx-2000.dts from the Linux kernel sources into a
dtb file that seems to work. Then run QEMU like this:
qemu-system-arm -M midway -nographic -kernel vmlinuz \
-initrd initrd.gz -m 2047 -dtb ecx-2000.dtb \
-append "console=ttyAMA0 init=/bin/sh"
I only test highbank manually (not in automated tests). I have this in my code:
# highbank boots with updated (local version of) qemu,
# but generates warnings to the console due to ignored SMC calls.
I have not run the manual test for ages, so I have no idea if it still works.
It also looks like I removed the local changes. Those were needed to enable
basic
SMC support for highbank; maybe similar code is now upstream.
Ok for me to remove both. Not worth the trouble.
Cool. I don't think these machine types provide anything to
users that is particularly interesting (if you just want
"boot an A15 or A9 Linux" then the virt board will do fine,
and the original "test system software for this hardware"
use case is long dead). So I'm in favour of deprecating
these (and eventually dropping them).
There's not actually a lot of highbank/midway specific code
here (no complex SoC modelling, lots of stock Arm peripheral
devices, so just 400 lines in hw/arm/highbank.c, plus another
450 in hw/net/xgmac.c for the ethernet controller), but
if nobody's using it then there's no point keeping it around.
I think I could also try to create a functional test with above images, but
if nobody is really using these machines, deprecation likely makes more
sense, indeed ... do you want me to create one of those two patches?
Thomas