[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>
This commit is contained in:
committed by
Arnd Bergmann
parent
a0a7ae8939
commit
58bd403c3c
@@ -104,6 +104,7 @@
|
||||
|
||||
struct spu_context;
|
||||
struct spu_runqueue;
|
||||
struct spu_lscsa;
|
||||
struct device_node;
|
||||
|
||||
enum spu_utilization_state {
|
||||
@@ -200,6 +201,9 @@ int spu_irq_class_0_bottom(struct spu *spu);
|
||||
int spu_irq_class_1_bottom(struct spu *spu);
|
||||
void spu_irq_setaffinity(struct spu *spu, int cpu);
|
||||
|
||||
void spu_setup_kernel_slbs(struct spu *spu,
|
||||
struct spu_lscsa *lscsa, void *code);
|
||||
|
||||
#ifdef CONFIG_KEXEC
|
||||
void crash_register_spus(struct list_head *list);
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user