[Cbe-oss-dev] linux-2.6.18-arnd5

Arnd Bergmann arnd.bergmann at de.ibm.com
Sat Oct 21 06:06:29 EST 2006


I've uploaded a new snapshot of the cell kernel patches to
kernel.org/pub/linux/kernel/people/arnd/patches/2.6.18-arnd5/.

Changes from last week include an update to the powerpc
patches that were merged in 2.6.19-rc2, benh's updated
AXON support and new spufs functionality from Dwayne
McConnell for better gdb support.

The full changelog follows.

	Arnd <><


====== netdev-fix.diff ======
Subject: [PATCH] spidernet: Use pci_dma_mapping_error()
From: Olof Johansson <olof at lixom.net>

A driver shouldn't compare to DMA_ERROR_CODE directly, use
pci_dma_mapping_error() instead.

Signed-off-by: Olof Johansson <olof at lixom.net>

---
diffstat:
 spider_net.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

====== netdev-submitted.diff ======
commit f23f79743e1c17a0c2f3fbb28fae67d47ac6812f
Author: Linas Vepstas <linas at austin.ibm.com>
Date:   Tue Oct 10 16:23:24 2006 -0500

    [PATCH] powerpc/cell spidernet DMA coalescing
    
    The current driver code performs 512 DMA mappns of a bunch of
    32-byte structures. This is silly, as they are all in contiguous
    memory. Ths patch changes the code to DMA map the entie area
    with just one call.
    
    Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
    Cc: James K Lewis <jklewis at us.ibm.com>
    Cc: Arnd Bergmann <arnd at arndb.de>

commit 16f8395a8d7f648a5d0ffbf31d7bb59e81394b3b
Author: Linas Vepstas <linas at austin.ibm.com>
Date:   Tue Oct 10 16:22:29 2006 -0500

    [PATCH] powerpc/cell spidernet release all descrs
    
    Bugfix: rx descriptor release function fails to visit
    the last entry while walking receive descriptor ring.
    
    Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
    Cc: James K Lewis <jklewis at us.ibm.com>
    Cc: Arnd Bergmann <arnd at arndb.de>

commit e7a3db262e0ab92c5275bead26999df49bb71ee3
Author: Linas Vepstas <linas at austin.ibm.com>
Date:   Tue Oct 10 16:21:10 2006 -0500

    [PATCH] powerpc/cell spidernet DMA direction fix
    
    The ring buffer descriptors are DMA-accessed bidirectionally,
    but are not declared in this way.  Fix this.
    
    Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
    Cc: James K Lewis <jklewis at us.ibm.com>
    Cc: Arnd Bergmann <arnd at arndb.de>

commit d7e20cb5f150a7e7ec0b94d813ffbec4e9370be6
Author: Linas Vepstas <linas at austin.ibm.com>
Date:   Tue Oct 10 16:19:34 2006 -0500

    [PATCH] powerpc/cell spidernet variable name change
    
    Cosmetic patch: give the variable holding the numer of descriptors
    a more descriptive name, so to avoid confusion.
    
    Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
    Cc: James K Lewis <jklewis at us.ibm.com>
    Cc: Arnd Bergmann <arnd at arndb.de>

commit ec4f536d1bc0e8b0d64c476e253e1d617635cb0e
Author: Linas Vepstas <linas at austin.ibm.com>
Date:   Tue Oct 10 16:18:18 2006 -0500

    [PATCH] powerpc/cell spidernet reduce DMA kicking
    
    The current code attempts to start the TX dma every time a packet
    is queued. This is too conservative, and wastes CPU time. This
    patch changes behaviour to call the kick-dma function less often,
    only when the tx queue is at risk of emptying.
    
    This reduces cpu usage, improves performance.
    
    Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
    Cc: James K Lewis <jklewis at us.ibm.com>
    Cc: Arnd Bergmann <arnd at arndb.de>

commit f90c0e7350dd400bbe3b66cb53f39a881bfcf566
Author: Linas Vepstas <linas at austin.ibm.com>
Date:   Tue Oct 10 16:15:29 2006 -0500

    [PATCH] powerpc/cell spidernet
    
    Remove a dummy register read that is not needed.
    This reduces CPU usage notably during transmit.
    
    Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
    Cc: Arnd Bergmann <arnd at arndb.de>
    Cc: James K Lewis <jklewis at us.ibm.com>

commit 92d08871db0490fc46608ecd292597e3d59fb1ec
Author: Linas Vepstas <linas at austin.ibm.com>
Date:   Tue Oct 10 16:14:29 2006 -0500

    [PATCH] powerpc/cell spidernet refine locking
    
    The transmit side of the spider ethernet driver currently
    places locks around some very large chunks of code. This
    results in a fair amount of lock contention is some cases.
    This patch makes the locks much more fine-grained, protecting
    only the cirtical sections. One lock is used to protect
    three locations: the queue head and tail pointers, and the
    queue low-watermark location.
    
    Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
    Cc: Arnd Bergmann <arnd at arndb.de>
    Cc: James K Lewis <jklewis at us.ibm.com>

commit cad0b544d64af4190ff23bbc54cee14b1d2e2c6b
Author: Linas Vepstas <linas at austin.ibm.com>
Date:   Tue Oct 10 16:13:05 2006 -0500

    [PATCH] powerpc/cell spidernet NAPI polling info.
    
    This patch moves transmit queue cleanup code out of the
    interrupt context, and into the NAPI polling routine.
    
    Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
    Acked-by: Arnd Bergmann <arnd at arndb.de>
    Cc: James K Lewis <jklewis at us.ibm.com>

commit ae74e1a9cc8d156e6c64e9bcee977652e756bb51
Author: Linas Vepstas <linas at austin.ibm.com>
Date:   Tue Oct 10 16:11:33 2006 -0500

    [PATCH] powerpc/cell spidernet low watermark patch.
    
    Implement basic low-watermark support for the transmit queue.
    Hardware low-watermarks allow a properly configured kernel
    to continously stream data to a device and not have to handle
    any interrupts at all in doing so. Correct zero-interrupt
    operation can be actually observed for this driver, when the
    socket buffer is made large enough.
    
    The basic idea of a low-watermark interrupt is as follows.
    The device driver queues up a bunch of packets for the hardware
    to transmit, and then kicks the hardware to get it started.
    As the hardware drains the queue of pending, untransmitted
    packets, the device driver will want to know when the queue
    is almost empty, so that it can queue some more packets.
    
    If the queue drains down to the low waterark, then an interrupt
    will be generated. However, if the kernel/driver continues
    to add enough packets to keep the queue partially filled,
    no interrupt will actually be generated, and the hardware
    can continue streaming packets indefinitely in this mode.
    
    The impelmentation is done by setting the DESCR_TXDESFLG flag
    in one of the packets. When the hardware sees this flag, it will
    interrupt the device driver. Because this flag is on a fixed
    packet, rather than at  fixed location in the queue, the
    code below needs to move the flag as more packets are
    queued up. This implementation attempts to keep the flag
    at about 1/4 from "empty".
    
    Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
    Signed-off-by: James K Lewis <jklewis at us.ibm.com>
    Acked-by: Arnd Bergmann <arnd at arndb.de>

