diff options
Diffstat (limited to 'arch/powerpc/cpu/mpc824x')
-rw-r--r-- | arch/powerpc/cpu/mpc824x/cpu_init.c | 4 | ||||
-rw-r--r-- | arch/powerpc/cpu/mpc824x/start.S | 9 | ||||
-rw-r--r-- | arch/powerpc/cpu/mpc824x/traps.c | 29 | ||||
-rw-r--r-- | arch/powerpc/cpu/mpc824x/u-boot.lds | 8 |
4 files changed, 19 insertions, 31 deletions
diff --git a/arch/powerpc/cpu/mpc824x/cpu_init.c b/arch/powerpc/cpu/mpc824x/cpu_init.c index 395f7767d1..cfc665d95c 100644 --- a/arch/powerpc/cpu/mpc824x/cpu_init.c +++ b/arch/powerpc/cpu/mpc824x/cpu_init.c @@ -63,7 +63,7 @@ void cpu_init_f (void) { /* MOUSSE board is initialized in asm */ -#if !defined(CONFIG_MOUSSE) && !defined(CONFIG_BMW) +#if !defined(CONFIG_MOUSSE) register unsigned long val; CONFIG_WRITE_HALFWORD(PCICR, 0x06); /* Bus Master, respond to PCI memory space acesses*/ /* CONFIG_WRITE_HALFWORD(PCISR, 0xffff); */ /*reset PCISR*/ @@ -321,7 +321,7 @@ cpu_init_f (void) CONFIG_WRITE_WORD(MCCR1, val | MCCR1_MEMGO); /* set memory access going */ __asm__ __volatile__("eieio"); -#endif /* !CONFIG_MOUSSE && !CONFIG_BMW */ +#endif /* !CONFIG_MOUSSE */ } diff --git a/arch/powerpc/cpu/mpc824x/start.S b/arch/powerpc/cpu/mpc824x/start.S index 70db73e156..076df70a9f 100644 --- a/arch/powerpc/cpu/mpc824x/start.S +++ b/arch/powerpc/cpu/mpc824x/start.S @@ -113,9 +113,6 @@ _start: in_flash: -#if defined(CONFIG_BMW) - bl early_init_f /* Must be ASM: no stack yet! */ -#endif /* * Setup BATs - cannot be done in C since we don't have a stack yet */ @@ -126,7 +123,7 @@ in_flash: mfmsr r3 ori r3, r3, (MSR_IR | MSR_DR) mtmsr r3 -#if !defined(CONFIG_BMW) + /* Enable and invalidate data cache. */ mfspr r3, HID0 @@ -158,7 +155,7 @@ in_flash: ori r3, r3, 0x0080 sync mtspr 1011, r3 -#endif /* !CONFIG_BMW */ + /* * Thisk the stack pointer *somewhere* sensible. Doesnt * matter much where as we'll move it when we relocate @@ -498,7 +495,6 @@ relocate_code: bdnz 3b 4: -#if !defined(CONFIG_BMW) /* Unlock the data cache and invalidate locked area */ xor r0, r0, r0 mtspr 1011, r0 @@ -510,7 +506,6 @@ relocate_code: dcbi r0, r4 addi r4, r4, 32 bdnz 41b -#endif /* * Now flush the cache: note that we must start from a cache aligned diff --git a/arch/powerpc/cpu/mpc824x/traps.c b/arch/powerpc/cpu/mpc824x/traps.c index 163b983340..9bcdd8f4ea 100644 --- a/arch/powerpc/cpu/mpc824x/traps.c +++ b/arch/powerpc/cpu/mpc824x/traps.c @@ -46,8 +46,7 @@ extern unsigned long search_exception_table(unsigned long); * Trap & Exception support */ -void -print_backtrace(unsigned long *sp) +static void print_backtrace(unsigned long *sp) { int cnt = 0; unsigned long i; @@ -67,7 +66,7 @@ print_backtrace(unsigned long *sp) printf("\n"); } -void show_regs(struct pt_regs * regs) +void show_regs(struct pt_regs *regs) { int i; @@ -95,16 +94,14 @@ void show_regs(struct pt_regs * regs) } -void -_exception(int signr, struct pt_regs *regs) +static void _exception(int signr, struct pt_regs *regs) { show_regs(regs); print_backtrace((unsigned long *)regs->gpr[1]); panic("Exception in kernel pc %lx signal %d",regs->nip,signr); } -void -MachineCheckException(struct pt_regs *regs) +void MachineCheckException(struct pt_regs *regs) { unsigned long fixup; @@ -142,24 +139,21 @@ MachineCheckException(struct pt_regs *regs) panic("machine check"); } -void -AlignmentException(struct pt_regs *regs) +void AlignmentException(struct pt_regs *regs) { show_regs(regs); print_backtrace((unsigned long *)regs->gpr[1]); panic("Alignment Exception"); } -void -ProgramCheckException(struct pt_regs *regs) +void ProgramCheckException(struct pt_regs *regs) { show_regs(regs); print_backtrace((unsigned long *)regs->gpr[1]); panic("Program Check Exception"); } -void -SoftEmuException(struct pt_regs *regs) +void SoftEmuException(struct pt_regs *regs) { show_regs(regs); print_backtrace((unsigned long *)regs->gpr[1]); @@ -167,8 +161,7 @@ SoftEmuException(struct pt_regs *regs) } -void -UnknownException(struct pt_regs *regs) +void UnknownException(struct pt_regs *regs) { printf("Bad trap at PC: %lx, SR: %lx, vector=%lx\n", regs->nip, regs->msr, regs->trap); @@ -179,8 +172,7 @@ UnknownException(struct pt_regs *regs) extern void do_bedbug_breakpoint(struct pt_regs *); #endif -void -DebugException(struct pt_regs *regs) +void DebugException(struct pt_regs *regs) { printf("Debugger trap at @ %lx\n", regs->nip ); @@ -193,8 +185,7 @@ DebugException(struct pt_regs *regs) /* Probe an address by reading. If not present, return -1, otherwise * return 0. */ -int -addr_probe(uint *addr) +int addr_probe(uint *addr) { #if 0 int retval; diff --git a/arch/powerpc/cpu/mpc824x/u-boot.lds b/arch/powerpc/cpu/mpc824x/u-boot.lds index b30ce76e02..a7130125c7 100644 --- a/arch/powerpc/cpu/mpc824x/u-boot.lds +++ b/arch/powerpc/cpu/mpc824x/u-boot.lds @@ -60,9 +60,11 @@ SECTIONS PROVIDE (edata = .); . = .; - __u_boot_cmd_start = .; - .u_boot_cmd : { *(.u_boot_cmd) } - __u_boot_cmd_end = .; + + . = ALIGN(4); + .u_boot_list : { + #include <u-boot.lst> + } . = .; |