The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/osfmk/ppc/lowglobals.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
    3  *
    4  * @APPLE_LICENSE_HEADER_START@
    5  * 
    6  * Copyright (c) 1999-2003 Apple Computer, Inc.  All Rights Reserved.
    7  * 
    8  * This file contains Original Code and/or Modifications of Original Code
    9  * as defined in and that are subject to the Apple Public Source License
   10  * Version 2.0 (the 'License'). You may not use this file except in
   11  * compliance with the License. Please obtain a copy of the License at
   12  * http://www.opensource.apple.com/apsl/ and read it before using this
   13  * file.
   14  * 
   15  * The Original Code and all software distributed under the License are
   16  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   17  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   18  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   19  * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   20  * Please see the License for the specific language governing rights and
   21  * limitations under the License.
   22  * 
   23  * @APPLE_LICENSE_HEADER_END@
   24  */
   25 /*
   26  *              Header files for the Low Memory Globals (lg) 
   27  */
   28 #ifndef _LOW_MEMORY_GLOBALS_H_
   29 #define _LOW_MEMORY_GLOBALS_H_
   30 
   31 #include <cpus.h>
   32 
   33 #include <mach/mach_types.h>
   34 #include <mach/vm_types.h>
   35 #include <mach/machine/vm_types.h>
   36 #include <mach/vm_prot.h>
   37 #include <ppc/proc_reg.h>
   38 #include <ppc/savearea.h>
   39 #include <ppc/low_trace.h>
   40 #include <ppc/Diagnostics.h>
   41 
   42 /*
   43  * Don't change these structures unless you change the corresponding assembly code
   44  * which is in lowmem_vectors.s
   45  */
   46  
   47 /* 
   48  *      This is where we put constants, pointers, and data areas that must be accessed
   49  *      quickly through assembler.  They are designed to be accessed directly with 
   50  *      absolute addresses, not via a base register.  This is a global area, and not
   51  *      per processor.
   52  */
   53  
   54 #pragma pack(4)                                                         /* Make sure the structure stays as we defined it */
   55 typedef struct lowglo {
   56 
   57         unsigned long   lgForceAddr[5*1024];    /* 0000 Force to page 5 */
   58         unsigned char   lgVerCode[8];                   /* 5000 System verification code */
   59         unsigned long long lgZero;                              /* 5008 Double constant 0 */
   60         unsigned int    lgPPStart;                              /* 5010 Start of per_proc blocks */
   61         unsigned int    lgCHUDXNUfnStart;               /* 5014 CHUD XNU function glue table */
   62         unsigned int    lgRsv018[26];                   /* 5018 reserved */
   63         traceWork               lgTrcWork;                              /* 5080 Tracing control block - trcWork */
   64         unsigned int    lgRsv0A0[24];                   /* 50A0 reserved */
   65         struct Saveanchor       lgSaveanchor;           /* 5100 Savearea anchor - saveanchor */
   66         unsigned int    lgRsv140[16];                   /* 5140 reserved */
   67         unsigned int    lgTlbieLck;                             /* 5180 TLBIE lock */
   68         unsigned int    lgRsv184[31];                   /* 5184 reserved - push to next line */
   69         struct diagWork lgdgWork;                               /* 5200 Start of diagnostic work area */
   70         unsigned int    lgRsv220[24];                   /* 5220 reserved */
   71         unsigned int    lgRst280[32];                   /* 5280 reserved */
   72         unsigned int    lgKillResv;                             /* 5300 line used to kill reservations */
   73         unsigned int    lgKillResvpad[31];              /* 5304 pad reservation kill line */
   74         unsigned int    lgRsv380[768];                  /* 5380 reserved - push to 1 page */
   75 
   76 } lowglo;
   77 
   78 extern lowglo lowGlo;
   79 
   80 #endif /* _LOW_MEMORY_GLOBALS_H_ */

Cache object: c933fa5ffeabfca73a0d9a70080d275e


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.