I am using 970 Simulator for testing PPC Xen but I found that PPC Xen did not 
work on 970 simulator from rev 11963.

It hangs after domain 0 is initialized and before shell prompt comes.

 

By some tracing, I found that there is no hypervisor decrementer exception at 
all.

So it causes the domain 0 not to get scheduled again once it sets timer and be 
blocked by hypercall.

 

Comparing the revisions, I found that it’s because of enabling of external 
machine check interrupts, which was added from rev 11963.

I checked out the latest xen tree and commented out that line like the 
following:

 

diff -r b30cb72ed5e2 xen/arch/powerpc/powerpc64/ppc970.c

--- a/xen/arch/powerpc/powerpc64/ppc970.c      Fri Nov 03 16:53:17 2006 -0500

+++ b/xen/arch/powerpc/powerpc64/ppc970.c      Wed Nov 08 09:37:07 2006 +0900

@@ -200,7 +200,7 @@ void cpu_initialize(int cpuid)

     hid0.bits.en_therm = 0; /* ! Enable ext thermal ints */

     /* only debug Xen should activate ATTN */

     hid0.bits.en_attn = 1;  /* Enable attn instruction */

-    hid0.bits.en_mck = 1;   /* Enable external machine check interrupts */

+//    hid0.bits.en_mck = 1;   /* Enable external machine check interrupts */

 

 #ifdef SERIALIZE

     hid0.bits.one_ppc = 1;

 

Then it worked on 970 simulator.

 

I am curious about why it does not work on simulator with en_mck = 1

Is there anyone who can explain this? Is it kind of a bug in simulator?

 

Regards,

Jang.

 
_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@lists.xensource.com
http://lists.xensource.com/xen-ppc-devel

Reply via email to