diff options
author | Mark Nutter <mnutter@us.ibm.com> | 2006-03-22 18:00:12 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-03-26 22:48:28 -0500 |
commit | 6df10a82f8de89c66eb91c371d62d76e87b2cbba (patch) | |
tree | e8615f4c00a44f4e4a609d59c51e958f0300526b /include/asm-powerpc/spu.h | |
parent | a33a7d7309d79656bc19a0e96fc4547a1633283e (diff) |
[PATCH] spufs: enable SPE problem state MMIO access.
This patch is layered on top of CONFIG_SPARSEMEM
and is patterned after direct mapping of LS.
This patch allows mmap() of the following regions:
"mfc", which represents the area from [0x3000 - 0x3fff];
"cntl", which represents the area from [0x4000 - 0x4fff];
"signal1" which begins at offset 0x14000; "signal2" which
begins at offset 0x1c000.
The signal1 & signal2 files may be mmap()'d by regular user
processes. The cntl and mfc file, on the other hand, may
only be accessed if the owning process has CAP_SYS_RAWIO,
because they have the potential to confuse the kernel
with regard to parallel access to the same files with
regular file operations: the kernel always holds a spinlock
when accessing registers in these areas to serialize them,
which can not be guaranteed with user mmaps,
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include/asm-powerpc/spu.h')
-rw-r--r-- | include/asm-powerpc/spu.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/asm-powerpc/spu.h b/include/asm-powerpc/spu.h index 8564b8234069..f431d8b0b651 100644 --- a/include/asm-powerpc/spu.h +++ b/include/asm-powerpc/spu.h | |||
@@ -110,6 +110,7 @@ struct spu { | |||
110 | char *name; | 110 | char *name; |
111 | unsigned long local_store_phys; | 111 | unsigned long local_store_phys; |
112 | u8 *local_store; | 112 | u8 *local_store; |
113 | unsigned long problem_phys; | ||
113 | struct spu_problem __iomem *problem; | 114 | struct spu_problem __iomem *problem; |
114 | struct spu_priv1 __iomem *priv1; | 115 | struct spu_priv1 __iomem *priv1; |
115 | struct spu_priv2 __iomem *priv2; | 116 | struct spu_priv2 __iomem *priv2; |