/*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2007 Apple Computer, Inc. All rights reserved.
*
- * @APPLE_LICENSE_HEADER_START@
- *
- * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
+ * compliance with the License. The rights granted to you under the License
+ * may not be used to create, or enable the creation or redistribution of,
+ * unlawful or unlicensed copies of an Apple operating system, or to
+ * circumvent, violate, or enable the circumvention or violation of, any
+ * terms of an Apple operating system software license agreement.
+ *
+ * Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* Please see the License for the specific language governing rights and
* limitations under the License.
*
- * @APPLE_LICENSE_HEADER_END@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
*/
/*
* @OSF_COPYRIGHT@
#define parm 0x01000000
#define sten 7
#define stenm 0x01000000
+#define dnap 7
+#define dnapm 0x01000000
#define doze 8
#define dozem 0x00800000
#define nap 9
#define dcfim 0x00000400
#define spd 22
#define spdm 0x00000200
+#define hdice 23
+#define hdicem 0x00000100
#define sge 24
#define sgem 0x00000080
#define dcfa 25
; hid1 bits
#define hid1pcem 0xF8000000
#define hid1prem 0x06000000
+#define hid1dfs0 8
+#define hid1dfs0m 0x00800000
+#define hid1dfs1 9
+#define hid1dfs1m 0x00400000
#define hid1pi0 14
#define hid1pi0m 0x00020000
#define hid1FCPErr 14
#define CoreSolid 2
#define CorePulse 3
-; GUS Mode Register
-#define GUSModeReg 0x0430
-#define GUSMdmapen 0x00008000
-#define GUSMstgtdis 0x00000080
-#define GUSMstgttim 0x00000038
-#define GUSMstgttoff 0x00000004
+; L2 FIR
+#define l2FIR 0x0400
+#define l2FIRrst 0x0410
+
+; Bus FIR
+#define busFIR 0x0A00
+#define busFIRrst 0x0A10
; HID4
#define hid4RMCI 23
#define ictce 31
#define ictcem 0x00000001
+#define slbESID 36
+#define slbKey 52
+#define slbIndex 52
+#define slbV 36
+#define slbVm 0x08000000
+#define slbCnt 64
+
+/*
+ * Macros to access high and low word values of an address
+ */
+
+#define HIGH_CADDR(x) ha16(x)
+#define HIGH_ADDR(x) hi16(x)
+#define LOW_ADDR(x) lo16(x)
+
+#endif /* ASSEMBLER */
+
#define cr0_lt 0
#define cr0_gt 1
#define cr0_eq 2
#define cr7_so 31
#define cr7_un 31
-#define slbESID 36
-#define slbKey 52
-#define slbIndex 52
-#define slbV 36
-#define slbVm 0x08000000
-#define slbCnt 64
+/* GUS Mode Register */
+#define GUSModeReg 0x0430
+#define GUSMdmapen 0x00008000
+#define GUSMstgtdis 0x00000080
+#define GUSMstgttim 0x00000038
+#define GUSMstgttoff 0x00000004
-/*
- * Macros to access high and low word values of an address
- */
+/* PowerTune */
+#define PowerTuneControlReg 0x0AA001
+#define PowerTuneStatusReg 0x408001
-#define HIGH_CADDR(x) ha16(x)
-#define HIGH_ADDR(x) hi16(x)
-#define LOW_ADDR(x) lo16(x)
+/* Code inject */
+// The following bits are always on in the MSR when injected code is executing
+#define ijemon 0x00000010
+// The following bits are always off in the MSR when injected code it executing
+#define ijemoff 0x0000C620
+#define ijemtrap ijemon|1
+// The following is the inject exit trap
+#define ijtrap 0x0FFFC9C9
-#endif /* ASSEMBLER */
+/* Misc */
+#define srr1clr 0x783F0000
/* Tags are placed before Immediately Following Code (IFC) for the debugger
* to be able to deduce where to find various registers when backtracing
#define data16 .byte 0x66
#define addr16 .byte 0x67
-#if !GPROF
#define MCOUNT
-#endif /* GPROF */
#define ELF_FUNC(x)
#define ELF_DATA(x)