Now that we're no longer updating the hid0 register in the idle loop, we can enable idle for G5.
ok? Index: macppc/cpu.c =================================================================== RCS file: /cvs/src/sys/arch/macppc/macppc/cpu.c,v retrieving revision 1.76 diff -u -p -r1.76 cpu.c --- macppc/cpu.c 6 Sep 2014 10:15:52 -0000 1.76 +++ macppc/cpu.c 6 Sep 2014 10:46:45 -0000 @@ -371,8 +371,8 @@ cpuattach(struct device *parent, struct } /* power savings mode */ - if (ppc_proc_is_64b == 0) - hid0 = ppc_mfhid0(); + hid0 = ppc_mfhid0(); + switch (cpu) { case PPC_CPU_MPC603: case PPC_CPU_MPC603e: @@ -403,14 +403,19 @@ cpuattach(struct device *parent, struct break; case PPC_CPU_IBM970: case PPC_CPU_IBM970FX: - case PPC_CPU_IBM970MP: /* select NAP mode */ - hid0 &= ~(HID0_NAP | HID0_DOZE | HID0_SLEEP); - hid0 |= HID0_DPM; + hid0 &= ~(HID0_DOZE | HID0_DEEPNAP); + hid0 |= HID0_NAP | HID0_DPM; + ppc_cpuidle = 1; + break; + case PPC_CPU_IBM970MP: + /* select DEEPNAP mode, which requires NAP */ + hid0 &= ~HID0_DOZE; + hid0 |= HID0_DEEPNAP | HID0_NAP | HID0_DPM; + ppc_cpuidle = 1; break; } - if (ppc_proc_is_64b == 0) - ppc_mthid0(hid0); + ppc_mthid0(hid0); /* if processor is G3 or G4, configure L2 cache */ switch (cpu) {