# HG changeset patch
# User Jimi Xenidis <[EMAIL PROTECTED]>
# Node ID 6d8e315b3d57b28da32fc8c1dfa70a9900f83746
# Parent  7a20fed8be73857abe33d308ed27099efbff4a3c
[POWERPC][XEN] Fix definition of SCOMC register
Fix some typos aroung machine check too.

Signed-off-by: Jimi Xenidis <[EMAIL PROTECTED]>
---
 xen/arch/powerpc/powerpc64/ppc970.c              |    2 +-
 xen/arch/powerpc/powerpc64/ppc970_machinecheck.c |    2 +-
 xen/arch/powerpc/powerpc64/ppc970_scom.c         |   17 +++++++++--------
 3 files changed, 11 insertions(+), 10 deletions(-)

diff -r 7a20fed8be73 -r 6d8e315b3d57 xen/arch/powerpc/powerpc64/ppc970.c
--- a/xen/arch/powerpc/powerpc64/ppc970.c       Sat Sep 16 09:34:26 2006 -0400
+++ b/xen/arch/powerpc/powerpc64/ppc970.c       Mon Sep 18 08:14:46 2006 -0400
@@ -168,7 +168,7 @@ void cpu_initialize(int cpuid)
     hid0.bits.nhr = 1;      /* Not Hard Reset */
     hid0.bits.hdice_en = 1; /* enable HDEC */
     hid0.bits.en_therm = 0; /* ! Enable ext thermal ints */
-    /* onlu debug Xen should do this */
+    /* only debug Xen should activate ATTN */
     hid0.bits.en_attn = 1;  /* Enable attn instruction */
     hid0.bits.en_mck = 1;   /* Enable external machine check interrupts */
 
diff -r 7a20fed8be73 -r 6d8e315b3d57 
xen/arch/powerpc/powerpc64/ppc970_machinecheck.c
--- a/xen/arch/powerpc/powerpc64/ppc970_machinecheck.c  Sat Sep 16 09:34:26 
2006 -0400
+++ b/xen/arch/powerpc/powerpc64/ppc970_machinecheck.c  Mon Sep 18 08:14:46 
2006 -0400
@@ -66,7 +66,7 @@ int cpu_machinecheck(struct cpu_user_reg
     switch (regs->msr & MCK_SRR1_CAUSE_MASK) {
     case 0:
         printk("0b00: Likely caused by an asynchronous machine check,\n"
-               "see SCOM Asynchronous Machine Check Register\n");
+               "      see SCOM Asynchronous Machine Check Register\n");
         break;
     case MCK_SRR1_CAUSE_SLB_PAR:
         printk("0b01: Exception caused by an SLB parity error detected\n"
diff -r 7a20fed8be73 -r 6d8e315b3d57 xen/arch/powerpc/powerpc64/ppc970_scom.c
--- a/xen/arch/powerpc/powerpc64/ppc970_scom.c  Sat Sep 16 09:34:26 2006 -0400
+++ b/xen/arch/powerpc/powerpc64/ppc970_scom.c  Mon Sep 18 08:14:46 2006 -0400
@@ -21,6 +21,7 @@
 #include <xen/config.h>
 #include <xen/types.h>
 #include <xen/lib.h>
+#include <xen/console.h>
 
 #define SPRN_SCOMC 276
 #define SPRN_SCOMD 277
@@ -55,7 +56,8 @@ union scomc {
         ulong addr:           16;
         ulong RW:              1;
         ulong _reserved_49_55: 7;
-        ulong _reserved_56_57: 2;
+        ulong _reserved_56:    1;
+        ulong proto_error:     1;
         ulong addr_error:      1;
         ulong iface_error:     1;
         ulong disabled:        1;
@@ -90,7 +92,7 @@ static inline void write_scom(ulong addr
 
     c.word = 0;
     c.bits.addr = addr;
-    c.bits.RW = 0;
+    c.bits.RW = 1;
 
     mtscomd(val);
     mtscomc(c.word);
@@ -103,14 +105,13 @@ static inline void write_scom(ulong addr
 #define SCOM_AMCS_AND_MASK 0x022700
 #define SCOM_AMCS_OR_MASK  0x022800
 #define SCOM_CMCE          0x030901
+#define SCOM_PMCR          0x400801
 
 void cpu_scom_init(void)
 {
-#ifdef not_yet    
-    write_scom(SCOM_AMCS_AND_MASK, 0);
-    
-    printk("scom MCKE: 0x%016lx\n", read_scom(SCOM_CMCE));
-    write_scom(SCOM_CMCE, ~0UL);
-    printk("scom MCKE: 0x%016lx\n", read_scom(SCOM_CMCE));
+#ifdef not_yet
+    console_start_sync();
+    printk("scom PMCR: 0x%016lx\n", read_scom(SCOM_PMCR));
+    console_end_sync();
 #endif
 }

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

Reply via email to