commit b3ed7a4267558ae6dbc5d28ccf2c739a13cf5aa9
Author: Linas Vepstas <linas at austin.ibm.com>
Date:   Tue Oct 10 16:09:40 2006 -0500

    [PATCH] powerpc/cell spidernet incorrect offset
    
    Bugfix -- the rx chain is in memory after the tx chain --
    the offset being used was wrong, resulting in memory corruption
    when the size of the rx and tx rings weren't exactly the same.
    
    Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
    Cc: James K Lewis <jklewis at us.ibm.com>
    Cc: Arnd Bergmann <arnd at arndb.de>

commit b5b4229b4f43d9e728e89bee6ffc4b96e35605fa
Author: Linas Vepstas <linas at austin.ibm.com>
Date:   Tue Oct 10 16:08:42 2006 -0500

    [PATCH] powerpc/cell spidernet stop error printing patch.
    
    Turn off mis-interpretation of the queue-empty interrupt
    status bit as an error.
    
    Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
    Signed-off-by: James K Lewis <jklewis at us.ibm.com>
    Acked-by: Arnd Bergmann <arnd at arndb.de>

commit 5a8a66516f49a3a242cb93ccb2b09485f2968a46
Author: Linas Vepstas <linas at austin.ibm.com>
Date:   Tue Oct 10 16:06:53 2006 -0500

    [PATCH] powerpc/cell spidernet fix error interrupt print
    
    The print message associated with the descriptor chain end interrupt
    prints a bogs value. Fix that.
    
    Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
    Cc: James K Lewis <jklewis at us.ibm.com>
    Cc: Arnd Bergmann <arnd at arndb.de>

commit 2304fb9616bab2476be4409cfc6e3142e96e3f27
Author: Linas Vepstas <linas at austin.ibm.com>
Date:   Tue Oct 10 16:05:00 2006 -0500

    [PATCH] powerpc/cell spidernet bogus rx interrupt bit
    
    The current receive interrupt mask sets a bogus bit that doesn't even
    belong to the definition of this register. Remove it.
    
    Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
    Cc: James K Lewis <jklewis at us.ibm.com>
    Cc: Arnd Bergmann <arnd at arndb.de>

commit 6bd5a191596137706466ad7d06acfbf3ca8223ab
Author: Linas Vepstas <linas at austin.ibm.com>
Date:   Tue Oct 10 16:04:00 2006 -0500

    [PATCH] Spidernet stop queue when queue is full.
    
    This patch adds a call to netif_stop_queue() when there is
    no more room for more packets on the transmit queue.
    
    Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
    Cc: James K Lewis <jklewis at us.ibm.com>
    Cc: Arnd Bergmann <arnd at arndb.de>

commit 02afe79b99b591f66cc88e9f864ff685b5841e0b
Author: Linas Vepstas <linas at austin.ibm.com>
Date:   Tue Oct 10 16:02:54 2006 -0500

    [PATCH] Spidernet fix register field definitions
    
    This patch fixes the names of a few fields in the DMA control
    register. There is no functional change.
    
    Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
    Cc: James K Lewis <jklewis at us.ibm.com>
    Cc: Arnd Bergmann <arnd at arndb.de>

commit 45927c686a6fc6b1be8cf99eff990f654b292445
Author: Linas Vepstas <linas at austin.ibm.com>
Date:   Tue Oct 10 16:01:51 2006 -0500

    [PATCH] powerpc/cell spidernet add missing netdev watchdog
    
    Set the netdev watchdog timer.
    
    Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
    Cc: James K Lewis <jklewis at us.ibm.com>
    Cc: Arnd Bergmann <arnd at arndb.de>

commit ac0ce6becb7325e8e870460efdec781f0ca95482
Author: Linas Vepstas <linas at austin.ibm.com>
Date:   Tue Oct 10 16:01:00 2006 -0500

    [PATCH] powerpc/cell spidernet zlen min packet length
    
    Polite device drivers pad short packets to 60 bytes,
    so that mean-spirited users don't accidentally DOS
    some other OS that can't handle short packets.
    
    Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
    Cc: James K Lewis <jklewis at us.ibm.com>
    Cc: Arnd Bergmann <arnd at arndb.de>

commit 2863834f264750d09231b1d7876a3d223b1f99df
Author: Linas Vepstas <linas at austin.ibm.com>
Date:   Tue Oct 10 16:00:04 2006 -0500

    [PATCH] powerpc/cell spidernet force-end fix
    
    Bugfix: when cleaning up the transmit queue upon device close,
    be sure to walk the entire queue.
    
    Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
    Cc: James K Lewis <jklewis at us.ibm.com>
    Cc: Arnd Bergmann <arnd at arndb.de>

commit 089b448d6fbabf3ed773b9be0499bcb63dd5fd5f
Author: Linas Vepstas <linas at austin.ibm.com>
Date:   Tue Oct 10 15:59:02 2006 -0500

    [PATCH] Spidernet module parm permissions
    
    The module param permsissions should bw read-only, not writable.
    
    From: James K Lewis <jklewis at us.ibm.com>
    Signed-off-by: James K Lewis <jklewis at us.ibm.com>
    Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
    Cc: Arnd Bergmann <arnd at arndb.de>

commit 525e127457e4601fc4a86be9045338b64433c286
Author: Linas Vepstas <linas at austin.ibm.com>
Date:   Tue Oct 10 15:57:26 2006 -0500

    [PATCH] powerpc/cell spidernet burst alignment patch.
    
    This patch increases the Burst Address alignment from 64 to 1024 in the
    Spidernet driver. This improves transmit performance for large packets.
    
    From: James K Lewis <jklewis at us.ibm.com>
    Signed-off-by: James K Lewis <jklewis at us.ibm.com>
    Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
    Acked-by: Arnd Bergmann <arnd at arndb.de>

commit c6ac95967906c22fa3eac4e5e46b9013fbdccb86
Author: Linas Vepstas <linas at austin.ibm.com>
Date:   Tue Oct 10 15:56:04 2006 -0500

    [PATCH] powerpc/cell spidernet ethtool -i version number info.
    
    This patch adds version information as reported by
    ethtool -i to the Spidernet driver.
    
    From: James K Lewis <jklewis at us.ibm.com>
    Signed-off-by: James K Lewis <jklewis at us.ibm.com>
    Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
    Acked-by: Arnd Bergmann <arnd at arndb.de>

---
diffstat:
 spider_net.c         |  341 +++++++++++++++++--------------
 spider_net.h         |   49 ++--
 spider_net_ethtool.c |    6 
 3 files changed, 224 insertions(+), 172 deletions(-)

====== cell-defconfig-2.6.19.diff ======
---
diffstat:
 cell_defconfig |   42 ++++---------------------------------
 1 file changed, 5 insertions(+), 37 deletions(-)

====== cell-timebase-workaround-2.diff ======
Subject: [PATCH] powerpc: Implement cell timebase workaround
From: Benjamin Herrenschmidt <benh at kernel.crashing.org>

