On 3/29/23 12:23, Philippe Mathieu-Daudé wrote: > On 29/3/23 18:48, Rob Landley wrote: >>>> Works fine for me. Somebody said it was the wrong fix but I don't remember >>>> why... >>> >>> This is a correct /partial/ fix. With this patch, Malta works on little >>> endian hosts. No luck with big-endian hosts, but this was broken >>> previous to 3db29dcac2 rework, so apparently not a big deal ¯\_(ツ)_/¯ >> >> No, big endian worked for me with that patch? >> >> The build in my $PATH is QEMU emulator version 7.2.50 >> (v7.2.0-873-g65cc5ccf06-dirty) with that patch, and if you wget >> https://landley.net/toybox/downloads/binaries/mkroot/0.8.9/mips.tgz and >> ./run-emulator.sh in there, the virtual net can wget http://site (the sample > > Oh, we are having some QEMU semantic confusion here... > > You are testing a QEMU big-endian *guest* (or "target") in this example. > > I presume you are testing on a little-endian *host* (x86_64, aarch64, > ppc64el or mips64el).
Ah, yes. I have not tried running qemu on a big endian host system in forever, but there are some IBM people with great interest in supporting every possible thing on s390x. Elizabeth Joseph would be one and would know a bunch more: https://floss.social/@pleia2/110095815201601529 >> image hasn't got https:// support enabled because I didn't include the build >> dependency), and the virtual disk works (if you do "./run-emulator.sh -hda >> blah.img" anyway, the test wrapper I mentioned creates a squashfs image for >> it >> to mount)). Without the patch I don't even get a PCI bus. Running "file >> /bin/toybox" says MSB, and the mipsel image is the little endian one anyway. >> I > > Here you describe the little-endian MIPS *target* image. Which was broken without that patch, yes. So that's why the fix was "partial"... >> also test s390x (which is big endian 64 bit), but I don't think this needed a >> patch? (Hadn't been broken last I checked?) > > Here you describe big-endian s390x *target* image. I don't have s390x hardware to run it on. I do have an sh2eb board but it's nommu and only has 128 megs of ram, so running qemu on it would be... unlikely. > I expect if you run your test with QEMU v7.2.0-873-g65cc5ccf06-dirty > on any big-endian *host* (like a s390x), the test fails. I don't have powerpc mac hardware, which seems the easiest way to get such a test system. (Well, ok, the EASY way would be to feed qemu-system-s390x a couple gigs of ram and then build and run qemu within qemu. While I do have a native toolchain for s390x, qemu's grown an insane dependency stack these days that would be a pain to bootstrap under a musl beyond-linux-from-scratch environment...) Rob