summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/ps3/htab.c
diff options
context:
space:
mode:
authorGeoff Levand2007-06-15 23:19:32 +0200
committerPaul Mackerras2007-06-28 11:16:37 +0200
commit9263e85aa9e9d341ef238fffc040f586674d1709 (patch)
tree51054ba00b9283f8c70125b87968a9bf3274a7f8 /arch/powerpc/platforms/ps3/htab.c
parent[POWERPC] PS3: Simplify definition of DBG (diff)
downloadkernel-qcow2-linux-9263e85aa9e9d341ef238fffc040f586674d1709.tar.gz
kernel-qcow2-linux-9263e85aa9e9d341ef238fffc040f586674d1709.tar.xz
kernel-qcow2-linux-9263e85aa9e9d341ef238fffc040f586674d1709.zip
[POWERPC] PS3: Kexec support
Fixup the core platform parts needed for kexec to work on the PS3. - Setup ps3_hpte_clear correctly. - Mask interrupts on irq removal. - Release all hypervisor resources. - Create new routine ps3_shutdown_IRQ() Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/ps3/htab.c')
-rw-r--r--arch/powerpc/platforms/ps3/htab.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/arch/powerpc/platforms/ps3/htab.c b/arch/powerpc/platforms/ps3/htab.c
index d741edd96a24..5d2e176a1b18 100644
--- a/arch/powerpc/platforms/ps3/htab.c
+++ b/arch/powerpc/platforms/ps3/htab.c
@@ -234,10 +234,17 @@ static void ps3_hpte_invalidate(unsigned long slot, unsigned long va,
static void ps3_hpte_clear(void)
{
- /* Make sure to clean up the frame buffer device first */
- ps3fb_cleanup();
+ int result;
- lv1_unmap_htab(htab_addr);
+ DBG(" -> %s:%d\n", __func__, __LINE__);
+
+ result = lv1_unmap_htab(htab_addr);
+ BUG_ON(result);
+
+ ps3_mm_shutdown();
+ ps3_mm_vas_destroy();
+
+ DBG(" <- %s:%d\n", __func__, __LINE__);
}
void __init ps3_hpte_init(unsigned long htab_size)