<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/arch/powerpc/kernel/cpu_setup_ppc970.S, branch v3.0.30</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/arch/powerpc/kernel/cpu_setup_ppc970.S?h=v3.0.30</id>
<link rel='self' href='https://git.amat.us/linux/atom/arch/powerpc/kernel/cpu_setup_ppc970.S?h=v3.0.30'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2008-09-15T18:08:35Z</updated>
<entry>
<title>powerpc: Use LOAD_REG_IMMEDIATE only for constants on 64-bit</title>
<updated>2008-09-15T18:08:35Z</updated>
<author>
<name>Paul Mackerras</name>
<email>paulus@samba.org</email>
</author>
<published>2008-08-30T01:41:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e31aa453bbc4886a7bd33e5c2afa526d6f55bd7a'/>
<id>urn:sha1:e31aa453bbc4886a7bd33e5c2afa526d6f55bd7a</id>
<content type='text'>
Using LOAD_REG_IMMEDIATE to get the address of kernel symbols
generates 5 instructions where LOAD_REG_ADDR can do it in one,
and will generate R_PPC64_ADDR16_* relocations in the output when
we get to making the kernel as a position-independent executable,
which we'd rather not have to handle.  This changes various bits
of assembly code to use LOAD_REG_ADDR when we need to get the
address of a symbol, or to use suitable position-independent code
for cases where we can't access the TOC for various reasons, or
if we're not running at the address we were linked at.

It also cleans up a few minor things; there's no reason to save and
restore SRR0/1 around RTAS calls, __mmu_off can get the return
address from LR more conveniently than the caller can supply it in
R4 (and we already assume elsewhere that EA == RA if the MMU is on
in early boot), and enable_64b_mode was using 5 instructions where
2 would do.

Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] powerpc: Enable DEEPNAP power savings mode on 970MP</title>
<updated>2006-10-16T06:32:25Z</updated>
<author>
<name>Olof Johansson</name>
<email>olof@lixom.net</email>
</author>
<published>2006-10-05T04:41:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5b43d20a4d12d94f258bbbca5fa4df8ff8a17848'/>
<id>urn:sha1:5b43d20a4d12d94f258bbbca5fa4df8ff8a17848</id>
<content type='text'>
Without this patch, on an idle system I get:

cpu-power-0:21.638
cpu-power-1:27.102
cpu-power-2:29.343
cpu-power-3:25.784
Total: 103.8W

With this patch:

cpu-power-0:11.730
cpu-power-1:17.185
cpu-power-2:18.547
cpu-power-3:17.528
Total: 65.0W

If I lower HZ to 100, I can get it as low as:

cpu-power-0:10.938
cpu-power-1:16.021
cpu-power-2:17.245
cpu-power-3:16.145
Total: 60.2W

Another (older) Quad G5 went from 54W to 39W at HZ=250.

Coming back out of Deep Nap takes 40-70 cycles longer than coming back
from just Nap (which already takes quite a while). I don't think it'll
be a performance issue (interrupt latency on an idle system), but in
case someone does measurements feel free to report them.

Signed-off-by: Olof Johansson &lt;olof@lixom.net&gt;
Acked-by: Michael Buesch &lt;mb@bu3sch.de&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'merge'</title>
<updated>2006-08-25T04:56:07Z</updated>
<author>
<name>Paul Mackerras</name>
<email>paulus@samba.org</email>
</author>
<published>2006-08-25T04:56:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ea0763a7e62f60f3e166327268a80f16ad806718'/>
<id>urn:sha1:ea0763a7e62f60f3e166327268a80f16ad806718</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[POWERPC] Cleanup CPU inits</title>
<updated>2006-08-25T03:27:35Z</updated>
<author>
<name>Olof Johansson</name>
<email>olof@lixom.net</email>
</author>
<published>2006-08-11T05:07:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f39b7a55a84e34e3074b168e30dc73b66e85261d'/>
<id>urn:sha1:f39b7a55a84e34e3074b168e30dc73b66e85261d</id>
<content type='text'>
Cleanup CPU inits a bit more, Geoff Levand already did some earlier.

* Move CPU state save to cpu_setup, since cpu_setup is only ever done
  on cpu 0 on 64-bit and save is never done more than once.
* Rename __restore_cpu_setup to __restore_cpu_ppc970 and add
  function pointers to the cputable to use instead. Powermac always
  has 970 so no need to check there.
* Rename __970_cpu_preinit to __cpu_preinit_ppc970 and check PVR before
  calling it instead of in it, it's too early to use cputable.
* Rename pSeries_secondary_smp_init to generic_secondary_smp_init since
  everyone but powermac and iSeries use it.

Signed-off-by: Olof Johansson &lt;olof@lixom.net&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] Rename cpu_setup_power4.S to cpu_setup_ppc970.S</title>
<updated>2006-08-25T03:27:35Z</updated>
<author>
<name>Olof Johansson</name>
<email>olof@lixom.net</email>
</author>
<published>2006-08-11T05:03:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2e97425197ecf85641a89e5a4868f8e147cc443f'/>
<id>urn:sha1:2e97425197ecf85641a89e5a4868f8e147cc443f</id>
<content type='text'>
Rename cpu_setup_power4.S to cpu_setup_ppc970.S, since that's
really what it is.

No functional or other changes.

Signed-off-by: Olof Johansson &lt;olof@lixom.net&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
</feed>