This patch implements the workaround for the Cell timebase bug. It's
been quickly boot tested, it's not quite ready for merge (I need to test
build & run !cell configs and try to come up with a test case for the
actual bug to verify it's fixed) but it's definitely ready for comments.

Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>

---
diffstat:
 arch/powerpc/kernel/vdso64/gettimeofday.S |   11 +++-
 include/asm-powerpc/cputable.h            |   17 ++++--
 include/asm-powerpc/ppc_asm.h             |   26 +++++++---
 include/asm-powerpc/reg.h                 |   19 ++++++-
 include/asm-powerpc/time.h                |   18 +++---
 include/asm-powerpc/timex.h               |   12 +---
 6 files changed, 72 insertions(+), 31 deletions(-)

====== spufs-wrap-mfc-sdr-access.diff ======
Subject: spufs: wrap mfc sdr access

From: Masato Noguchi <Masato.Noguchi at jp.sony.com>

SPRN_SDR1 and the SPE's MFC SDR are hypervisor resources and
are not accessible from a logical partition.  This change adds an
access wrapper.

When running on bare H/W, the spufs needs to only set the SPE's MFC SDR
to the value of the PPE's SPRN_SDR1 once at SPE initialization, so this
change renames mfc_sdr_set() to mfc_sdr_setup() and moves the
access of SPRN_SDR1 into the mmio wrapper.  It also removes the now
unneeded member mfc_sdr_RW from struct spu_priv1_collapsed.

Signed-off-by: Masato Noguchi <Masato.Noguchi at jp.sony.com>
Signed-off-by: Geoff Levand <geoffrey.levand at am.sony.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>

--

---
diffstat:
 arch/powerpc/platforms/cell/spu_base.c       |    2 +-
 arch/powerpc/platforms/cell/spu_priv1_mmio.c |    6 +++---
 arch/powerpc/platforms/cell/spufs/switch.c   |    3 ---
 include/asm-powerpc/spu_csa.h                |    1 -
 include/asm-powerpc/spu_priv1.h              |    6 +++---
 5 files changed, 7 insertions(+), 11 deletions(-)

====== spufs-signal2-fix.diff ======
From: Dwayne Grant McConnell <decimal at us.ibm.com>
Subject: spufs: fix signal2 file to report signal2

Here is a simple patch that fixes the /signal2 file to actually give
signal2 data.

Signed-off-by: Dwayne Grant Mcconnell <decimal at us.ibm.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>

---
diffstat:
 hw_ops.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

====== spufs-fixme.diff ======
Subject: spufs: add a FIXME

SetPageReserved should probably not be called on vmalloc memory.
Need to investigate further.

Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>
---
---
diffstat:
 switch.c |    1 +
 1 file changed, 1 insertion(+)

====== spufs-mbox-fix-fix.diff ======
Subject: spufs: fix another off-by-one bug in mbox_read

Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>

---
diffstat:
 file.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

====== spufs-remove-unused-var.diff ======
From: Geoff Levand <geoffrey.levand at am.sony.com>
Subject: cell: remove unused struct spu variable

Remove the mostly unused variable isrc from struct spu and a forgotten
function declaration.

Signed-off-by: Geoff Levand <geoffrey.levand at am.sony.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>

---

---
diffstat:
 arch/powerpc/platforms/cell/spu_base.c |   21 +------------
 include/asm-powerpc/spu.h              |    1 
 2 files changed, 3 insertions(+), 19 deletions(-)

====== spufs-create-isolated-2.diff ======
Subject: spufs: add support for nonschedulable contexts

From: Mark Nutter <mnutter at us.ibm.com>

This adds two new flags to spu_create:

SPU_CREATE_NONSCHED: create a context that is never moved
away from an SPE once it has started running. This flag
can only be used by tasks with the CAP_SYS_NICE capability.

SPU_CREATE_ISOLATED: create a nonschedulable context that
enters isolation mode upon first run. This requires the
SPU_CREATE_NONSCHED flag.

Update: add psmap file.

Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>
Signed-off-by: Jeremy Kerr <jk at ozlabs.org>

 arch/powerpc/platforms/cell/spufs/file.c   |   22 ++++++++++++
 arch/powerpc/platforms/cell/spufs/hw_ops.c |    5 ++
 arch/powerpc/platforms/cell/spufs/inode.c  |   17 +++++++++
 arch/powerpc/platforms/cell/spufs/run.c    |   10 ++++-
 arch/powerpc/platforms/cell/spufs/spufs.h  |    1 
 arch/powerpc/platforms/cell/spufs/switch.c |   50 +++++++++++++++++++++++++++--
 include/asm-powerpc/spu.h                  |    5 ++
 7 files changed, 103 insertions(+), 7 deletions(-)

---
diffstat:
 arch/powerpc/platforms/cell/spufs/file.c   |   22 ++++
 arch/powerpc/platforms/cell/spufs/hw_ops.c |    5 -
 arch/powerpc/platforms/cell/spufs/inode.c  |   17 +++
 arch/powerpc/platforms/cell/spufs/run.c    |   10 +-
 arch/powerpc/platforms/cell/spufs/spufs.h  |    1 
 arch/powerpc/platforms/cell/spufs/switch.c |   50 +++++++++-
 include/asm-powerpc/spu.h                  |    5 -
 7 files changed, 103 insertions(+), 7 deletions(-)

====== spufs-status-spelling-fix.diff ======
Subject: spufs: "stataus" isn't a word.

Signed-off-by: Jeremy Kerr <jk at ozlabs.org>
Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>

---
diffstat:
 arch/powerpc/platforms/cell/spufs/switch.c |   10 +++++-----
 include/asm-powerpc/spu.h                  |    4 ++--
 2 files changed, 7 insertions(+), 7 deletions(-)

====== spufs-isolated-loader-2.diff ======
Subject: spufs: Allow isolated mode apps by starting the SPE loader

This patch adds general support for isolated mode SPE apps.

Isolated apps are started indirectly, by a dedicated loader "kernel".
This patch starts the loader when spe_create is invoked with the
ISOLATE flag. We do this at spe_create time to allow libspe to pass the
isolated app in before calling spe_run.

The loader is read from the device tree, at the location
"/spu-isolation/loader". If the loader is not present, an attempt to
start an isolated SPE binary will fail with -ENODEV.

Update: loader needs to be correctly aligned - copy to a kmalloced buf.
Update: remove workaround for systemsim/spurom 'L-bit' bug, which has
        been fixed.
Update: don't write to runcntl on spu_run_init: SPU is already running.
Update: do spu_setup_isolated earlier

Tested on systemsim.

Signed-off-by: Jeremy Kerr <jk at ozlabs.org>

 arch/powerpc/platforms/cell/spu_base.c    |   35 ++++++--
 arch/powerpc/platforms/cell/spufs/inode.c |  117 ++++++++++++++++++++++++++++++
 arch/powerpc/platforms/cell/spufs/run.c   |   12 +--
 3 files changed, 148 insertions(+), 16 deletions(-)

