From 4be3b39809102c0c5ac5136eb4e7808d473e9add Mon Sep 17 00:00:00 2001 From: David Gibson Date: Wed, 13 Jun 2007 14:52:58 +1000 Subject: [PATCH] --- yaml --- r: 60541 b: refs/heads/master c: 11123346bfba8e65631957c6c25ed1a6ca1b4ffe h: refs/heads/master i: 60539: f1fb93952f0e95594a6a573d3b7d6d23bdc0180b v: v3 --- [refs] | 2 +- trunk/arch/powerpc/boot/44x.c | 16 ++++++++++++++++ trunk/arch/powerpc/boot/44x.h | 2 ++ trunk/arch/powerpc/boot/ebony.c | 18 +----------------- 4 files changed, 20 insertions(+), 18 deletions(-) diff --git a/[refs] b/[refs] index cd6dc7009656..b65f89fe7b97 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4508dc21feb189159d4cc1d5b79c5a55fad5f2ed +refs/heads/master: 11123346bfba8e65631957c6c25ed1a6ca1b4ffe diff --git a/trunk/arch/powerpc/boot/44x.c b/trunk/arch/powerpc/boot/44x.c index d51377d9024f..bc3f570ff9ba 100644 --- a/trunk/arch/powerpc/boot/44x.c +++ b/trunk/arch/powerpc/boot/44x.c @@ -38,3 +38,19 @@ void ibm44x_fixup_memsize(void) dt_fixup_memory(0, memsize); } + +#define SPRN_DBCR0 0x134 +#define DBCR0_RST_SYSTEM 0x30000000 + +void ibm44x_dbcr_reset(void) +{ + unsigned long tmp; + + asm volatile ( + "mfspr %0,%1\n" + "oris %0,%0,%2@h\n" + "mtspr %1,%0" + : "=&r"(tmp) : "i"(SPRN_DBCR0), "i"(DBCR0_RST_SYSTEM) + ); + +} diff --git a/trunk/arch/powerpc/boot/44x.h b/trunk/arch/powerpc/boot/44x.h index 7b129ad043e1..0da4abf390ad 100644 --- a/trunk/arch/powerpc/boot/44x.h +++ b/trunk/arch/powerpc/boot/44x.h @@ -11,6 +11,8 @@ #define _PPC_BOOT_44X_H_ void ibm44x_fixup_memsize(void); + +void ibm44x_dbcr_reset(void); void ebony_init(void *mac0, void *mac1); #endif /* _PPC_BOOT_44X_H_ */ diff --git a/trunk/arch/powerpc/boot/ebony.c b/trunk/arch/powerpc/boot/ebony.c index b1251ee7a102..634985802006 100644 --- a/trunk/arch/powerpc/boot/ebony.c +++ b/trunk/arch/powerpc/boot/ebony.c @@ -102,26 +102,10 @@ static void ebony_fixups(void) dt_fixup_mac_addresses(ebony_mac0, ebony_mac1); } -#define SPRN_DBCR0 0x134 -#define DBCR0_RST_SYSTEM 0x30000000 - -static void ebony_exit(void) -{ - unsigned long tmp; - - asm volatile ( - "mfspr %0,%1\n" - "oris %0,%0,%2@h\n" - "mtspr %1,%0" - : "=&r"(tmp) : "i"(SPRN_DBCR0), "i"(DBCR0_RST_SYSTEM) - ); - -} - void ebony_init(void *mac0, void *mac1) { platform_ops.fixups = ebony_fixups; - platform_ops.exit = ebony_exit; + platform_ops.exit = ibm44x_dbcr_reset; ebony_mac0 = mac0; ebony_mac1 = mac1; ft_init(_dtb_start, _dtb_end - _dtb_start, 32);