# HG changeset patch
# User Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
# Node ID 6d8e315b3d57b28da32fc8c1dfa70a9900f83746
# Parent 7a20fed8be73857abe33d308ed27099efbff4a3c
[POWERPC][XEN] Fix definition of SCOMC register
Fix some typos aroung machine check too.
Signed-off-by: Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
---
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@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel
|