---
diffstat:
 spu_base.c    |   35 +++++++----
 spufs/inode.c |  117 ++++++++++++++++++++++++++++++++++++++
 spufs/run.c   |   12 ++-
 3 files changed, 148 insertions(+), 16 deletions(-)

====== cbe-regs-update-2.diff ======
Subject: cell: update cell be register definitions

there are a few definitions that are required by subsequent patches,
so add them here.

This patch probably needs a little cosmetic cleanup.

Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>

---
diffstat:
 cbe_regs.c  |   44 +++++-
 cbe_regs.h  |  282 +++++++++++++++++++++++++++++++++++-----
 interrupt.c |    2 
 pervasive.c |    6 
 4 files changed, 292 insertions(+), 42 deletions(-)

====== cbe-regs-update-bitfields.diff ======
Subject: avoid bit fields in cbe_regs.h
From: Kevin Corry <kevcorry at us.ibm.com>

Structures with bit-fields are against kernel coding standards. Change the
cbe_pmd_regs structure to use simple u64 fields for the PMU registers instead
of defining a bit-field structure for each register.

Signed-off-by: Kevin Corry <kevcorry at us.ibm.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>

---
---
diffstat:
 cbe_regs.h |  128 +++--------------------------------------
 1 file changed, 11 insertions(+), 117 deletions(-)

====== cbe-regs-shadow.diff ======
From: Kevin Corry <kevcorry at us.ibm.com>
Subject: cell: add shadow registers for pmd_reg

Many of the registers in the performance monitoring unit are write-only.
We need to save a "shadow" copy when we write to those registers so we
can retrieve the values if we need them later.

The new cbe_pmd_shadow_regs structure is added to the cbe_regs_map structure
so we have the appropriate per-node copies of these shadow values.

Signed-off-by: Kevin Corry <kevcorry at us.ibm.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>

---
diffstat:
 cbe_regs.c |   17 +++++++++++++++++
 cbe_regs.h |   35 +++++++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+)

====== cbe-pmu-regs.diff ======
Subject: cell: add low-level performance monitoring code
From: Kevin Corry <kevcorry at us.ibm.com>

Add routines for accessing the registers and counters in the performance
monitoring unit.

Signed-off-by: Kevin Corry <kevcorry at us.ibm.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>

---
diffstat:
 Makefile   |    3 
 cbe_regs.h |    5 
 pmu.c      |  329 +++++++++++++++++++++++++++++++++++++++++
 pmu.h      |   57 +++++++
 4 files changed, 393 insertions(+), 1 deletion(-)

====== cbe-pmu-no-config-h.diff ======
From: Kevin Corry <kevcorry at us.ibm.com>
Subject: Re: [ibm-linux-cell] =?iso-8859-1?q?=5BRFC=2C_PATCH_3/3=5D_Add_routin?=

On Tue October 10 2006 10:23 pm, Benjamin Herrenschmidt wrote:
> > +#include <linux/config.h>
>
> This header is gone upstream. it's been obsolete to include it for some
> time now, just remove that statement.

Here's a patch to remove that include from all the files in
arch/powerpc/platforms/cell/.
 
-Kevin Corry

Don't include obsolete <linux/config.h>.

Signed-Off-By: Kevin Corry <kevcorry at us.ibm.com>

---
diffstat:
 cbe_regs.c |    1 -
 pmu.c      |    1 -
 ras.c      |    1 -
 3 files changed, 3 deletions(-)

====== spu-add-attributes-2.diff ======
Subject: Cell: add support for registering sysfs attributes to spus

In order to add sysfs attributes to all spu's, there is a
need for a list of all available spu's. Adding the device_node
makes also sense, as it is needed for proper register access.
This patch also adds two functions to create and remove sysfs
attributes and attribute_groups to all spus.
That allows to group spu attributes in a subdirectory like:
/sys/devices/system/spu/spuX/group_name/what_ever
This will be used by cbe_thermal to group all attributes dealing with
thermal support in one directory.

Signed-off-by: Christian Krafft <krafft at de.ibm.com>

---
diffstat:
 arch/powerpc/platforms/cell/spu_base.c |   58 +++++++++++++
 include/asm-powerpc/spu.h              |    9 ++
 2 files changed, 67 insertions(+)

====== cpu-add-attributes.diff ======
Subject: sysfs: add support for adding/removing sysfs attributes and attribute_group to cpus

This patch adds two functions to create and remove sysfs attributes and attribute_group to all cpus.
That allows to register sysfs attributes in a subdirectory like:
/sys/devices/system/cpu/cpuX/group_name/what_ever
This will be used by cbe_thermal to group all attributes dealing with
thermal support in one directory.

Signed-of-by: Christian Krafft <krafft at de.ibm.com>

---
diffstat:
 arch/powerpc/kernel/sysfs.c |   66 ++++++++++++++++++++++++
 include/linux/cpu.h         |    8 ++
 2 files changed, 74 insertions(+)

====== cell-thermal-support-3.diff ======
Subject: cell: add temperature to SPU and CPU sysfs entries

This patch adds a module that registers sysfs attributes to CPU and SPU
containing the temperature of the CBE.
They can be found under
/sys/devices/system/spu/cpuX/thermal/temperature[0|1]
/sys/devices/system/spu/spuX/thermal/temperature
The temperature is read from the on-chip temperature sensors.

Signed-off-by: Christian Krafft <krafft at de.ibm.com>

---
diffstat:
 configs/cell_defconfig       |    1 
 platforms/cell/Kconfig       |    5 
 platforms/cell/Makefile      |    2 
 platforms/cell/cbe_thermal.c |  225 +++++++++++++++++++++++
 4 files changed, 233 insertions(+)

====== cell-xmon-stop-spus.diff ======
Subject: [Cbe-oss-dev] [PATCH 1/2] Add support for stopping spus from xmon
From: Michael Ellerman <michael at ellerman.id.au>

This patch adds support for stopping, and restarting, spus
from xmon. We use the spu master runcntl bit to stop execution,
this is apparently the "right" way to control spu execution and
spufs will be changed in the future to use this bit.

Testing has shown that to restart execution we have to turn the
master runcntl bit on and also rewrite the spu runcntl bit, even
if it is already set to 1 (running).

Stopping spus is triggered by the xmon command 'ss' - "spus stop"
perhaps. Restarting them is triggered via 'sr'. Restart doesn't
start execution on spus unless they were running prior to being
stopped by xmon.

Walking the spu->full_list in xmon after a panic, would mean
corruption of any spu struct would make all the others
inaccessible. To avoid this, and also to make the next patch
easier, we cache pointers to all spus during boot.

We attempt to catch and recover from errors while stopping and
restarting the spus, but as with most xmon functionality there are
no guarantees that performing these operations won't crash xmon
itself.

Signed-off-by: Michael Ellerman <michael at ellerman.id.au>
Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>

---

 arch/powerpc/platforms/cell/spu_base.c |    4 
 arch/powerpc/xmon/xmon.c               |  142 ++++++++++++++++++++++++++++++++-
 include/asm-powerpc/xmon.h             |    2 
 3 files changed, 146 insertions(+), 2 deletions(-)

