/*
- * Copyright (c) 2000-2006 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2012 Apple Inc. All rights reserved.
*
* @APPLE_OSREFERENCE_LICENSE_HEADER_START@
*
#define T_PF_EXECUTE 0x10 /* instruction fetch when NX */
#endif
-
#if !defined(ASSEMBLER) && defined(MACH_KERNEL)
#include <i386/thread.h>
extern void sync_iss_to_iks_unconditionally(
x86_saved_state_t *regs);
-extern void kernel_trap(x86_saved_state_t *regs);
+extern void kernel_trap(x86_saved_state_t *regs, uintptr_t *lo_spp);
extern void user_trap(x86_saved_state_t *regs);
extern void interrupt(x86_saved_state_t *regs);
-#ifdef __i386__
-extern void panic_double_fault32(int code);
-extern void panic_machine_check32(int code);
-#endif
extern void panic_double_fault64(x86_saved_state_t *regs);
extern void panic_machine_check64(x86_saved_state_t *regs);
typedef kern_return_t (*perfCallback)(
int trapno,
void *regs,
- int unused1,
- int unused2);
+ uintptr_t *lo_spp,
+ int);
+
+typedef kern_return_t (*perfASTCallback)(ast_t reasons, ast_t *myast);
extern volatile perfCallback perfTrapHook;
-extern volatile perfCallback perfASTHook;
+extern volatile perfASTCallback perfASTHook;
extern volatile perfCallback perfIntHook;
extern void panic_i386_backtrace(void *, int, const char *, boolean_t, x86_saved_state_t *);
#if MACH_KDP
extern boolean_t kdp_i386_trap(
unsigned int,
-#ifdef __i386__
- x86_saved_state32_t *,
-#else
x86_saved_state64_t *,
-#endif
kern_return_t,
vm_offset_t);
#endif /* MACH_KDP */