Loading...
osfmk/ppc/aligned_data.s xnu-344.49 xnu-517
--- xnu/xnu-344.49/osfmk/ppc/aligned_data.s
+++ xnu/xnu-517/osfmk/ppc/aligned_data.s
@@ -49,6 +49,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>
 
 ;
@@ -59,19 +61,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 */
@@ -85,11 +87,6 @@
 		.align	8
 debstash:
 		.set	.,.+256
-
-		.globl	EXT(hw_counts)						; Counter banks per processor
-		.align	8
-EXT(hw_counts):
-		.set	.,.+(NCPUS*256)
 
 #if PREEMPTSTACK
 
@@ -106,37 +103,11 @@
 
 /*		128-byte aligned areas */
 
-		.globl	EXT(saveanchor)
-		.align	7
-EXT(saveanchor):
-		.set	.,.+SVsize
-
 		.globl	EXT(mapCtl)
 		.align	7
 EXT(mapCtl):
 		.set	.,.+mapcsize
 
-		.globl	EXT(trcWork)
-		.align	7
-EXT(trcWork):
-		.long	EXT(traceTableBeg)					; The next trace entry to use
-#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)					; 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	7
 fwdisplock:
@@ -196,19 +167,6 @@
 		.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(dgWork)
-		.align	5
-EXT(dgWork):
-		.long	0
-		.long	0
-		.long	0
-		.long	0
-		.long	0
-		.long	0
-		.long	0
-		.long	0
-
 
 /*		8-byte aligned areas */
 
@@ -239,3 +197,41 @@
 		.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
+