traps.c (f82796214a95b1ec00c2f121c1080d10f2b099a1) | traps.c (ce48b2100785e5ca629fb3aa8e3b50aca808f692) |
---|---|
1/* 2 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License 6 * as published by the Free Software Foundation; either version 7 * 2 of the License, or (at your option) any later version. 8 * --- 953 unchanged lines hidden (view full) --- 962 return; 963 } 964 965 printk(KERN_EMERG "Unrecoverable VMX/Altivec Unavailable Exception " 966 "%lx at %lx\n", regs->trap, regs->nip); 967 die("Unrecoverable VMX/Altivec Unavailable Exception", regs, SIGABRT); 968} 969 | 1/* 2 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License 6 * as published by the Free Software Foundation; either version 7 * 2 of the License, or (at your option) any later version. 8 * --- 953 unchanged lines hidden (view full) --- 962 return; 963 } 964 965 printk(KERN_EMERG "Unrecoverable VMX/Altivec Unavailable Exception " 966 "%lx at %lx\n", regs->trap, regs->nip); 967 die("Unrecoverable VMX/Altivec Unavailable Exception", regs, SIGABRT); 968} 969 |
970void vsx_unavailable_exception(struct pt_regs *regs) 971{ 972 if (user_mode(regs)) { 973 /* A user program has executed an vsx instruction, 974 but this kernel doesn't support vsx. */ 975 _exception(SIGILL, regs, ILL_ILLOPC, regs->nip); 976 return; 977 } 978 979 printk(KERN_EMERG "Unrecoverable VSX Unavailable Exception " 980 "%lx at %lx\n", regs->trap, regs->nip); 981 die("Unrecoverable VSX Unavailable Exception", regs, SIGABRT); 982} 983 |
|
970void performance_monitor_exception(struct pt_regs *regs) 971{ 972 perf_irq(regs); 973} 974 975#ifdef CONFIG_8xx 976void SoftwareEmulation(struct pt_regs *regs) 977{ --- 116 unchanged lines hidden (view full) --- 1094 if (printk_ratelimit()) 1095 printk(KERN_ERR "Unrecognized altivec instruction " 1096 "in %s at %lx\n", current->comm, regs->nip); 1097 current->thread.vscr.u[3] |= 0x10000; 1098 } 1099} 1100#endif /* CONFIG_ALTIVEC */ 1101 | 984void performance_monitor_exception(struct pt_regs *regs) 985{ 986 perf_irq(regs); 987} 988 989#ifdef CONFIG_8xx 990void SoftwareEmulation(struct pt_regs *regs) 991{ --- 116 unchanged lines hidden (view full) --- 1108 if (printk_ratelimit()) 1109 printk(KERN_ERR "Unrecognized altivec instruction " 1110 "in %s at %lx\n", current->comm, regs->nip); 1111 current->thread.vscr.u[3] |= 0x10000; 1112 } 1113} 1114#endif /* CONFIG_ALTIVEC */ 1115 |
1116#ifdef CONFIG_VSX 1117void vsx_assist_exception(struct pt_regs *regs) 1118{ 1119 if (!user_mode(regs)) { 1120 printk(KERN_EMERG "VSX assist exception in kernel mode" 1121 " at %lx\n", regs->nip); 1122 die("Kernel VSX assist exception", regs, SIGILL); 1123 } 1124 1125 flush_vsx_to_thread(current); 1126 printk(KERN_INFO "VSX assist not supported at %lx\n", regs->nip); 1127 _exception(SIGILL, regs, ILL_ILLOPC, regs->nip); 1128} 1129#endif /* CONFIG_VSX */ 1130 |
|
1102#ifdef CONFIG_FSL_BOOKE 1103void CacheLockingException(struct pt_regs *regs, unsigned long address, 1104 unsigned long error_code) 1105{ 1106 /* We treat cache locking instructions from the user 1107 * as priv ops, in the future we could try to do 1108 * something smarter 1109 */ --- 88 unchanged lines hidden --- | 1131#ifdef CONFIG_FSL_BOOKE 1132void CacheLockingException(struct pt_regs *regs, unsigned long address, 1133 unsigned long error_code) 1134{ 1135 /* We treat cache locking instructions from the user 1136 * as priv ops, in the future we could try to do 1137 * something smarter 1138 */ --- 88 unchanged lines hidden --- |