---
diffstat:
 arch/powerpc/platforms/cell/spu_base.c |    4 
 arch/powerpc/xmon/xmon.c               |  142 ++++++++++++-
 include/asm-powerpc/xmon.h             |    2 
 3 files changed, 146 insertions(+), 2 deletions(-)

====== cell-xmon-spu_info.diff ======
Subject: [Cbe-oss-dev] [PATCH 2/2] Add support for dumping spu info from xmon
From: Michael Ellerman <michael at ellerman.id.au>

This patch adds a command to xmon for dumping information about
spu structs. The command is 'sf' for "spu fields" perhaps, and
takes the spu number as an argument. This is the same value as the
spu->number field, or the "phys-id" value of a context when it is
bound to a physical spu.

We try to catch memory errors as we dump each field, hopefully this
will make the command reasonably robust, but YMMV. If people see a
need we can easily add more fields to the dump in future.

Output looks something like this:

0:mon> sf 0
Dumping spu fields at address c00000001ffd9e80:
  number                  = 0x0
  name                    = spe
  devnode->full_name      = /cpus/PowerPC,BE at 0/spes/spe at 0
  nid                     = 0x0
  local_store_phys        = 0x20000000000
  local_store             = 0xd0000800801e0000
  ls_size                 = 0x0
  isrc                    = 0x4
  node                    = 0x0
  flags                   = 0x0
  dar                     = 0x0
  dsisr                   = 0x0
  class_0_pending         = 0
  irqs[0]                 = 0x16
  irqs[1]                 = 0x17
  irqs[2]                 = 0x24
  slb_replace             = 0x0
  pid                     = 0
  prio                    = 0
  mm                      = 0x0000000000000000
  ctx                     = 0x0000000000000000
  rq                      = 0x0000000000000000
  timestamp               = 0x0000000000000000
  problem_phys            = 0x20000040000
  problem                 = 0xd000080080220000
  problem->spu_runcntl_RW = 0x0
  problem->spu_status_R   = 0x0
  problem->spu_npc_RW     = 0x0
  priv1                   = 0xd000080080240000
  priv1->mfc_sr1_RW       = 0x33
  priv2                   = 0xd000080080250000


Signed-off-by: Michael Ellerman <michael at ellerman.id.au>
Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>

---

 arch/powerpc/xmon/xmon.c |   68 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 67 insertions(+), 1 deletion(-)

---
diffstat:
 xmon.c |   67 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 66 insertions(+), 1 deletion(-)

====== prom-extern-function-2.diff ======
Subject: externalize a function and a map of cpumasks, both needed by upcomming cpufreq driver

Signed-off-by: Christian Krafft <krafft at de.ibm.com>

---
diffstat:
 arch/powerpc/kernel/prom.c |    1 +
 arch/powerpc/kernel/smp.c  |    1 +
 include/asm-powerpc/prom.h |    2 +-
 3 files changed, 3 insertions(+), 1 deletion(-)

====== cell-cpufreq-support-2.diff ======
Subject: cell: add cpufreq driver for Cell BE processor

This patch adds a cpufreq backend driver to enable frequency scaling on cell.

Signed-off-by: Christian Krafft <krafft at de.ibm.com>

---
diffstat:
 configs/cell_defconfig       |   15 +
 platforms/cell/Kconfig       |    9 
 platforms/cell/Makefile      |    1 
 platforms/cell/cbe_cpufreq.c |  249 +++++++++++++++++++++++
 4 files changed, 273 insertions(+), 1 deletion(-)

====== spufs-gdb-interfaces-addon-2.diff ======
---
diffstat:
 arch/powerpc/platforms/cell/spufs/backing_ops.c |   49 ++++
 arch/powerpc/platforms/cell/spufs/file.c        |  114 +++++++++-
 arch/powerpc/platforms/cell/spufs/hw_ops.c      |    3 
 arch/powerpc/platforms/cell/spufs/spufs.h       |    9 
 include/asm-powerpc/Kbuild                      |    4 
 include/asm-powerpc/spu_info.h                  |   54 ++++
 6 files changed, 224 insertions(+), 9 deletions(-)

====== nodeaware-netdev-2.diff ======

Subject: Node-aware netdevice allocation

Adds alloca_netdev_node & friends to allocate a struct netdevice on a given
NUMA node.

Note: needs benchmarking to prove a gain.

Signed-off-by: Christoph Hellwig <chellwig at de.ibm.com>

---
diffstat:
 include/linux/etherdevice.h |    1 +
 include/linux/netdevice.h   |    3 +++
 net/core/dev.c              |   14 +++++++++++---
 net/ethernet/eth.c          |   24 ++++++++++++++++++++++++
 4 files changed, 39 insertions(+), 3 deletions(-)

====== nodeaware-skb_alloc.diff ======

Subject: node-aware skb allocation

Note: needs benchmarking to prove a gain.

Note2:  Needs to API rework before upstream submission

Signed-off-by: Christoph Hellwig <chellwig at de.ibm.com>

---
diffstat:
 include/linux/skbuff.h |   15 ++++++++++++---
 net/core/skbuff.c      |    9 ++++++---
 2 files changed, 18 insertions(+), 6 deletions(-)

====== nodeaware-spidernet.diff ======

Subject: use node-aware netdev allocation in spidernet


Signed-off-by: Christoph Hellwig <chellwig at de.ibm.com>

---
diffstat:
 spider_net.c |   10 ++++++----
 spider_net.h |    1 +
 2 files changed, 7 insertions(+), 4 deletions(-)

====== systemsim-2.6.18.diff ======
commit 4ec3ba5c24b1d7de452d410f0c339bacb99a7858
Author: Eric Van Hensbergen <ericvh at ericvh-laptop.(none)>
Date:   Wed Sep 20 10:21:45 2006 -0400

    Subject: [FYI] cell: systemsim defconfig
    
    This is an update to the default configuration
    from an earlier binary release on http://bsc.es/.
    
    Since the other systemsim patches are still under
    discussion, this is provided on a purely informational
    basis.
    
    Signed-off-by: Arnd Bergmann <arndb at de.ibm.com>
    Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>

commit bffe5c838cbc132bba12a98311ae56103c369126
Author: Eric Van Hensbergen <ericvh at ericvh-laptop.(none)>
Date:   Wed Sep 20 10:20:17 2006 -0400

    Subject: Don't use hvc_fss if hvc_rtas is available
    
    The latest version of Systemsim does come with HVC_RTAS
    support enabled. Use that one instead, since it brings
    us one step closer to using no special device drivers
    for systemsim.
    
    Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>
    Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>

commit d4fad433bb1d0386cffdf037e101355a9140dd6e
Author: Eric Van Hensbergen <ericvh at ericvh-laptop.(none)>
Date:   Wed Sep 20 10:19:18 2006 -0400

    Subject: systemsim: don't load systemsim_bd when running on real HW
    
    If we don't do this, we crash during bootup
    
    Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>
    Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>

