Merge branch 'for_paulus' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/powerpc
This commit is contained in:
commit
f18dd516d4
|
@ -50,7 +50,6 @@
|
||||||
#include <asm/kgdb.h>
|
#include <asm/kgdb.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern void platform_init(void);
|
|
||||||
extern void bootx_init(unsigned long r4, unsigned long phys);
|
extern void bootx_init(unsigned long r4, unsigned long phys);
|
||||||
|
|
||||||
boot_infos_t *boot_infos;
|
boot_infos_t *boot_infos;
|
||||||
|
@ -138,12 +137,7 @@ void __init machine_init(unsigned long dt_ptr, unsigned long phys)
|
||||||
strlcpy(cmd_line, CONFIG_CMDLINE, sizeof(cmd_line));
|
strlcpy(cmd_line, CONFIG_CMDLINE, sizeof(cmd_line));
|
||||||
#endif /* CONFIG_CMDLINE */
|
#endif /* CONFIG_CMDLINE */
|
||||||
|
|
||||||
#ifdef CONFIG_PPC_MULTIPLATFORM
|
|
||||||
probe_machine();
|
probe_machine();
|
||||||
#else
|
|
||||||
/* Base init based on machine type. Obsoloete, please kill ! */
|
|
||||||
platform_init();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_6xx
|
#ifdef CONFIG_6xx
|
||||||
if (cpu_has_feature(CPU_FTR_CAN_DOZE) ||
|
if (cpu_has_feature(CPU_FTR_CAN_DOZE) ||
|
||||||
|
|
|
@ -228,7 +228,7 @@ void system_reset_exception(struct pt_regs *regs)
|
||||||
*/
|
*/
|
||||||
static inline int check_io_access(struct pt_regs *regs)
|
static inline int check_io_access(struct pt_regs *regs)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_PPC_PMAC
|
#if defined(CONFIG_PPC_PMAC) && defined(CONFIG_PPC32)
|
||||||
unsigned long msr = regs->msr;
|
unsigned long msr = regs->msr;
|
||||||
const struct exception_table_entry *entry;
|
const struct exception_table_entry *entry;
|
||||||
unsigned int *nip = (unsigned int *)regs->nip;
|
unsigned int *nip = (unsigned int *)regs->nip;
|
||||||
|
@ -261,7 +261,7 @@ static inline int check_io_access(struct pt_regs *regs)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_PPC_PMAC */
|
#endif /* CONFIG_PPC_PMAC && CONFIG_PPC32 */
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -308,8 +308,8 @@ platform_machine_check(struct pt_regs *regs)
|
||||||
|
|
||||||
void machine_check_exception(struct pt_regs *regs)
|
void machine_check_exception(struct pt_regs *regs)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_PPC64
|
|
||||||
int recover = 0;
|
int recover = 0;
|
||||||
|
unsigned long reason = get_mc_reason(regs);
|
||||||
|
|
||||||
/* See if any machine dependent calls */
|
/* See if any machine dependent calls */
|
||||||
if (ppc_md.machine_check_exception)
|
if (ppc_md.machine_check_exception)
|
||||||
|
@ -317,8 +317,6 @@ void machine_check_exception(struct pt_regs *regs)
|
||||||
|
|
||||||
if (recover)
|
if (recover)
|
||||||
return;
|
return;
|
||||||
#else
|
|
||||||
unsigned long reason = get_mc_reason(regs);
|
|
||||||
|
|
||||||
if (user_mode(regs)) {
|
if (user_mode(regs)) {
|
||||||
regs->msr |= MSR_RI;
|
regs->msr |= MSR_RI;
|
||||||
|
@ -462,7 +460,6 @@ void machine_check_exception(struct pt_regs *regs)
|
||||||
* additional info, e.g. bus error registers.
|
* additional info, e.g. bus error registers.
|
||||||
*/
|
*/
|
||||||
platform_machine_check(regs);
|
platform_machine_check(regs);
|
||||||
#endif /* CONFIG_PPC64 */
|
|
||||||
|
|
||||||
if (debugger_fault_handler(regs))
|
if (debugger_fault_handler(regs))
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -158,25 +158,25 @@ static int __init mpc834x_rtc_hookup(void)
|
||||||
late_initcall(mpc834x_rtc_hookup);
|
late_initcall(mpc834x_rtc_hookup);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void __init platform_init(void)
|
/*
|
||||||
|
* Called very early, MMU is off, device-tree isn't unflattened
|
||||||
|
*/
|
||||||
|
static int __init mpc834x_sys_probe(void)
|
||||||
{
|
{
|
||||||
/* setup the PowerPC module struct */
|
/* We always match for now, eventually we should look at the flat
|
||||||
ppc_md.setup_arch = mpc834x_sys_setup_arch;
|
dev tree to ensure this is the board we are suppose to run on
|
||||||
|
*/
|
||||||
ppc_md.init_IRQ = mpc834x_sys_init_IRQ;
|
return 1;
|
||||||
ppc_md.get_irq = ipic_get_irq;
|
|
||||||
|
|
||||||
ppc_md.restart = mpc83xx_restart;
|
|
||||||
|
|
||||||
ppc_md.time_init = mpc83xx_time_init;
|
|
||||||
ppc_md.set_rtc_time = NULL;
|
|
||||||
ppc_md.get_rtc_time = NULL;
|
|
||||||
ppc_md.calibrate_decr = generic_calibrate_decr;
|
|
||||||
|
|
||||||
ppc_md.progress = udbg_progress;
|
|
||||||
|
|
||||||
if (ppc_md.progress)
|
|
||||||
ppc_md.progress("mpc834x_sys_init(): exit", 0);
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
define_machine(mpc834x_sys) {
|
||||||
|
.name = "MPC834x SYS",
|
||||||
|
.probe = mpc834x_sys_probe,
|
||||||
|
.setup_arch = mpc834x_sys_setup_arch,
|
||||||
|
.init_IRQ = mpc834x_sys_init_IRQ,
|
||||||
|
.get_irq = ipic_get_irq,
|
||||||
|
.restart = mpc83xx_restart,
|
||||||
|
.time_init = mpc83xx_time_init,
|
||||||
|
.calibrate_decr = generic_calibrate_decr,
|
||||||
|
.progress = udbg_progress,
|
||||||
|
};
|
||||||
|
|
|
@ -220,25 +220,25 @@ void mpc85xx_ads_show_cpuinfo(struct seq_file *m)
|
||||||
seq_printf(m, "Memory\t\t: %d MB\n", memsize / (1024 * 1024));
|
seq_printf(m, "Memory\t\t: %d MB\n", memsize / (1024 * 1024));
|
||||||
}
|
}
|
||||||
|
|
||||||
void __init platform_init(void)
|
/*
|
||||||
|
* Called very early, device-tree isn't unflattened
|
||||||
|
*/
|
||||||
|
static int __init mpc85xx_ads_probe(void)
|
||||||
{
|
{
|
||||||
ppc_md.setup_arch = mpc85xx_ads_setup_arch;
|
/* We always match for now, eventually we should look at the flat
|
||||||
ppc_md.show_cpuinfo = mpc85xx_ads_show_cpuinfo;
|
dev tree to ensure this is the board we are suppose to run on
|
||||||
|
*/
|
||||||
ppc_md.init_IRQ = mpc85xx_ads_pic_init;
|
return 1;
|
||||||
ppc_md.get_irq = mpic_get_irq;
|
|
||||||
|
|
||||||
ppc_md.restart = mpc85xx_restart;
|
|
||||||
ppc_md.power_off = NULL;
|
|
||||||
ppc_md.halt = NULL;
|
|
||||||
|
|
||||||
ppc_md.time_init = NULL;
|
|
||||||
ppc_md.set_rtc_time = NULL;
|
|
||||||
ppc_md.get_rtc_time = NULL;
|
|
||||||
ppc_md.calibrate_decr = generic_calibrate_decr;
|
|
||||||
|
|
||||||
ppc_md.progress = udbg_progress;
|
|
||||||
|
|
||||||
if (ppc_md.progress)
|
|
||||||
ppc_md.progress("mpc85xx_ads platform_init(): exit", 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
define_machine(mpc85xx_ads) {
|
||||||
|
.name = "MPC85xx ADS",
|
||||||
|
.probe = mpc85xx_ads_probe,
|
||||||
|
.setup_arch = mpc85xx_ads_setup_arch,
|
||||||
|
.init_IRQ = mpc85xx_ads_pic_init,
|
||||||
|
.show_cpuinfo = mpc85xx_ads_show_cpuinfo,
|
||||||
|
.get_irq = mpic_get_irq,
|
||||||
|
.restart = mpc85xx_restart,
|
||||||
|
.calibrate_decr = generic_calibrate_decr,
|
||||||
|
.progress = udbg_progress,
|
||||||
|
};
|
||||||
|
|
Loading…
Reference in a new issue