<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/powerpc/platforms, branch linux-2.6.28.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2009-01-18T18:44:05Z</updated>
<entry>
<title>powerpc: Disable Collaborative Memory Manager for kdump</title>
<updated>2009-01-18T18:44:05Z</updated>
<author>
<name>Brian King</name>
</author>
<published>2008-12-18T11:13:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ec7e974f17675e06f4498c08661cdf4d1c4c0146'/>
<id>urn:sha1:ec7e974f17675e06f4498c08661cdf4d1c4c0146</id>
<content type='text'>
commit 2218108e182fd8a6d9106077833ed7ad05fc8e75 upstream.

When running Active Memory Sharing, the Collaborative Memory Manager
(CMM) may mark some pages as "loaned" with the hypervisor.
Periodically, the CMM will query the hypervisor for a loan request,
which is a single signed value.  When kexec'ing into a kdump kernel,
the CMM driver in the kdump kernel is not aware of the pages the
previous kernel had marked as "loaned", so the hypervisor and the CMM
driver are out of sync.  This results in the CMM driver getting a
negative loan request, which can then get treated as a large unsigned
value and can cause kdump to hang due to the CMM driver inflating too
large.  Since there really is no clean way for the CMM driver in the
kdump kernel to clean this up, simply disable CMM in the kdump kernel.
This fixes hangs we were seeing doing kdump with AMS.

Signed-off-by: Brian King &lt;brking@linux.vnet.ibm.com&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>powerpc/cell/axon-msi: Fix MSI after kexec</title>
<updated>2008-12-16T02:48:18Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2008-12-12T09:19:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=23e0e8afafd9ac065d81506524adf3339584044b'/>
<id>urn:sha1:23e0e8afafd9ac065d81506524adf3339584044b</id>
<content type='text'>
Commit d015fe995 'powerpc/cell/axon-msi: Retry on missing interrupt'
has turned a rare failure to kexec on QS22 into a reproducible
error, which we have now analysed.

The problem is that after a kexec, the MSIC hardware still points
into the middle of the old ring buffer.  We set up the ring buffer
during reboot, but not the offset into it.  On older kernels, this
would cause a storm of thousands of spurious interrupts after a
kexec, which would most of the time get dropped silently.

With the new code, we time out on each interrupt, waiting for
it to become valid.  If more interrupts come in that we time
out on, this goes on indefinitely, which eventually leads to
a hard crash.

The solution in this commit is to read the current offset from
the MSIC when reinitializing it.  This now works correctly, as
expected.

Reported-by: Dirk Herrendoerfer &lt;d.herrendoerfer@de.ibm.com&gt;
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Acked-by: Michael Ellerman &lt;michael@ellerman.id.au&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>powerpc/cell: Fix GDB watchpoints, again</title>
<updated>2008-11-30T22:40:18Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2008-11-28T09:51:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=960cedb4e3eedec6394f224fc832c7a23f35a799'/>
<id>urn:sha1:960cedb4e3eedec6394f224fc832c7a23f35a799</id>
<content type='text'>
An earlier patch from Jens Osterkamp attempted to fix GDB
watchpoints by enabling the DABRX register at boot time.
Unfortunately, this did not work on SMP setups, where
secondary CPUs were still using the power-on DABRX value.

This introduces the same change for secondary CPUs on cell
as well.

Reported-by: Ulrich Weigand &lt;Ulrich.Weigand@de.ibm.com&gt;
Tested-by: Ulrich Weigand &lt;Ulrich.Weigand@de.ibm.com&gt;
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>powerpc/cell/axon-msi: Retry on missing interrupt</title>
<updated>2008-11-30T22:40:18Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2008-11-28T09:51:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d015fe9951641b2d869a7ae4a690be2a05a9dc7f'/>
<id>urn:sha1:d015fe9951641b2d869a7ae4a690be2a05a9dc7f</id>
<content type='text'>
The MSI capture logic for the axon bridge can sometimes
lose interrupts in case of high DMA and interrupt load,
when it signals an MSI interrupt to the MPIC interrupt
controller while we are already handling another MSI.

Each MSI vector gets written into a FIFO buffer in main
memory using DMA, and that DMA access is normally flushed
by the actual interrupt packet on the IOIF.  An MMIO
register in the MSIC holds the position of the last
entry in the FIFO buffer that was written.  However,
reading that position does not flush the DMA, so that
we can observe stale data in the buffer.

In a stress test, we have observed the DMA to arrive
up to 14 microseconds after reading the register.

This patch works around this problem by retrying the
access to the FIFO buffer.

We can reliably detect the conditioning by writing
an invalid MSI vector into the FIFO buffer after
reading from it, assuming that all MSIs we get
are valid.  After detecting an invalid MSI vector,
we udelay(1) in the interrupt cascade for up to
100 times before giving up.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs into merge</title>
<updated>2008-11-24T00:54:08Z</updated>
<author>
<name>Paul Mackerras</name>
</author>
<published>2008-11-24T00:54:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3f9b5d4dda6d85aab33fef32e8351ddc34c81fb4'/>
<id>urn:sha1:3f9b5d4dda6d85aab33fef32e8351ddc34c81fb4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>powerpc/spufs: Fix spinning in spufs_ps_fault on signal</title>
<updated>2008-11-20T23:14:16Z</updated>
<author>
<name>Jeremy Kerr</name>
</author>
<published>2008-11-10T23:22:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=606572634c3faa5b32a8fc430266e6e9d78d2179'/>
<id>urn:sha1:606572634c3faa5b32a8fc430266e6e9d78d2179</id>
<content type='text'>
Currently, we can end up in an infinite loop if we get a signal
while the kernel has faulted in spufs_ps_fault. Eg:

 alarm(1);

 write(fd, some_spu_psmap_register_address, 4);

