<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/arch/powerpc/kernel, branch v3.0.30</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/arch/powerpc/kernel?h=v3.0.30</id>
<link rel='self' href='https://git.amat.us/linux/atom/arch/powerpc/kernel?h=v3.0.30'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-03-01T00:33:39Z</updated>
<entry>
<title>powerpc/perf: power_pmu_start restores incorrect values, breaking frequency events</title>
<updated>2012-03-01T00:33:39Z</updated>
<author>
<name>Anton Blanchard</name>
<email>anton@samba.org</email>
</author>
<published>2012-02-15T18:48:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=49f936fe90802f0923f47d28f755c83d358feac9'/>
<id>urn:sha1:49f936fe90802f0923f47d28f755c83d358feac9</id>
<content type='text'>
commit 9a45a9407c69d068500923480884661e2b9cc421 upstream.

perf on POWER stopped working after commit e050e3f0a71b (perf: Fix
broken interrupt rate throttling). That patch exposed a bug in
the POWER perf_events code.

Since the PMCs count upwards and take an exception when the top bit
is set, we want to write 0x80000000 - left in power_pmu_start. We were
instead programming in left which effectively disables the counter
until we eventually hit 0x80000000. This could take seconds or longer.

With the patch applied I get the expected number of samples:

          SAMPLE events:       9948

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
Acked-by: Paul Mackerras &lt;paulus@samba.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>powerpc/time: Handle wrapping of decrementer</title>
<updated>2012-01-12T19:35:02Z</updated>
<author>
<name>Anton Blanchard</name>
<email>anton@samba.org</email>
</author>
<published>2011-11-23T20:07:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bfaebb8af017d443937022cf3d5735d726e4f711'/>
<id>urn:sha1:bfaebb8af017d443937022cf3d5735d726e4f711</id>
<content type='text'>
commit 37fb9a0231ee43d42d069863bdfd567fca2b61af upstream.

When re-enabling interrupts we have code to handle edge sensitive
decrementers by resetting the decrementer to 1 whenever it is negative.
If interrupts were disabled long enough that the decrementer wrapped to
positive we do nothing. This means interrupts can be delayed for a long
time until it finally goes negative again.

While we hope interrupts are never be disabled long enough for the
decrementer to go positive, we have a very good test team that can
drive any kernel into the ground. The softlockup data we get back
from these fails could be seconds in the future, completely missing
the cause of the lockup.

We already keep track of the timebase of the next event so use that
to work out if we should trigger a decrementer exception.

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>powerpc: Copy down exception vectors after feature fixups</title>
<updated>2011-11-21T22:31:25Z</updated>
<author>
<name>Anton Blanchard</name>
<email>anton@samba.org</email>
</author>
<published>2011-11-14T12:54:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=214af5d355ce204cd0bcf630245cdc37853cb484'/>
<id>urn:sha1:214af5d355ce204cd0bcf630245cdc37853cb484</id>
<content type='text'>
commit d715e433b7ad19c02fc4becf0d5e9a59f97925de upstream.

kdump fails because we try to execute an HV only instruction. Feature
fixups are being applied after we copy the exception vectors down to 0
so they miss out on any updates.

We have always had this issue but it only became critical in v3.0
when we added CFAR support (breaks POWER5) and v3.1 when we added
POWERNV (breaks everyone).

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>powerpc: Fix device tree claim code</title>
<updated>2011-08-16T01:31:42Z</updated>
<author>
<name>Anton Blanchard</name>
<email>anton@samba.org</email>
</author>
<published>2011-07-25T20:47:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fea59f95cf352d62255e86ec0b8d81c6bcf75622'/>
<id>urn:sha1:fea59f95cf352d62255e86ec0b8d81c6bcf75622</id>
<content type='text'>
commit 966728dd88b4026ec58fee169ccceaeaf56ef120 upstream.

I have a box that fails in OF during boot with:

DEFAULT CATCH!, exception-handler=fff00400
at   %SRR0: 49424d2c4c6f6768   %SRR1: 800000004000b002

ie "IBM,Logh". OF got corrupted with a device tree string.

Looking at make_room and alloc_up, we claim the first chunk (1 MB)
but we never claim any more. mem_end is always set to alloc_top
which is the top of our available address space, guaranteeing we will
never call alloc_up and claim more memory.

Also alloc_up wasn't setting alloc_bottom to the bottom of the
available address space.

This doesn't help the box to boot, but we at least fail with
an obvious error. We could relocate the device tree in a future
patch.

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>powerpc/kdump: Fix timeout in crash_kexec_wait_realmode</title>
<updated>2011-08-05T04:58:37Z</updated>
<author>
<name>Michael Neuling</name>
<email>mikey@neuling.org</email>
</author>
<published>2011-07-04T20:40:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4a3422bb0a18340c145ebd3f3ca19d1114f9fa08'/>
<id>urn:sha1:4a3422bb0a18340c145ebd3f3ca19d1114f9fa08</id>
<content type='text'>
commit 63f21a56f1cc0b800a4c00349c59448f82473d19 upstream.

The existing code it pretty ugly.  How about we clean it up even more
like this?

From: Anton Blanchard &lt;anton@samba.org&gt;