commit d7f9a20a51d510fbe8c0438345b695e1b62422c5
Author: Eric Van Hensbergen <ericvh at ericvh-laptop.(none)>
Date:   Wed Sep 20 10:18:30 2006 -0400

    Subject: cell: correctly detect systemsim host
    
    Systemsim uses a different compatible property in the device tree.
    
    Signed-off-by: Christian Krafft <krafft at de.ibm.com>
    Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>
    Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>

commit a310086776d9d3c163a6a46f3c8cfa5da07e4796
Merge: e478bec... fce8c25...
Author: Eric Van Hensbergen <ericvh at ericvh-laptop.(none)>
Date:   Wed Sep 20 08:50:08 2006 -0400

    Merge ../systemsim-2.6.18-rc4/ into systemsim-2.6.18

commit fce8c2554d430f7ba998884cabf3929c28e26f23
Merge: 9f73763... 64b8767...
Author: Eric Van Hensbergen <ericvh at ericvh-laptop.(none)>
Date:   Wed Aug 9 20:24:01 2006 -0500

    Merge to tip

commit 64b8767f39d329d290a286996401bc754bbd7ee2
Merge: 82d6897... c7c2d69...
Author: Eric Van Hensbergen <ericvh at ericvh-laptop.(none)>
Date:   Thu Jul 27 12:36:06 2006 -0500

    Merge systemsim patch to tip
    
    Conflicts:
    
    	arch/powerpc/platforms/pseries/setup.c
    	include/asm-powerpc/udbg.h

commit c7c2d69e9ec0af0f1b62628a9859e56e729f219b
Author: Eric Van Hensbergen <ericvh at ericvh-laptop.(none)>
Date:   Tue Jul 25 22:17:21 2006 -0500

    Remove devfs code from Systemsim Block driver
    
    Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>

commit 2aefbc181b39847365a5c9cb1cd1793b097f3694
Merge: 427abfa... 1310a6e...
Author: Eric Van Hensbergen <ericvh at ericvh-laptop.(none)>
Date:   Tue Jul 25 21:31:25 2006 -0500

    Merge systemsim patch to 2.6.17
    
    Conflicts:
    
    	arch/powerpc/kernel/Makefile
    	arch/powerpc/kernel/setup_64.c
    	drivers/char/Kconfig
    	drivers/char/Makefile
    	drivers/char/hvc_console.c
    	drivers/char/hvc_rtas.c
    	include/asm-powerpc/machdep.h
    
    Signed-off-by: Eric Van Hensbergen <bergevan at us.ibm.com>

commit 1310a6e478b04589dd256100a38c8bcc1e1084d0
Author: Eric Van Hensbergen <ericvh at gmail.com>
Date:   Mon Mar 20 13:02:56 2006 -0600

    Updated systemsim default config to include new options.
    
    Signed-off-by: Wesley Reiley <wcreiley at us.ibm.com>
    Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>

commit b5262afff1203891e355726e597493f68f7d00cd
Merge: 7705a87... 7f0292c...
Author: Eric Van Hensbergen <ericvh at gmail.com>
Date:   Mon Mar 20 17:55:25 2006 +0000

    Merge systemsim patches to v2.6.16

commit 7f0292c5c9dd99d4ed5d2469d4488e993dfb8317
Merge: 5357448... 83ef584...
Author: Eric Van Hensbergen <ericvh at gmail.com>
Date:   Mon Mar 13 17:21:43 2006 +0000

    merge to v2.6.16-rc6

commit 83ef5848bcf6bf4a4e7a820a7b4f7375a71ca769
Merge: d040699... 4b1b109...
Author: Eric Van Hensbergen <ericvh at gmail.com>
Date:   Mon Feb 27 16:56:40 2006 -0600

    Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/ericvh/systemsim

commit d04069941633adbf6f525ecb53d7bc9a12b30d85
Author: Eric Van Hensbergen <ericvh at gmail.com>
Date:   Mon Feb 27 16:55:57 2006 -0600

    systemsim: fix merge problem
    
    I screwed up the last merge and for some reason can't revert it.  This
    replaces the screwed up hvc_console.c with the last version from the
    systemsim branch prior to the merge.
    
    Signed-off-by: Eric Van Hensbergen <bergevan at us.ibm.com>

commit 4b1b1097c0ff8683deda1d524ac7af0e3408776f
Author: Eric Van Hensbergen <ericvh at gmail.com>
Date:   Mon Feb 27 22:01:37 2006 +0000

    systemsim: fix broken merge
    
    This will probably bite me later, but apparently I massively screwed up
    the previous merge.  This fix puts the old hvc_console.c in place and lets
    you build systemsim again.
    
    Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>

commit b3dc101a8a904396a440fa966c681c22cbb5f129
Merge: b4e4add... de5f503...
Author: Eric Van Hensbergen <ericvh at gmail.com>
Date:   Mon Feb 27 20:50:57 2006 +0000

    Merge branch 'master'
    
    Conflicts:
    
    	drivers/char/hvc_console.c

commit b4e4add5d57f130a422e68787626f96f311658a0
Author: Eric Van Hensbergen <ericvh at gmail.com>
Date:   Fri Feb 24 16:47:36 2006 -0600

    [PATCH] systemsim: add early debug option when using systemsim console
    
    This patch adds udbg hooks for early-printk debug when using the IBM
    Full System Simulator console support.
    
    Signed-off-by: Eric Van Hensbergen <bergevan at us.ibm.com>

commit 6f27df783005ca87d1a27370837070b98798fbeb
Author: Eric Van Hensbergen <ericvh at gmail.com>
Date:   Fri Feb 24 16:46:07 2006 -0600

    [PATCH] systemsim: add boot hacks for non-standard platforms
    
    When booting on some "experimental platforms" under the IBM Full System
    Simulator - a certain set of boot hacks are required which differentiate
    the hardware from standard pSeries systems.  This patch adds a config flag
    which allows you to use these hacks.
    
    Signed-off-by: Eric Van Hensbergen <bergevan at us.ibm.com>

commit aacd155ef15d97f7ccc2c43922293abef3d7381f
Merge: 72e13e7... bd71c2b...
Author: Eric Van Hensbergen <ericvh at gmail.com>
Date:   Sun Feb 19 19:10:39 2006 +0000

    Merge branch 'master'

commit 72e13e73b5998b853a9bd20e8c425486818ed09a
Author: Eric Van Hensbergen <ericvh at gmail.com>
Date:   Thu Feb 2 09:28:47 2006 -0600

    [PATCH] systemsim: clean up default configuration
    
    Signed-off-by: Eric Van Hensbergen <bergevan at us.ibm.com>

commit ea40711c3a573b917cade94c1bdca659e4f3f905
Author: Eric Van Hensbergen <ericvh at gmail.com>
Date:   Thu Feb 2 09:27:48 2006 -0600

    [PATCH] systemsim: clean up systemsim block driver
    
    Clean-up the systemsim block driver and integrate some of the suggestions
    from LKML.
    
    Signed-off-by: Eric Van Hensbergen <bergevan at us.ibm.com>

