patch-2.4.19 linux-2.4.19/include/asm-mips64/branch.h

Next file: linux-2.4.19/include/asm-mips64/bugs.h
Previous file: linux-2.4.19/include/asm-mips64/bootinfo.h
Back to the patch index
Back to the overall index

diff -urN linux-2.4.18/include/asm-mips64/branch.h linux-2.4.19/include/asm-mips64/branch.h
@@ -3,20 +3,29 @@
  * License.  See the file "COPYING" in the main directory of this archive
  * for more details.
  *
- * Branch and jump emulation.
- *
- * Copyright (C) 1996, 1997, 1998, 1999 by Ralf Baechle
+ * Copyright (C) 1996, 1997, 1998, 2001 by Ralf Baechle
  */
+#ifndef _ASM_BRANCH_H
+#define _ASM_BRANCH_H
+
 #include <asm/ptrace.h>
 
-extern inline int delay_slot(struct pt_regs *regs)
+static inline int delay_slot(struct pt_regs *regs)
 {
 	return regs->cp0_cause & CAUSEF_BD;
 }
 
+static inline unsigned long exception_epc(struct pt_regs *regs)
+{
+	if (!delay_slot(regs))
+		return regs->cp0_epc;
+
+	return regs->cp0_epc + 4;
+}
+
 extern int __compute_return_epc(struct pt_regs *regs);
 
-extern inline int compute_return_epc(struct pt_regs *regs)
+static inline int compute_return_epc(struct pt_regs *regs)
 {
 	if (!delay_slot(regs)) {
 		regs->cp0_epc += 4;
@@ -25,3 +34,5 @@
 
 	return __compute_return_epc(regs);
 }
+
+#endif /* _ASM_BRANCH_H */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)