Re: debian bootup hangs on qemu-system-mips64el
Paul Burton <[email protected]>
| Newsgroups | gmane.linux.ports.mips,gmane.comp.emulators.qemu.user,gmane.linux.debian.ports.mips |
|---|---|
| Message-ID | <20200113190823.xa36ojktxoudster@pburton-laptop> |
Hi Jun Sun, On Sun, Jan 12, 2020 at 06:14:12PM -0800, Jun Sun wrote: > On Sun, Jan 12, 2020 at 11:58 AM Aurelien Jarno <[email protected]> wrote: > > On 2020-01-12 11:34, Jun Sun wrote: > > > Are you sure QEMU/MIPS does not support SMP? Below link written in > > > 2016 clearly shows something was working then. > > > > > > https://www.mips.com/blog/how-to-run-smp-linux-in-qemu-on-a-mips64-release-6-cpu/ > > > > It's not supported for the malta/mips64r2 combination you are trying to > > use. It's clearly possible that it is supported for mips64r6, but it's a > > different instruction set, so you can't run a standard Debian > > distribution on it. > > How do I specify mips64r6 cpu to start qemu? A simple cpu listing > below shows no such CPU. If mips64r6 is indeed supported with SMP, I > would think mips64r2 userland should run fine. I know that using QEMU's I6400 or I6500 CPU emulation works fine with SMP as far as -smp 8. It emulates a single core system with up to 8 VPs (hardware threads), and Linux works fine with it. I most often use the Boston board emulation with a 64r6el_defconfig kernel for this, but it ought to work for Malta too. Both I6400 & I6500 are MIPS64r6 CPUs, so as Aurelien said you'd need to ensure you're using a suitable MIPSr6 root filesystem. If you wanted to run as I do it'd go something like this: $ qemu-system-mips64el \ -M boston \ -cpu I6500 \ -smp 8 \ -kernel arch/mips/boot/vmlinux.gz.itb Where that's run from the root of a kernel source tree within which you've built a 64r6el_defconfig kernel. Not sure what the behavior is with older CPUs; QEMU's CM & CPC emulation is somewhat incomplete, and whilst I6400 & I6500 have a relatively straightforward VP model older CPUs have the more complex MT ASE with VPEs & TCs to worry about. Thanks, Paul