<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/powerpc/kernel/asm-offsets.c, branch linux-2.6.19.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.19.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.19.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2006-09-14T00:36:11Z</updated>
<entry>
<title>[POWERPC] Fix non-smp build</title>
<updated>2006-09-14T00:36:11Z</updated>
<author>
<name>Olof Johansson</name>
</author>
<published>2006-09-13T18:32:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f04da0bc36566ad17cf21e4ac8dbae377ca1dc75'/>
<id>urn:sha1:f04da0bc36566ad17cf21e4ac8dbae377ca1dc75</id>
<content type='text'>
This fixes a compile error that only surfaces on CONFIG_SMP=n builds;
&lt;asm/hvcall.h&gt; seems to get pulled in through another header file for
SMP builds.  This problem was introduced by the hvcall stats patch.

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] powerpc: Instrument Hypervisor Calls</title>
<updated>2006-09-13T08:39:53Z</updated>
<author>
<name>Mike Kravetz</name>
</author>
<published>2006-09-06T23:23:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=57852a853b0d6761f270be0961d5d8387e98c8bb'/>
<id>urn:sha1:57852a853b0d6761f270be0961d5d8387e98c8bb</id>
<content type='text'>
Add instrumentation for hypervisor calls on pseries.  Call statistics
include number of calls, wall time and cpu cycles (if available) and
are made available via debugfs.  Instrumentation code is behind the
HCALL_STATS config option and has no impact if not enabled.

Signed-off-by: Mike Kravetz &lt;kravetz@us.ibm.com&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] Cleanup CPU inits</title>
<updated>2006-08-25T03:27:35Z</updated>
<author>
<name>Olof Johansson</name>
</author>
<published>2006-08-11T05:07:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/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] SLB shadow buffer cleanup</title>
<updated>2006-08-25T03:17:08Z</updated>
<author>
<name>Michael Neuling</name>
</author>
<published>2006-08-09T07:00:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=11a27ad782fc7ae4b7d6ac8fefad4ceb415300d6'/>
<id>urn:sha1:11a27ad782fc7ae4b7d6ac8fefad4ceb415300d6</id>
<content type='text'>
Cleanup some of the #define magic as suggested by Milton.

Signed-off-by: Michael Neuling &lt;mikey@neuling.org&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] Implement SLB shadow buffer</title>
<updated>2006-08-08T07:08:56Z</updated>
<author>
<name>Michael Neuling</name>
</author>
<published>2006-08-07T06:19:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2f6093c84730b4bad65bcd0f2f904a5769b1dfc5'/>
<id>urn:sha1:2f6093c84730b4bad65bcd0f2f904a5769b1dfc5</id>
<content type='text'>
This adds a shadow buffer for the SLBs and regsiters it with PHYP.
Only the bolted SLB entries (top 3) are shadowed.

The SLB shadow buffer tells the hypervisor what the kernel needs to
have in the SLB for the kernel to be able to function.  The hypervisor
can use this information to speed up partition context switches.

Signed-off-by: Michael Neuling &lt;mikey@neuling.org&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>[POWERPC] iseries: Remove unnecessary include of iseries/hv_lp_event.h</title>
<updated>2006-07-13T08:56:56Z</updated>
<author>
<name>Stephen Rothwell</name>
</author>
<published>2006-07-13T08:56:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=54f5cd8afa1c9c9f8b152a946b0a7e0ecdef1631'/>
<id>urn:sha1:54f5cd8afa1c9c9f8b152a946b0a7e0ecdef1631</id>
<content type='text'>
Also remove unnecessary reference to struct HvLpEvent.

