qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] SPARC32 SMP booting problem
@ 2009-07-31  2:15 Naruil
  2009-07-31  9:59 ` Blue Swirl
  0 siblings, 1 reply; 2+ messages in thread
From: Naruil @ 2009-07-31  2:15 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 783 bytes --]

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.
NetBSD with an GENERIC.MP kernel can only recognize one core when booting
with 2 cores.

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?


Many thanks!
Naruil

[-- Attachment #2: Type: text/html, Size: 1201 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Qemu-devel] SPARC32 SMP booting problem
  2009-07-31  2:15 [Qemu-devel] SPARC32 SMP booting problem Naruil
@ 2009-07-31  9:59 ` Blue Swirl
  0 siblings, 0 replies; 2+ messages in thread
From: Blue Swirl @ 2009-07-31  9:59 UTC (permalink / raw)
  To: Naruil; +Cc: qemu-devel

On Fri, Jul 31, 2009 at 5:15 AM, Naruil<naruilone@gmail.com> 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.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-07-31 10:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-31  2:15 [Qemu-devel] SPARC32 SMP booting problem Naruil
2009-07-31  9:59 ` Blue Swirl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).