qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] SPARC not booting SMP Linux kernel


From: 陈宇飞
Subject: [Qemu-devel] SPARC not booting SMP Linux kernel
Date: Tue, 27 Apr 2010 14:22:04 +0800

Actually this has been test before.

http://lists.gnu.org/archive/html/qemu-devel/2006-08/msg00512.html

I've tested Debian 3.1 (with Linux 2.4.27.3) and Debian 4.0 (with
Linux 2.6.18.6), on both qemu 0.10.6 and 0.12.3, emulating machine is
set to SS-20.

1. non-smp kernel successfully boots with both -smp 1 or -smp 2.
2. smp kernel can only boot with -smp 1. (The 2.6 kernel is cross
compiled by gcc 4.2.4 since no binary package is available)

Some investigation with qemu's debug message and Linux kernel dump
(the 2.6 kernel) shows that

1. When the boot cpu tries to start cpu 1, cpu 1 calls
local_irq_enable. After that, cpu 1 get's lot's of level 14 interrupt.
2. Printing out the executed TBs' pc values shows that kernel
interrupt handler is executed.
3. Qemu's do_interrupt debug message shows that cpu 1 always get level
14 interrupt at the same pc, which is the nop instruction just after
the "mov %g1, %psr" instruction.

I guess that the interrupt is not cleared even after the execution of
the interrupt handler. I've found debian installation report which
boots smp linux kernel, so I thinks this problem is caused by qemu?

I'm tring to fix this problem but I'm not familiar with sparc
architecture, is there any clue?

-- 
Best regards,
Chen Yufei




reply via email to

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