Signed-off-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
</content>
</entry>
<entry>
<title>Remove obsolete #include &lt;linux/config.h&gt;</title>
<updated>2006-06-30T17:25:36Z</updated>
<author>
<name>Jörn Engel</name>
</author>
<published>2006-06-30T17:25:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6ab3d5624e172c553004ecc862bfeac16d9d68b7'/>
<id>urn:sha1:6ab3d5624e172c553004ecc862bfeac16d9d68b7</id>
<content type='text'>
Signed-off-by: Jörn Engel &lt;joern@wohnheim.fh-wedel.de&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>powerpc: Use 64k pages without needing cache-inhibited large pages</title>
<updated>2006-06-15T00:45:18Z</updated>
<author>
<name>Paul Mackerras</name>
</author>
<published>2006-06-15T00:45:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bf72aeba2ffef599d1d386425c9e46b82be657cd'/>
<id>urn:sha1:bf72aeba2ffef599d1d386425c9e46b82be657cd</id>
<content type='text'>
Some POWER5+ machines can do 64k hardware pages for normal memory but
not for cache-inhibited pages.  This patch lets us use 64k hardware
pages for most user processes on such machines (assuming the kernel
has been configured with CONFIG_PPC_64K_PAGES=y).  User processes
start out using 64k pages and get switched to 4k pages if they use any
non-cacheable mappings.

With this, we use 64k pages for the vmalloc region and 4k pages for
the imalloc region.  If anything creates a non-cacheable mapping in
the vmalloc region, the vmalloc region will get switched to 4k pages.
I don't know of any driver other than the DRM that would do this,
though, and these machines don't have AGP.

When a region gets switched from 64k pages to 4k pages, we do not have
to clear out all the 64k HPTEs from the hash table immediately.  We
use the _PAGE_COMBO bit in the Linux PTE to indicate whether the page
was hashed in as a 64k page or a set of 4k pages.  If hash_page is
trying to insert a 4k page for a Linux PTE and it sees that it has
already been inserted as a 64k page, it first invalidates the 64k HPTE
before inserting the 4k HPTE.  The hash invalidation routines also use
the _PAGE_COMBO bit, to determine whether to look for a 64k HPTE or a
set of 4k HPTEs to remove.  With those two changes, we can tolerate a
mix of 4k and 64k HPTEs in the hash table, and they will all get
removed when the address space is torn down.

Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>powerpc: Remove unused paca-&gt;pgdir field</title>
<updated>2006-06-12T08:38:21Z</updated>
<author>
<name>Paul Mackerras</name>
</author>
<published>2006-06-12T08:38:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=430644312810645a6e05855db50a978df9ba3ad3'/>
<id>urn:sha1:430644312810645a6e05855db50a978df9ba3ad3</id>
<content type='text'>
The pgdir field in the paca was a leftover from the dynamic VSIDs
patch, and is not used in the current kernel code.  This removes it.

Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>powerpc: Use correct sequence for putting CPU into nap mode</title>
<updated>2006-04-18T11:49:11Z</updated>
<author>
<name>Paul Mackerras</name>
</author>
<published>2006-04-18T11:49:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f39224a8c1828bdd327539da72a53d8a13595838'/>
<id>urn:sha1:f39224a8c1828bdd327539da72a53d8a13595838</id>
<content type='text'>
We weren't using the recommended sequence for putting the CPU into
nap mode.  When I changed the idle loop, for some reason 7447A cpus
started hanging when we put them into nap mode.  Changing to the
recommended sequence fixes that.

The complexity here is that the recommended sequence is a loop that
keeps putting the cpu back into nap mode.  Clearly we need some way
to break out of the loop when an interrupt (external interrupt,
decrementer, performance monitor) occurs.  Here we use a bit in
the thread_info struct to indicate that we need this, and the exception
entry code notices this and arranges for the exception to return
to the value in the link register, thus breaking out of the loop.
We use a new `local_flags' field in the thread_info which we can
alter without needing to use an atomic update sequence.

The PPC970 has the same recommended sequence, so we do the same thing
there too.

This also fixes a bug in the kernel stack overflow handling code on
32-bit, since it was causing a value that we needed in a register to
get trashed.

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