]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/ia64/ia32/ia32_support.c
[IA64] honor notify_die() returning NOTIFY_STOP
[karo-tx-linux.git] / arch / ia64 / ia32 / ia32_support.c
index beea7a0b9dc6a090047fb3d550bfe79e90ed5995..896b1ebbfb268381bc87eb2e766e9c75e7d75f84 100644 (file)
@@ -27,7 +27,7 @@
 
 #include "ia32priv.h"
 
-extern void die_if_kernel (char *str, struct pt_regs *regs, long err);
+extern int die_if_kernel (char *str, struct pt_regs *regs, long err);
 
 struct exec_domain ia32_exec_domain;
 struct page *ia32_shared_page[NR_CPUS];
@@ -217,7 +217,8 @@ ia32_bad_interrupt (unsigned long int_num, struct pt_regs *regs)
 {
        siginfo_t siginfo;
 
-       die_if_kernel("Bad IA-32 interrupt", regs, int_num);
+       if (die_if_kernel("Bad IA-32 interrupt", regs, int_num))
+               return;
 
        siginfo.si_signo = SIGTRAP;
        siginfo.si_errno = int_num;     /* XXX is it OK to abuse si_errno like this? */
@@ -249,11 +250,11 @@ ia32_init (void)
 
 #if PAGE_SHIFT > IA32_PAGE_SHIFT
        {
-               extern struct kmem_cache *partial_page_cachep;
+               extern struct kmem_cache *ia64_partial_page_cachep;
 
-               partial_page_cachep = kmem_cache_create("partial_page_cache",
-                                               sizeof(struct partial_page),
-                                               0, SLAB_PANIC, NULL, NULL);
+               ia64_partial_page_cachep = kmem_cache_create("ia64_partial_page_cache",
+                                       sizeof(struct ia64_partial_page),
+                                       0, SLAB_PANIC, NULL);
        }
 #endif
        return 0;