Loading...
osfmk/ppc/aligned_data.s xnu-792.6.22 xnu-344
--- xnu/xnu-792.6.22/osfmk/ppc/aligned_data.s
+++ xnu/xnu-344/osfmk/ppc/aligned_data.s
@@ -43,32 +43,32 @@
  
 		
 #include <debug.h>
+#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>
 
+;
+;		NOTE: We need this only if PREEMPTSTACK is set to non-zero in hw_lock.
+;		Make sure they are set to the same thing
+;
+#define PREEMPTSTACK 0
+
 			.data
 
-/*		4096-byte aligned areas */
-
-		.globl	EXT(PerProcTable)
-		.align	12
-EXT(PerProcTable):									; Per processor table
-		.space	(ppeSize*MAX_CPUS),0				; (filled with 0s)
-
-		.globl	EXT(BootProcInfo)
-		.align	12
-EXT(BootProcInfo):									; Per processor data area
-		.space	ppSize,0							; (filled with 0s)
+/*		1024-byte aligned areas */
+
+		.globl	EXT(per_proc_info)
+		.align	10
+EXT(per_proc_info):									; Per processor data area
+		.fill	(ppSize*NCPUS)/4,4,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	.,.+pmapSize
+		.set	.,.+PMAP_SIZE
 
 
 /*		256-byte aligned areas */
@@ -83,13 +83,57 @@
 debstash:
 		.set	.,.+256
 
+		.globl	EXT(hw_counts)						; Counter banks per processor
+		.align	8
+EXT(hw_counts):
+		.set	.,.+(NCPUS*256)
+
+#if PREEMPTSTACK
+
+;
+;		NOTE: We need this only if PREEMPTSTACK is set to non-zero in hw_lock.
+;
+
+		.globl	EXT(DBGpreempt)						; preemption debug stack
+		.align	8
+EXT(DBGpreempt):
+		.set	.,.+(NCPUS*PREEMPTSTACK*16)
+#endif
+
+
 /*		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:
@@ -101,6 +145,18 @@
 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):
@@ -137,6 +193,19 @@
 		.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 */
 
@@ -166,38 +235,4 @@
 		.globl  EXT(dbspecrs)
 		.align	3
 EXT(dbspecrs):
-		.set	.,.+(336*4)
-
-/*
- *		Boot processor Interrupt and debug stacks go here.
- */
-
-                /* in the __HIB section since the hibernate restore code uses this stack. */
-		.section __HIB, __data
-
-		.align  PPC_PGSHIFT
-     
-	 	.globl  EXT(intstack)
-EXT(intstack):
-	 	.globl  EXT(gIOHibernateRestoreStack)
-EXT(gIOHibernateRestoreStack):
-
-		.set	.,.+INTSTACK_SIZE
-
-	 	.globl  EXT(gIOHibernateRestoreStackEnd)
-EXT(gIOHibernateRestoreStackEnd):
-
-                /* back to the regular __DATA section. */
-
-		.section __DATA, __data
-		.align  PPC_PGSHIFT
-
-/* Debugger stack - used by the debugger if present */
-
-    	.globl  EXT(debstack)
-EXT(debstack):
-		.set	., .+KERNEL_STACK_SIZE
-
-		.section __DATA, __data
-
-
+		.set	.,.+(80*4)