Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 4238
b: refs/heads/master
c: 62d60e9
h: refs/heads/master
v: v3
  • Loading branch information
Michael Ellerman authored and Linus Torvalds committed Jul 8, 2005
1 parent ea79928 commit db63c92
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c66d5dd6b5b62e1435b95c0fb42f6bcddeb395ea
refs/heads/master: 62d60e9f0f890c31e5a83a7d8ecdfd1c7975fdb9
1 change: 1 addition & 0 deletions trunk/arch/ppc64/kernel/iSeries_setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -940,5 +940,6 @@ void __init iSeries_early_setup(void)
ppc_md.get_rtc_time = iSeries_get_rtc_time;
ppc_md.calibrate_decr = iSeries_calibrate_decr;
ppc_md.progress = iSeries_progress;
ppc_md.idle_loop = iSeries_idle;
}

3 changes: 3 additions & 0 deletions trunk/arch/ppc64/kernel/maple_setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,8 @@ void __init maple_setup_arch(void)
#ifdef CONFIG_DUMMY_CONSOLE
conswitchp = &dummy_con;
#endif

printk(KERN_INFO "Using native/NAP idle loop\n");
}

/*
Expand Down Expand Up @@ -297,4 +299,5 @@ struct machdep_calls __initdata maple_md = {
.get_rtc_time = maple_get_rtc_time,
.calibrate_decr = generic_calibrate_decr,
.progress = maple_progress,
.idle_loop = native_idle,
};
18 changes: 18 additions & 0 deletions trunk/arch/ppc64/kernel/pSeries_setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
#undef DEBUG

#include <linux/config.h>
#include <linux/cpu.h>
#include <linux/errno.h>
#include <linux/sched.h>
#include <linux/kernel.h>
Expand Down Expand Up @@ -82,6 +83,9 @@ int fwnmi_active; /* TRUE if an FWNMI handler is present */
extern void pSeries_system_reset_exception(struct pt_regs *regs);
extern int pSeries_machine_check_exception(struct pt_regs *regs);

static int shared_idle(void);
static int dedicated_idle(void);

static volatile void __iomem * chrp_int_ack_special;
struct mpic *pSeries_mpic;

Expand Down Expand Up @@ -229,6 +233,20 @@ static void __init pSeries_setup_arch(void)

if (cur_cpu_spec->firmware_features & FW_FEATURE_SPLPAR)
vpa_init(boot_cpuid);

/* Choose an idle loop */
if (cur_cpu_spec->firmware_features & FW_FEATURE_SPLPAR) {
if (get_paca()->lppaca.shared_proc) {
printk(KERN_INFO "Using shared processor idle loop\n");
ppc_md.idle_loop = shared_idle;
} else {
printk(KERN_INFO "Using dedicated idle loop\n");
ppc_md.idle_loop = dedicated_idle;
}
} else {
printk(KERN_INFO "Using default idle loop\n");
ppc_md.idle_loop = default_idle;
}
}

static int __init pSeries_init_panel(void)
Expand Down
5 changes: 4 additions & 1 deletion trunk/arch/ppc64/kernel/pmac_setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,8 @@ void __init pmac_setup_arch(void)
#ifdef CONFIG_DUMMY_CONSOLE
conswitchp = &dummy_con;
#endif

printk(KERN_INFO "Using native/NAP idle loop\n");
}

#ifdef CONFIG_SCSI
Expand Down Expand Up @@ -507,5 +509,6 @@ struct machdep_calls __initdata pmac_md = {
.calibrate_decr = pmac_calibrate_decr,
.feature_call = pmac_do_feature_call,
.progress = pmac_progress,
.check_legacy_ioport = pmac_check_legacy_ioport
.check_legacy_ioport = pmac_check_legacy_ioport,
.idle_loop = native_idle,
};

0 comments on commit db63c92

Please sign in to comment.