qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] SPARC32 SMP booting problem


From: Blue Swirl
Subject: Re: [Qemu-devel] SPARC32 SMP booting problem
Date: Fri, 31 Jul 2009 12:59:40 +0300

On Fri, Jul 31, 2009 at 5:15 AM, Naruil<address@hidden> wrote:
> We are trying to build a tiny SPARC32 Linux SMP kernel for debugging use.
> The kernel is compiled with SMP support and Enhanced RTC.
>
> With the command line parameter
>    -M SS-600MP -smp 1
> the kernel boots successfully.
> But with
>    -M SS-600MP -smp 2
> booting will hang at
> SILO Version 1.4.13
> boot:
> Loaded kernel version 2.6.18
> Loading initial ramdisk (3212127 bytes at 0x3000000 phys, 0x60000000
> virt)...
> PROMLIB: obio_ranges 1
> Booting Linux...
> In addition, Debian netinst cdrom will hang at this point if booting with
> SMP.

At least 4.0 r5 businesscard boots with -M SS-600MP -smp 2, you just
have to wait a bit. If you use 'install -p' then the messages come
even sooner. SMP mode has not been compiled in.

> NetBSD with an GENERIC.MP kernel can only recognize one core when booting
> with 2 cores.

NetBSD 4.0 install CD says:
cpu0 at mainbus0: mid 8: TMS390Z50 v0 or TMS390Z55 @ 170 MHz, on-chip FPU
cpu0: physical 20K instruction (64 b/l), 16K data (32 b/l), 1024K
external (32 b/l): cache enabled
cpu at mainbus0 not configured

So the CPU is found, but not used.

> Is there some bug with the SPARC32 SMP implementation?
> Or any one know how should I configure the SPARC32 Linux kernel to
> boot correctly with SMP?

IIRC Sparc32 SMP has been broken for ages. I actually use Splack 8.0
for my SMP tests, the default kernel (2.2.20pre2) is SMP-aware and is
old enough to be known to work. If someone knows another boot CD image
with a known good SMP kernel version, I'd be happy to test it.

Of course bugs or unimplemented features are always a possibility. The
MXCC and MBus registers used for SMP are not completely implemented.
Linux does not use them directly but uses OpenBIOS to start other CPUs
and this happens to work because the SMP start method (IPI) is
supported by QEMU.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]