commit 79e30c5718a29c6de20e45f00bc1b458b359c29c
Author: Eric Van Hensbergen <ericvh at gmail.com>
Date:   Thu Feb 2 09:26:01 2006 -0600

    systemsim: clean-up systemsim network patch
    
    Incorporate some of the LKML feedback, clean-up naming conventions and fix
    a bug.
    
    Signed-off-by: Eric Van Hensbergen <bergevan at us.ibm.com>

commit 5468f5b2fb461b7a2af879ad314194c54c70847e
Author: Eric Van Hensbergen <ericvh at arlx070.austin.ibm.com>
Date:   Thu Feb 2 09:13:32 2006 -0600

    [PATCH] powerpc: rtas console
    
    Current Cell hardware is using the console through a set
    of rtas calls. This driver is needed to get console
    output on those boards.
    
    Signed-off-by: Arnd Bergmann <arndb at de.ibm.com>

commit d07920310527c12c13bd85f1dbc679d85006448d
Author: Eric Van Hensbergen <ericvh at arlx070.austin.ibm.com>
Date:   Thu Feb 2 09:13:20 2006 -0600

    [PATCH] systemsim: hvc based console
    
    The IBM full system simulator for PowerPC has its own
    set of calls used for console interaction, when not
    simulating actual serial port hardware.
    
    This is needed to run the simulator for Cell and can
    also be used for the PowerPC 970 simulator.
    
    It also adds the generic asm/systemsim.h header file
    that is also used by other device drivers for the
    system simulator, i.e. the block and network drivers.
    
    Signed-off-by: "Ryan S. Arnold" <rsa at us.ibm.com>
    Signed-off-by: Arnd Bergmann <arndb at de.ibm.com>

commit b03419a54e848087269b885b6668a1f2d2ade61e
Author: Eric Van Hensbergen <ericvh at arlx070.austin.ibm.com>
Date:   Thu Feb 2 09:13:07 2006 -0600

    [PATCH] powerpc: console rework
    
    These are some updates from both Ryan and Arnd for the hvc_console
    driver:
    
    The main point is to enable the inclusion of a console driver
    for rtas and for systemsim, which are needed for the cell
    platform.
    
    Also shuffle around some data-type declarations and moves some
    functions out of include/asm-ppc64/hvconsole.h and into a new
    drivers/char/hvc_console.h file.
    
    From: "Ryan S. Arnold" <rsa at us.ibm.com>
    Signed-off-by: "Ryan S. Arnold" <rsa at us.ibm.com>
    Signed-off-by: Arnd Bergmann <arndb at de.ibm.com>

commit 679de1715f7718a25eb813b48855983ec2fac261
Author: Eric Van Hensbergen <ericvh at arlx070.austin.ibm.com>
Date:   Thu Feb 2 09:12:48 2006 -0600

    [PATCH] systemsim: default configuration
    
    This default configuration is supposed to work with
    both the powerpc970 as well as the cell systemsim.
    
    From: Eric Van Hensbergen <ericvh at gmail.com>
    Signed-off-by: Arnd Bergmann <arndb at de.ibm.com>

commit 498f943bb2fd8b1766f5fce1ed24a54131726c5a
Author: Eric Van Hensbergen <ericvh at arlx070.austin.ibm.com>
Date:   Thu Feb 2 09:12:32 2006 -0600

    [PATCH] systemsim: network driver support
    
    This adds a simple network driver for virtual
    networking on the IBM Full System Simulator.
    
    From: Eric Van Hensbergen <ericvh at gmail.com>
    Signed-off-by: Arnd Bergmann <arndb at de.ibm.com>

commit 65b2e6d3cff3e75c9c7cd1ce624dda68dbbb0fba
Author: Eric Van Hensbergen <ericvh at arlx070.austin.ibm.com>
Date:   Thu Feb 2 09:11:51 2006 -0600

    [PATCH] systemsim: bogus idle support
    
    The original cpu_idle hack from the systemsim git
    tree is a bit strange, because it unconditionally
    changes the native_idle function. This one instead
    introduces a new idle implementation that is only
    used on systemsim.
    
    Signed-off-by: Arnd Bergmann <arndb at de.ibm.com>

commit ea136813c9ac655a69693af5aa0473f2ea7e6401
Author: Eric Van Hensbergen <ericvh at arlx070.austin.ibm.com>
Date:   Thu Feb 2 09:11:37 2006 -0600

    [PATCH] systemsim: block driver support
    
    The block device driver for systemsim is currently
    required for running on the Cell systemsim port, which
    does not simulate any other block devices.
    
    From: Eric Van Hensbergen <ericvh at gmail.com>
    Signed-off-by: Arnd Bergmann <arndb at de.ibm.com>

commit 71a1e68425691411ccea71025f6dae8355607ea9
Author: Eric Van Hensbergen <ericvh at arlx070.austin.ibm.com>
Date:   Thu Feb 2 09:11:23 2006 -0600

    [PATCH] systemsim: basic systemsim support
    
    Add some support and doc files for the IBM Full System
    Simulator and a configuration option that acts as a control
    for the patches based on this one.
    
    No code is changed in this patch, but it is required for
    the systemsim network, block, hvc_console and cpu_idle
    patches that are based on the infrastructure in here.
    
    From: Eric Van Hensbergen <ericvh at gmail.com>
    Signed-off-by: Arnd Bergmann <arndb at de.ibm.com>

---
diffstat:
 Documentation/systemsim/maple.tcl        | 1145 +++++++++++
 Documentation/systemsim/systemsim.txt    |   92 
 arch/powerpc/Kconfig                     |   28 
 arch/powerpc/configs/cbesim_defconfig    |  868 ++++++++
 arch/powerpc/configs/systemsim_defconfig | 1127 ++++++++++
 arch/powerpc/kernel/Makefile             |    1 
 arch/powerpc/kernel/idle_systemsim.c     |   35 
 arch/powerpc/kernel/setup_64.c           |   20 
 arch/powerpc/kernel/udbg.c               |    3 
 arch/powerpc/platforms/cell/setup.c      |    3 
 arch/powerpc/platforms/pseries/setup.c   |    7 
 drivers/block/Kconfig                    |    7 
 drivers/block/Makefile                   |    2 
 drivers/block/systemsim_bd.c             |  319 +++
 drivers/char/Kconfig                     |   32 
 drivers/char/Makefile                    |    1 
 drivers/char/hvc_fss.c                   |  134 +
 drivers/net/Kconfig                      |    8 
 drivers/net/Makefile                     |    1 
 drivers/net/systemsim_net.c              |  393 +++
 include/asm-powerpc/machdep.h            |    1 
 include/asm-powerpc/systemsim.h          |  132 +
 include/asm-powerpc/udbg.h               |    1 
 23 files changed, 4341 insertions(+), 19 deletions(-)

====== systemsim-cell_defconfig.diff ======
Subject: [FYI] cell: enable systemsim in cell_defconfig

This is a patch against the cell_defconfig to enable systemsim.

Signed-off-by: Jens Osterkamp <jens at de.ibm.com> 
---

