diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2007-12-04 21:49:31 -0500 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2007-12-18 19:00:04 -0500 |
commit | 58bd403c3c79dd41acf5af2d170bd4e0872bb326 (patch) | |
tree | 64e30777f28b9378d690e224aefbaac27be79d7b /include/asm-powerpc/spu.h | |
parent | a0a7ae8939e3fdecf5478ddba54562e23de7ca1d (diff) |
[POWERPC] cell: handle kernel SLB setup in spu_base.c
Currently, the SPU context switch code (spufs/switch.c) sets up the
SPU's SLBs directly, which requires some low-level mm stuff.
This change moves the kernel SLB setup to spu_base.c, by exposing
a function spu_setup_kernel_slbs() to do this setup. This allows us
to remove the low-level mm code from switch.c, making it possible
to later move switch.c to the spufs module.
Also, add a struct spu_slb for the cases where we need to deal with
SLB entries.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include/asm-powerpc/spu.h')
-rw-r--r-- | include/asm-powerpc/spu.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/asm-powerpc/spu.h b/include/asm-powerpc/spu.h index b1accce77bb5..844c7cdd6b84 100644 --- a/include/asm-powerpc/spu.h +++ b/include/asm-powerpc/spu.h | |||
@@ -104,6 +104,7 @@ | |||
104 | 104 | ||
105 | struct spu_context; | 105 | struct spu_context; |
106 | struct spu_runqueue; | 106 | struct spu_runqueue; |
107 | struct spu_lscsa; | ||
107 | struct device_node; | 108 | struct device_node; |
108 | 109 | ||
109 | enum spu_utilization_state { | 110 | enum spu_utilization_state { |
@@ -200,6 +201,9 @@ int spu_irq_class_0_bottom(struct spu *spu); | |||
200 | int spu_irq_class_1_bottom(struct spu *spu); | 201 | int spu_irq_class_1_bottom(struct spu *spu); |
201 | void spu_irq_setaffinity(struct spu *spu, int cpu); | 202 | void spu_irq_setaffinity(struct spu *spu, int cpu); |
202 | 203 | ||
204 | void spu_setup_kernel_slbs(struct spu *spu, | ||
205 | struct spu_lscsa *lscsa, void *code); | ||
206 | |||
203 | #ifdef CONFIG_KEXEC | 207 | #ifdef CONFIG_KEXEC |
204 | void crash_register_spus(struct list_head *list); | 208 | void crash_register_spus(struct list_head *list); |
205 | #else | 209 | #else |