]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/ppc/lowglobals.h
xnu-1228.3.13.tar.gz
[apple/xnu.git] / osfmk / ppc / lowglobals.h
index f6d3f36e2deb849bfda7314e8bea268aacd8f350..1a18cd1c57b16354269cf456299d311fbdbe5458 100644 (file)
@@ -1,16 +1,19 @@
 /*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2005 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
@@ -20,7 +23,7 @@
  * Please see the License for the specific language governing rights and
  * limitations under the License.
  * 
- * @APPLE_LICENSE_HEADER_END@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  */
 /*
  *             Header files for the Low Memory Globals (lg) 
@@ -28,8 +31,6 @@
 #ifndef        _LOW_MEMORY_GLOBALS_H_
 #define        _LOW_MEMORY_GLOBALS_H_
 
-#include <cpus.h>
-
 #include <mach/mach_types.h>
 #include <mach/vm_types.h>
 #include <mach/machine/vm_types.h>
@@ -38,6 +39,7 @@
 #include <ppc/savearea.h>
 #include <ppc/low_trace.h>
 #include <ppc/Diagnostics.h>
+#include <ppc/mappings.h>
 
 /*
  * Don't change these structures unless you change the corresponding assembly code
@@ -58,7 +60,15 @@ typedef struct lowglo {
        unsigned char   lgVerCode[8];                   /* 5000 System verification code */
        unsigned long long lgZero;                              /* 5008 Double constant 0 */
        unsigned int    lgPPStart;                              /* 5010 Start of per_proc blocks */
-       unsigned int    lgRsv014[27];                   /* 5014 reserved */
+       unsigned int    lgCHUDXNUfnStart;               /* 5014 CHUD XNU function glue table */
+       unsigned int    lgMckFlags;                             /* 5018 Machine check flags */
+       unsigned int    lgVersion;                              /* 501C Pointer to kernel version string */
+       uint64_t                lgPMWvaddr;                             /* 5020 physical memory window virtual address */
+       uint64_t                lgUMWvaddr;                             /* 5028 user memory window virtual address */
+       unsigned int    lgVMMforcedFeats;               /* 5030 VMM boot-args forced feature flags */
+       unsigned int    lgMaxDec;                               /* 5034 Maximum decrementer we can set */
+       unsigned int    lgPmsCtlp;                              /* 5038 Pointer to power management stepper control */
+       unsigned int    lgRsv03C[17];                   /* 503C reserved */
        traceWork               lgTrcWork;                              /* 5080 Tracing control block - trcWork */
        unsigned int    lgRsv0A0[24];                   /* 50A0 reserved */
        struct Saveanchor       lgSaveanchor;           /* 5100 Savearea anchor - saveanchor */
@@ -66,12 +76,24 @@ typedef struct lowglo {
        unsigned int    lgTlbieLck;                             /* 5180 TLBIE lock */
        unsigned int    lgRsv184[31];                   /* 5184 reserved - push to next line */
        struct diagWork lgdgWork;                               /* 5200 Start of diagnostic work area */
-       unsigned int    lgRsv220[24];                   /* 5220 reserved */
-       unsigned int    lgRst280[32];                   /* 5280 reserved */
+       unsigned int    lglcksWork;                             /* 5220 lcks option */
+       unsigned int    lgRsv224[23];                   /* 5224 reserved */
+       pcfg                    lgpPcfg[8];                             /* 5280 Page configurations */
+       unsigned int    lgRst2A0[24];                   /* 52A0 reserved */
        unsigned int    lgKillResv;                             /* 5300 line used to kill reservations */
        unsigned int    lgKillResvpad[31];              /* 5304 pad reservation kill line */
-       unsigned int    lgRsv380[768];                  /* 5380 reserved - push to 1 page */
 
+       unsigned int    lgRsv380[32];                   /* 5380 - 5400 reserved  */
+
+       unsigned int    lgRsv400[32];                   /* 5400 - 5480 reserved  */
+       uint32_t                lgKmodptr;              /* 0x5480 Pointer to kmod, debugging aid */
+       uint32_t                lgTransOff;             /* 0x5484 Pointer to kdp_trans_off, debugging aid */
+       uint32_t                lgReadIO;               /* 0x5488 Pointer to kdp_read_io, debugging aid */
+       uint32_t                lgDevSlot1;             /* 0x548C For developer use */
+       uint32_t                lgDevSlot2;             /* 0x5490 For developer use */
+       uint32_t                lgOSVersion;            /* 0x5494 Pointer to OS version string */
+       uint32_t                lgRebootFlag;           /* 0x5498 Pointer to debugger reboot trigger */
+       uint32_t                lgRsv49C[729];          /* 0x549C Reserved - push to 1 page */
 } lowglo;
 
 extern lowglo lowGlo;