---
diffstat:
 cell_defconfig |    7 +++++++
 1 file changed, 7 insertions(+)

====== powerpc-pci-scan-2.diff ======
Subject: powerpc: allow PHBs anywhere in the device tree

The rtas_pci code currently restricts pci host bridges to
locations directly under the device tree root. In order to
correctly model a north bridge that has multiple PCI buses,
that restriction needs to be relaxed.

The new definition is a device node of type "pci" whose
parent is of a different type, so we don't treat pci-to-pci
bridges as host bridges.
It also accepts any device type of "pci", "pcie", "ht" and
"pciex" in order to match anything that is currently in use.

I have added a new helper "of_find_phb_node" to prom.c so
that pci implementations of non-rtas platforms can use this
as well.

Signed-off-by: Arnd Bergmann <arnd at arndb.de>

---
diffstat:
 arch/powerpc/kernel/pci_64.c   |    4 -
 arch/powerpc/kernel/prom.c     |   66 +++++++++++++++++++++
 arch/powerpc/kernel/rtas_pci.c |   20 ------
 include/asm-powerpc/prom.h     |    1 
 4 files changed, 70 insertions(+), 21 deletions(-)

====== dd2-performance.diff ======
Subject: [FYI] Performance hacks for broken Cell CPU revisions

The currently used CPUs of the Cell BE DD2.0 release have
a few glitches that may result in bad performance, these
workarounds are suggested in the Errata:

 - When a decrementer or external exception occurs,
   wake up the other SMT thread from pause(0) state.
 - When a system reset exception occurs (i.e. the CPU
   wakes up from pause(0) state), do a quick check if
   we were meant to wake up, otherwise go back to
   pause(0) state.
 - change the default floating point exception mode
   to zero.

It is rather unlikely that we find a way to create
a patch that won't be harmful to any other platform,
so this is definitely not meant for inclusion in the
mainline kernel, but only provided for those people
that build a special kernel for Cell BE DD2.0.

From: Jens Osterkamp <jens.osterkamp at de.ibm.com>
Signed-off-by: Arnd Bergmann <arndb at de.ibm.com>
---

---
diffstat:
 configs/cell_defconfig |    1 
 kernel/head_64.S       |   44 +++++++++++++++++++++++++++++
 platforms/cell/Kconfig |   10 ++++++
 3 files changed, 55 insertions(+)

====== dd2-hack-runlatch-hack.diff ======
Subject: cell: fix dd2-performance.diff

Change our DD2 hack for the new runlatch handling.

Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>
---

---
diffstat:
 head_64.S |    1 -
 1 file changed, 1 deletion(-)

====== ib-max_rbc_rrs.diff ======
Subject: backport an infiniband fix
From: Erez Cohen <erezc at mellanox.co.il>

Add control of PCIX max read byte count and PCI Express max read
request size parameters. This is due to the fact that some chipsets
may not work or may not work optimally with the default parametrs.
logic as follows: If the user sets a valid value to a paramter this
value wins. Otherwise the value read from the device is compared to
the default value defined by the spec. If value read does not equal
default it is assumed the BIOS configured it and the BIOS value is
retained.

Signed-off-by: Arnd Bergmann <arndb at de.ibm.com>

---
diffstat:
 mthca_main.c |   67 +++++++++++++++++++++++++++++++++++++--
 1 file changed, 65 insertions(+), 2 deletions(-)

====== powerpc-generic-dcr-3.diff ======
Subject: powerpc: New DCR access methods
From: Benjamin Herrenschmidt <benh at kernel.crashing.org>

This patch adds new dcr_map/dcr_read/dcr_write accessors for DCRs that
can be used by drivers to transparently address either native DCRs or
memory mapped DCRs. The implementation for memory mapped DCRs is done
after the binding being currently worked on for SLOF and the Axon
chipset. This patch enables it for the cell native platform

Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>

---
diffstat:
 arch/powerpc/Kconfig                |   16 +
 arch/powerpc/configs/cell_defconfig |    3 
 arch/powerpc/kernel/Makefile        |    1 
 arch/powerpc/sysdev/Makefile        |    3 
 arch/powerpc/sysdev/dcr-low.S       |   39 ++++
 arch/powerpc/sysdev/dcr.c           |  134 ++++++++++++++++
 arch/ppc/Kconfig                    |   11 +
 include/asm-powerpc/dcr-mmio.h      |   51 ++++++
 include/asm-powerpc/dcr-native.h    |   39 ++++
 include/asm-powerpc/dcr.h           |   42 +++++
 10 files changed, 337 insertions(+), 2 deletions(-)

====== axon-emac-use-dcr.diff ======
Subject: powerpc: adapt EMAC/MAL to new DCR access
From: Benjamin Herrenschmidt <benh at kernel.crashing.org>

This patch makes the EMAC driver use the new DCR access methods

Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>

---
diffstat:
 ibm_emac_mal.h |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

====== axon-mpic-use-dcr.diff ======
Subject: powerpc: Support for DCR based MPIC
From: Benjamin Herrenschmidt <benh at kernel.crashing.org>

This patch implements support for DCR based MPIC implementations. Such
implementations have the MPIC_USES_DCR flag set and don't use the phys_addr
argument of mpic_alloc (they require a valid dcr mapping in the device node)

This version of the patch can use a little bif of cleanup still (I can
probably consolidate rb->dbase/doff, at least once I'm sure on how the
hardware is actually supposed to work vs. possible simulator issues) and
it should be possible to build a DCR-only version of the driver. I need
to cleanup a bit the CONFIG_* handling for that and probably introduce
CONFIG_MPIC_MMIO and CONFIG_MPIC_DCR.

Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>

---
diffstat:
 arch/powerpc/sysdev/mpic.c |  138 ++++++++++++++++++-------
 include/asm-powerpc/mpic.h |   35 +++++-
 2 files changed, 132 insertions(+), 41 deletions(-)

====== axon-mpic-devtree.diff ======
Subject: powerpc: MPIC init get address from
From: Benjamin Herrenschmidt <benh at kernel.crashing.org>

This patch applies on top of the MPIC DCR support. It makes the MPIC
driver capable of a lot more auto-configuration based on the device-tree,
for example, it can retreive it's own physical address if not passed as
an argument, find out if it's DCR or MMIO mapped, and set the BIG_ENDIAN
flag automatically in the presence of a "big-endian" property in the
device-tree node.

Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>

---
diffstat:
 mpic.c |   26 ++++++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)

====== axon-mpic-enable.diff ======
Subject: powerpc: Support for MPIC on native cell
From: Benjamin Herrenschmidt <benh at kernel.crashing.org>

Add support for southbridges using the MPIC interrupt controller to
the native cell platforms.

Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Signed-off-by: Arnd Bergmann <arnd.bergmann at de.ibm.com>


---
diffstat:
 Kconfig                |    1 
 configs/cell_defconfig |    2 -
 platforms/cell/setup.c |   45 +++++++++++++++++++++++++++++
 3 files changed, 47 insertions(+), 1 deletion(-)




More information about the cbe-oss-dev mailing list