====== spufs-change-llx-to-0x-llx.diff ====== Subject: [PATCH 2.6.18] spufs: Change %llx to 0x%llx. From: Dwayne Grant McConnell This patches changes /npc, /decr, /decr_status, /spu_tag_mask, /event_mask, /event_status, and /srr0 files to provide output according to the format string "0x%llx" instead of "%llx". Before this patch some files used "0x%llx" and other used "%llx" which is inconsistent and potentially confusing. A user might assume "%llx" numbers were decimal if they happened to not contain any a-f digits. This change will break any code cannot tolerate a leading 0x in the file contents. The only known users of these files are the libspe but there might also be some scripts which access these files. This risk is deemed acceptable for future consistency. Signed-off-by: Dwayne Grant McConnell -- Dwayne Grant McConnell Lotus Notes Mail: Dwayne McConnell [Mail]/Austin/IBM@IBMUS Lotus Notes Calendar: Dwayne McConnell [Calendar]/Austin/IBM@IBMUS --- diffstat: file.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) ====== spufs-gdb-interfaces-addon-5.diff ====== Subject: spufs: add /lslr, /dma_info and /proxydma files From: Dwayne Grant McConnell The /lslr file gives read access to the SPU_LSLR register in hex; 0x3fff for example The /dma_info file provides read access to the SPU Command Queue in a binary format. The /proxydma_info files provides read access access to the Proxy Command Queue in a binary format. The spu_info.h file provides data structures for interpreting the binary format of /dma_info and /proxydma_info. Signed-off-by: Dwayne Grant McConnell Signed-off-by: Arnd Bergmann --- diffstat: arch/powerpc/platforms/cell/spufs/backing_ops.c | 1 arch/powerpc/platforms/cell/spufs/file.c | 133 +++++++++- arch/powerpc/platforms/cell/spufs/spufs.h | 9 include/asm-powerpc/Kbuild | 1 include/asm-powerpc/spu_info.h | 54 ++++ 5 files changed, 192 insertions(+), 6 deletions(-) ====== spufs-remove-spu_tag_mask.diff ====== Subject: [PATCH 2.6.18] spufs: Remove /spu_tag_mask file From: Dwayne Grant McConnell This patch removes the /spu_tag_mask file from spufs. The data provided by this file is also available from the /dma_info file in the dma_info_mask of the spu_dma_info struct. The file was intended to be used by gdb, but that never used it, and now it has been replaced with the more verbose dma_info file. Signed-off-by: Dwayne Grant McConnell Signed-off-by: Arnd Bergmann --- diffstat: file.c | 23 ----------------------- 1 file changed, 23 deletions(-) ====== spufs-mbox-info.diff ====== Subject: [PATCH 2.6.18] spufs: implement /mbox_info, /ibox_info, and /wbox_info. From: Dwayne Grant McConnell This patch implements read only access to /mbox_info - SPU Write Outbound Mailbox /ibox_info - SPU Write Outbound Interrupt Mailbox /wbox_info - SPU Read Inbound Mailbox These files are used by gdb in order to look into the current mailbox queues without changing the contents at the same time. They are not meant for general programming use, since the access requires a context save and is therefore rather slow. It would be good to complement this patch with one that adds write support as well. Signed-off-by: Dwayne Grant McConnell -- Dwayne Grant McConnell Lotus Notes Mail: Dwayne McConnell [Mail]/Austin/IBM@IBMUS Lotus Notes Calendar: Dwayne McConnell [Calendar]/Austin/IBM@IBMUS --- diffstat: file.c | 90 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) ====== spufs-require-context-save-for-signal-read-2.diff ====== Subject: spufs: read from signal files only if data is there From: Dwayne Grant McConnell We need to check the channel count of the signal notification registers before reading them, because it can be undefined when the count is zero. In order to read count and data atomically, we read from the saved context. This patch uses spu_acquire_saved() to force a context save before a /signal1 or /signal2 read. Because of this it is no longer necessary to have backing_ops and hw_ops versions of this function so they have been removed. Regular applications should not rely on reading this register to be fast, as it's conceptually a write-only file from the PPE perspective. Signed-off-by: Dwayne Grant McConnell -- Dwayne Grant McConnell Lotus Notes Mail: Dwayne McConnell [Mail]/Austin/IBM@IBMUS Lotus Notes Calendar: Dwayne McConnell [Calendar]/Austin/IBM@IBMUS --- diffstat: file.c | 30 ++++++++++++++++++++++-------- hw_ops.c | 12 ------------ 2 files changed, 22 insertions(+), 20 deletions(-) ====== spufs-vm-io-mappings.diff ====== Subject: spufs: avoid user-triggered oops in ptrace From: Christoph Hellwig When one of the spufs files is mapped into a process address space, regular users can use ptrace to attempt accessing them with access_process_vm(). With the way that the mappings currently work, this likely causes an oops. Setting the vm_flags to VM_IO makes sure that ptrace can not access them but returns an error code. This is not the perfect solution in case of the local store mapping, but it fixes the oops in a well-defined way. Also remove leftover VM_RESERVED flags in spufs. The VM_RESERVED flag is on it's way out and not checked by the memory managment code anymore. Signed-off-by: Arnd Bergmann Signed-off-by: Christoph Hellwig --- diffstat: file.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) ====== spufs-map-nonguarded.diff ====== Subject: spufs: always map local store non-guarded When fixing spufs to map the 'mem' file backing store cacheable, I incorrectly set the physical mapping to use both cache-inhibited and guarded mapping, which resulted in a serious performance degradation. Debugged-by: Michael Ellerman Signed-off-by: Arnd Bergmann --- diffstat: file.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ====== 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 --- --- diffstat: switch.c | 1 + 1 file changed, 1 insertion(+) ====== cell-fix-sparse-warning-in-xmon.diff ====== Subject: Fix sparse warning in xmon Cell code From: Michael Ellerman My patch to add spu helpers to xmon (a898497088f46252e6750405504064e2dce53117) introduced a few sparse warnings, because I was dereferencing an __iomem pointer. I think the best way to handle it is to actually use the appropriate in_beXX functions. Need to rejigger the DUMP macro a little to accomodate that. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann --- Arnd, it might be nice to merge this for SDK 2.0 if that's still an option, just so that it matches upstream as much as possible. arch/powerpc/xmon/xmon.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) --- diffstat: xmon.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) ====== cell-xmon-show-spu-state.diff ====== Subject: Show state of spus as they're stopped in Cell xmon helper From: Michael Ellerman After stopping spus in xmon I often find myself trawling through the field dumps to find out which spus were running. The spu stopping code actually knows what's running, so let's print it out to save the user some futzing. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann --- arch/powerpc/xmon/xmon.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) --- diffstat: xmon.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) ====== cell-xmon-sd-command.diff ====== Subject: Add a 'sd' command (spu dump) to xmon to dump spu local store From: Michael Ellerman Add a command to xmon to dump the memory of a spu's local store. This mimics the 'd' command which dumps regular memory, but does a little hand holding by taking the user supplied address and finding that offset in the local store for the specified spu. This makes it easy for example to look at what was executing on a spu: 1:mon> ss ... Stopped spu 04 (was running) ... 1:mon> sf 4 Dumping spu fields at address c0000000019e0a00: ... problem->spu_npc_RW = 0x228 ... 1:mon> sd 4 0x228 d000080080318228 01a00c021cffc408 4020007f217ff488 |........@ ..!...| Aha, 01a00c02, which is of course rdch $2,$ch24 ! Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann --- arch/powerpc/xmon/xmon.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) --- diffstat: xmon.c | 52 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) ====== spidernet-add-net_ratelimit.diff ====== Subject: Spidernet - add net_ratelimit to suppress long output From: James K Lewis This patch adds net_ratelimit to many of the printks in order to limit extraneous warning messages (created in response to Bug 28554). This has been tested, please apply. Signed-off-by: James K Lewis --- drivers/net/spider_net.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) --- diffstat: spider_net.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) ====== spufs-master-control.diff ====== --- diffstat: backing_ops.c | 24 +++++++++++++++++++--- context.c | 40 +++++++++++++++++++------------------- hw_ops.c | 28 +++++++++++++++++++------- inode.c | 15 +++++++++++--- run.c | 3 +- spufs.h | 3 +- 6 files changed, 78 insertions(+), 35 deletions(-) ====== spufs-autorecycle-isolated.diff ====== Subject: spufs: replace recycle file with automated method It seems we don't need to use an explicit 'recycle' file if we simply rely on the initial secure application to exit secure mode correctly before loading the new kernel. This makes the interface much simpler and more consistant. The code may get even simpler if we move the initial isolated load into the spu_run instead of doing it behind the back of spu_create. Right now, this patch is completely untested, due to lack of the right simulator version for the isolation feature. The patch needs spufs-master-control.diff to be applied first. Please test this and report back on the success with it. Signed-off-by: Arnd Bergmann --- diffstat: file.c | 32 -------------------------------- inode.c | 7 +------ run.c | 29 +++++++++++++++++++++++++---- spufs.h | 2 +- 4 files changed, 27 insertions(+), 43 deletions(-)