X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/1c79356b52d46aa6b508fb032f5ae709b1f2897b..4a2492630c73add3c3aa8a805ba4ff343d4a58ea:/osfmk/ppc/aligned_data.s diff --git a/osfmk/ppc/aligned_data.s b/osfmk/ppc/aligned_data.s index 00dbebc36..a1c091cd9 100644 --- a/osfmk/ppc/aligned_data.s +++ b/osfmk/ppc/aligned_data.s @@ -3,19 +3,22 @@ * * @APPLE_LICENSE_HEADER_START@ * - * The contents of this file constitute Original Code as defined in and - * are subject to the Apple Public Source License Version 1.1 (the - * "License"). You may not use this file except in compliance with the - * License. Please obtain a copy of the License at - * http://www.apple.com/publicsource and read it before using this file. + * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. * - * This Original Code and all software distributed under the License are - * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * 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. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the - * License for the specific language governing rights and limitations - * under the License. + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. * * @APPLE_LICENSE_HEADER_END@ */ @@ -46,6 +49,8 @@ #include #include #include +#include +#include #include ; @@ -56,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 */ @@ -83,11 +88,6 @@ EXT(GratefulDebWork): ; Enough for 2 rows of 8 chars of 16-pixel wide 32- debstash: .set .,.+256 - .globl EXT(hw_counts) ; Counter banks per processor - .align 8 -EXT(hw_counts): - .set .,.+(NCPUS*256) - #if PREEMPTSTACK ; @@ -101,22 +101,27 @@ EXT(DBGpreempt): #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) - .align 5 -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 @@ -124,114 +129,109 @@ EXT(dgWork): .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 + + .globl EXT(NMIss) + .align 7 +EXT(NMIss): .long 0 .long 0 - - - .globl fwdisplock + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + .long 0 + +/* 32-byte aligned areas */ + + .globl EXT(dbvecs) .align 5 -fwdisplock: - .set .,.+32 +EXT(dbvecs): + .set .,.+(33*16) .globl hexfont .align 5 #include - .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 + .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 */ -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 */ /* 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 + .long 0xC24BC195 /* Initial value */ + .long 0x87859393 /* of floating point registers */ + .long 0xE681A2C8 /* and others */ + .long 0x8599855A - .globl EXT(DebugWork) - .align 3 + .globl EXT(DebugWork) + .align 3 EXT(DebugWork): - .long 0 - .long 0 - .long 0 - .long 0 + .long 0 + .long 0 + .long 0 + .long 0 - .globl EXT(dbfloats) - .align 3 + .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 +