- the write's copy_from_user will fault on the ps mapping, and
signal_pending will be non-zero. Because returning from the fault
handler will never clear TIF_SIGPENDING, so we'll just keep faulting,
resulting in an unkillable process using 100% of CPU.

This change returns VM_FAULT_SIGBUS if there's a fatal signal pending,
letting us escape the loop.

Signed-off-by: Jeremy Kerr &lt;jk@ozlabs.org&gt;
</content>
</entry>
<entry>
<title>powerpc: Fix "unused variable" warning in pci_dlpar.c</title>
<updated>2008-11-05T08:59:08Z</updated>
<author>
<name>Stephen Rothwell</name>
</author>
<published>2008-11-02T21:18:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=454666eb78d890f5740ea1901f8b01a43c77c67c'/>
<id>urn:sha1:454666eb78d890f5740ea1901f8b01a43c77c67c</id>
<content type='text'>
This gets rid of this build warning:

arch/powerpc/platforms/pseries/pci_dlpar.c: In function 'init_phb_dynamic':
arch/powerpc/platforms/pseries/pci_dlpar.c:192: warning: unused variable 'b'

This is one of the very few warnings left in a ppc64_defconfig build and
getting rid of it will make it easier to see future introduced ones (in
fact this was introduced very recently).

Signed-off-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>powerpc/cell: Fix compile error in ras.c</title>
<updated>2008-11-05T08:59:08Z</updated>
<author>
<name>Alexey Dobriyan</name>
</author>
<published>2008-11-02T10:21:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9c8b4aff18b59cd0c2d9a77b3df1f9d7077df90c'/>
<id>urn:sha1:9c8b4aff18b59cd0c2d9a77b3df1f9d7077df90c</id>
<content type='text'>
This fixes this error on Cell when CONFIG_KEXEC = n:

arch/powerpc/platforms/cell/ras.c:299: error: implicit declaration of function 'crash_shutdown_register'

We have to include &lt;asm/kexec.h&gt; because it contains the dummy
definition of crash_shutdown_register that is used when
CONFIG_KEXEC=n, but &lt;linux/kexec.h&gt; doesn't include &lt;asm/kexec.h&gt; in
that case.

Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Signed-off-by: Paul Mackerras &lt;paulus@samba.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc</title>
<updated>2008-10-31T15:14:15Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2008-10-31T15:14:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f891caf28febf9d4129716e848227148654b5993'/>
<id>urn:sha1:f891caf28febf9d4129716e848227148654b5993</id>
<content type='text'>
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (23 commits)
  Revert "powerpc: Sync RPA note in zImage with kernel's RPA note"
  powerpc: Fix compile errors with CONFIG_BUG=n
  powerpc: Fix format string warning in arch/powerpc/boot/main.c
  powerpc: Fix bug in kernel copy of libfdt's fdt_subnode_offset_namelen()
  powerpc: Remove duplicate DMA entry from mpc8313erdb device tree
  powerpc/cell/OProfile: Fix on-stack array size in activate spu profiling function
  powerpc/mpic: Fix regression caused by change of default IRQ affinity
  powerpc: Update remaining dma_mapping_ops to use map/unmap_page
  powerpc/pci: Fix unmapping of IO space on 64-bit
  powerpc/pci: Properly allocate bus resources for hotplug PHBs
  OF-device: Don't overwrite numa_node in device registration
  powerpc: Fix swapcontext system for VSX + old ucontext size
  powerpc: Fix compiler warning for the relocatable kernel
  powerpc: Work around ld bug in older binutils
  powerpc/ppc64/kdump: Better flag for running relocatable
  powerpc: Use is_kdump_kernel()
  powerpc: Kexec exit should not use magic numbers
  powerpc/44x: Update 44x defconfigs
  powerpc/40x: Update 40x defconfigs
  powerpc: enable heap randomization for linkstations
  ...
</content>
</entry>
<entry>
<title>powerpc/mpic: Fix regression caused by change of default IRQ affinity</title>
<updated>2008-10-31T05:13:50Z</updated>
<author>
<name>Kumar Gala</name>
</author>
<published>2008-10-28T18:01:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3c10c9c45e290022ca7d2aa1ad33a0b6ed767520'/>
<id>urn:sha1:3c10c9c45e290022ca7d2aa1ad33a0b6ed767520</id>
<content type='text'>
The Freescale implementation of MPIC only allows a single CPU destination
for non-IPI interrupts.  We add a flag to the mpic_init to distinquish
these variants of MPIC.  We pull in the irq_choose_cpu from sparc64 to
select a single CPU as the destination of the interrupt.

This is to deal with the fact that the default smp affinity was
changed by commit 18404756765c713a0be4eb1082920c04822ce588 ("genirq:
Expose default irq affinity mask (take 3)") to be all CPUs.

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