We check for timeout expiry in the outer loop, but we also need to
check it in the inner loop or we can lock up forever waiting for a
CPU to hit real mode.

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
Signed-off-by: Michael Neuling &lt;mikey@neuling.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>irq_work, ppc: Fix up arch hooks</title>
<updated>2011-08-05T04:58:35Z</updated>
<author>
<name>Peter Zijlstra</name>
<email>a.p.zijlstra@chello.nl</email>
</author>
<published>2011-06-27T15:22:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=70c964e8a1baa869b7cc0b5af1b1514199e8ffc0'/>
<id>urn:sha1:70c964e8a1baa869b7cc0b5af1b1514199e8ffc0</id>
<content type='text'>
commit 4f8b50bbbe63ae4ec6bea28a90a9a603c745ea71 upstream.

Commit e360adbe29 ("irq_work: Add generic hardirq context
callbacks") fouled up the ppc bit, not properly naming the
arch specific function that raises the 'self-IPI'.

Cc: Huang Ying &lt;ying.huang@intel.com&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Anton Blanchard &lt;anton@samba.org&gt;
Cc: Eric B Munson &lt;emunson@mgebm.net&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Link: http://lkml.kernel.org/n/tip-eg0aqien8p1aqvzu9dft6dtv@git.kernel.org
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>arch/powerpc: use printk_ratelimited instead of printk_ratelimit</title>
<updated>2011-06-29T05:31:01Z</updated>
<author>
<name>Christian Dietrich</name>
<email>christian.dietrich@informatik.uni-erlangen.de</email>
</author>
<published>2011-06-04T05:36:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=76462232c21dc011462522387ddad0598a4f11e4'/>
<id>urn:sha1:76462232c21dc011462522387ddad0598a4f11e4</id>
<content type='text'>
Since printk_ratelimit() shouldn't be used anymore (see comment in
include/linux/printk.h), replace it with printk_ratelimited.

Signed-off-by: Christian Dietrich &lt;christian.dietrich@informatik.uni-erlangen.de&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc/rtas-rtc: remove sideeffects of printk_ratelimit</title>
<updated>2011-06-29T05:30:43Z</updated>
<author>
<name>Christian Dietrich</name>
<email>christian.dietrich@informatik.uni-erlangen.de</email>
</author>
<published>2011-06-04T05:35:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9a8f99fab02db296815d7f0ae8ba8ce169df0063'/>
<id>urn:sha1:9a8f99fab02db296815d7f0ae8ba8ce169df0063</id>
<content type='text'>
Don't use printk_ratelimit() as an additional condition for returning
on an error. Because when the ratelimit is reached, printk_ratelimit
will return 0 and e.g. in rtas_get_boot_time won't check for an error
condition.

Signed-off-by: Christian Dietrich &lt;christian.dietrich@informatik.uni-erlangen.de&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc/e500: fix breakage with fsl_rio_mcheck_exception</title>
<updated>2011-06-22T11:15:16Z</updated>
<author>
<name>Scott Wood</name>
<email>scottwood@freescale.com</email>
</author>
<published>2011-06-16T19:09:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=82a9a4809f4cb4ce3f17da99a8150df8455fa096'/>
<id>urn:sha1:82a9a4809f4cb4ce3f17da99a8150df8455fa096</id>
<content type='text'>
The wrong MCSR bit was being used on e500mc.  MCSR_BUS_RBERR only exists
on e500v1/v2.  Use MCSR_LD on e500mc, and remove all MCSR checking
in fsl_rio_mcheck_exception as we now no longer call that function
if the appropriate bit in MCSR is not set.

If RIO support was enabled at compile-time, but was never probed, just
return from fsl_rio_mcheck_exception rather than dereference a NULL
pointer.

TODO: There is still a remaining, though comparitively minor, issue in
that this recovery mechanism will falsely engage if there's an unrelated
MCSR_LD event at the same time as a RIO error.

Signed-off-by: Scott Wood &lt;scottwood@freescale.com&gt;
Signed-off-by: Kumar Gala &lt;galak@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc: Force page alignment for initrd reserved memory</title>
<updated>2011-06-09T06:52:38Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
<email>benh@kernel.crashing.org</email>
</author>
<published>2011-06-09T06:52:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=307cfe715344e15eda12dad3bb14f794115ca823'/>
<id>urn:sha1:307cfe715344e15eda12dad3bb14f794115ca823</id>
<content type='text'>
When using 64K pages with a separate cpio rootfs, U-Boot will align
the rootfs on a 4K page boundary. When the memory is reserved, and
subsequent early memblock_alloc is called, it will allocate memory
between the 64K page alignment and reserved memory. When the reserved
memory is subsequently freed, it is done so by pages, causing the
early memblock_alloc requests to be re-used, which in my case, caused
the device-tree to be clobbered.

This patch forces the reserved memory for initrd to be kernel page
aligned, and will move the device tree if it overlaps with the range
extension of initrd. This patch will also consolidate the identical
function free_initrd_mem() from mm/init_32.c, init_64.c to mm/mem.c,
and adds the same range extension when freeing initrd. free_initrd_mem()
is also moved to the __init section.

Many thanks to Milton Miller for his input on this patch.

[BenH: Fixed build without CONFIG_BLK_DEV_INITRD]

Signed-off-by: Dave Carroll &lt;dcarroll@astekcorp.com&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
</feed>
