Loading...
--- xnu/xnu-201/osfmk/ppc/aligned_data.s
+++ xnu/xnu-517.11.1/osfmk/ppc/aligned_data.s
@@ -46,6 +46,8 @@
#include <cpus.h>
#include <ppc/asm.h>
#include <ppc/proc_reg.h>
+#include <ppc/spec_reg.h>
+#include <mach/ppc/vm_param.h>
#include <assym.s>
;
@@ -56,19 +58,19 @@
.data
-/* 1024-byte aligned areas */
+/* 4096-byte aligned areas */
.globl EXT(per_proc_info)
- .align 10
+ .align 12
EXT(per_proc_info): ; Per processor data area
- .fill (ppSize*NCPUS)/4,4,0 ; (filled with 0s)
+ .space (ppSize*NCPUS),0 ; (filled with 0s)
/* 512-byte aligned areas */
.globl EXT(kernel_pmap_store) ; This is the kernel_pmap
.align 8
EXT(kernel_pmap_store):
- .set .,.+PMAP_SIZE
+ .set .,.+pmapSize
/* 256-byte aligned areas */
@@ -82,11 +84,6 @@
.align 8
debstash:
.set .,.+256
-
- .globl EXT(hw_counts) ; Counter banks per processor
- .align 8
-EXT(hw_counts):
- .set .,.+(NCPUS*256)
#if PREEMPTSTACK
@@ -101,137 +98,137 @@
#endif
-/* 32-byte aligned areas */
-
- .globl EXT(saveanchor)
- .align 5
-EXT(saveanchor):
- .set .,.+SVsize
+/* 128-byte aligned areas */
.globl EXT(mapCtl)
- .align 5
+ .align 7
EXT(mapCtl):
.set .,.+mapcsize
- .globl EXT(dgWork)
+ .globl fwdisplock
+ .align 7
+fwdisplock:
+ .set .,.+128
+
+ .globl EXT(free_mappings)
+ .align 7
+
+EXT(free_mappings):
+ .long 0
+
+ .globl EXT(syncClkSpot)
+ .align 7
+EXT(syncClkSpot):
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+
+ .globl EXT(NMIss)
+ .align 7
+EXT(NMIss):
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+
+/* 32-byte aligned areas */
+
+ .globl EXT(dbvecs)
.align 5
-EXT(dgWork):
- .long 0
- .long 0
- .long 0
- .long 0
- .long 0
- .long 0
- .long 0
- .long 0
-
- .globl EXT(trcWork)
- .align 5
-EXT(trcWork):
-#if DEBUG
-/* .long 0x02000000 */ /* Only alignment exceptions enabled */
- .long 0xFFFFFFFF /* All enabled */
-/* .long 0xFBBFFFFF */ /* EXT and DEC disabled */
-/* .long 0xFFBFFFFF */ /* DEC disabled */
-#else
- .long 0x00000000 ; All disabled on non-debug systems
-#endif
- .long EXT(traceTableBeg) ; The next trace entry to use
- .long EXT(traceTableBeg) ; Start of the trace table
- .long EXT(traceTableEnd) ; End (wrap point) of the trace
- .long 0 ; Saved mask while in debugger
-
- .long 0
- .long 0
- .long 0
-
-
- .globl fwdisplock
- .align 5
-fwdisplock:
- .set .,.+32
+EXT(dbvecs):
+ .set .,.+(33*16)
.globl hexfont
.align 5
#include <ppc/hexfont.h>
- .globl EXT(QNaNbarbarian)
- .align 5
+ .globl EXT(QNaNbarbarian)
+ .align 5
EXT(QNaNbarbarian):
- .long 0x7FFFDEAD /* This is a quiet not-a-number which is a "known" debug value */
- .long 0x7FFFDEAD /* This is a quiet not-a-number which is a "known" debug value */
- .long 0x7FFFDEAD /* This is a quiet not-a-number which is a "known" debug value */
- .long 0x7FFFDEAD /* This is a quiet not-a-number which is a "known" debug value */
-
- .long 0x7FFFDEAD /* This is a quiet not-a-number which is a "known" debug value */
- .long 0x7FFFDEAD /* This is a quiet not-a-number which is a "known" debug value */
- .long 0x7FFFDEAD /* This is a quiet not-a-number which is a "known" debug value */
- .long 0x7FFFDEAD /* This is a quiet not-a-number which is a "known" debug value */
-
- .globl EXT(free_mappings)
- .align 5
-
-EXT(free_mappings):
- .long 0
-
- .globl EXT(syncClkSpot)
- .align 5
-EXT(syncClkSpot):
- .long 0
- .long 0
- .long 0
- .long 0
- .long 0
- .long 0
- .long 0
- .long 0
-
- .globl EXT(NMIss)
- .align 5
-EXT(NMIss):
- .long 0
- .long 0
- .long 0
- .long 0
- .long 0
- .long 0
- .long 0
- .long 0
-
- .globl EXT(dbvecs)
- .align 5
-EXT(dbvecs):
- .set .,.+(33*16)
-
-
+ .long 0x7FFFDEAD /* This is a quiet not-a-number which is a "known" debug value */
+ .long 0x7FFFDEAD /* This is a quiet not-a-number which is a "known" debug value */
+ .long 0x7FFFDEAD /* This is a quiet not-a-number which is a "known" debug value */
+ .long 0x7FFFDEAD /* This is a quiet not-a-number which is a "known" debug value */
+
+ .long 0x7FFFDEAD /* This is a quiet not-a-number which is a "known" debug value */
+ .long 0x7FFFDEAD /* This is a quiet not-a-number which is a "known" debug value */
+ .long 0x7FFFDEAD /* This is a quiet not-a-number which is a "known" debug value */
+ .long 0x7FFFDEAD /* This is a quiet not-a-number which is a "known" debug value */
/* 8-byte aligned areas */
- .globl EXT(FloatInit)
- .align 3
+ .globl EXT(FloatInit)
+ .align 3
EXT(FloatInit):
- .long 0xC24BC195 /* Initial value */
- .long 0x87859393 /* of floating point registers */
- .long 0xE681A2C8 /* and others */
- .long 0x8599855A
-
- .globl EXT(DebugWork)
- .align 3
+ .long 0xC24BC195 /* Initial value */
+ .long 0x87859393 /* of floating point registers */
+ .long 0xE681A2C8 /* and others */
+ .long 0x8599855A
+
+ .globl EXT(DebugWork)
+ .align 3
EXT(DebugWork):
- .long 0
- .long 0
- .long 0
- .long 0
-
- .globl EXT(dbfloats)
- .align 3
+ .long 0
+ .long 0
+ .long 0
+ .long 0
+
+ .globl EXT(dbfloats)
+ .align 3
EXT(dbfloats):
.set .,.+(33*8)
- .globl EXT(dbspecrs)
- .align 3
+ .globl EXT(dbspecrs)
+ .align 3
EXT(dbspecrs):
.set .,.+(80*4)
+
+/*
+ * Interrupt and debug stacks go here
+ */
+
+ .align PPC_PGSHIFT
+ .globl EXT(FixedStackStart)
+EXT(FixedStackStart):
+
+ .globl EXT(intstack)
+EXT(intstack):
+ .set .,.+INTSTACK_SIZE*NCPUS
+
+/* Debugger stack - used by the debugger if present */
+/* NOTE!!! Keep the debugger stack right after the interrupt stack */
+
+ .globl EXT(debstack)
+EXT(debstack):
+ .set ., .+KERNEL_STACK_SIZE*NCPUS
+
+ .globl EXT(FixedStackEnd)
+EXT(FixedStackEnd):
+
+ .align ALIGN
+ .globl EXT(intstack_top_ss)
+EXT(intstack_top_ss):
+ .long EXT(intstack)+INTSTACK_SIZE-FM_SIZE /* intstack_top_ss points to the top of interrupt stack */
+
+ .align ALIGN
+ .globl EXT(debstack_top_ss)
+EXT(debstack_top_ss):
+
+ .long EXT(debstack)+KERNEL_STACK_SIZE-FM_SIZE /* debstack_top_ss points to the top of debug stack */
+
+ .globl EXT(debstackptr)
+EXT(debstackptr):
+ .long EXT(debstack)+KERNEL_STACK_SIZE-FM_SIZE
+