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/genassym.c

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-2003 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  * @OSF_COPYRIGHT@
   27  * 
   28  */
   29 
   30 /*
   31  * genassym.c is used to produce an
   32  * assembly file which, intermingled with unuseful assembly code,
   33  * has all the necessary definitions emitted. This assembly file is
   34  * then postprocessed with sed to extract only these definitions
   35  * and thus the final assyms.s is created.
   36  *
   37  * This convoluted means is necessary since the structure alignment
   38  * and packing may be different between the host machine and the
   39  * target so we are forced into using the cross compiler to generate
   40  * the values, but we cannot run anything on the target machine.
   41  */
   42 
   43 #include <cpus.h>
   44 #include <va_list.h>
   45 #include <types.h>
   46 
   47 #include <kern/task.h>
   48 #include <kern/thread.h>
   49 #include <kern/thread_act.h>
   50 #include <kern/host.h>
   51 #include <kern/lock.h>
   52 #include <kern/processor.h>
   53 #include <kern/syscall_sw.h>
   54 #include <ppc/exception.h>
   55 #include <ppc/thread_act.h>
   56 #include <ppc/misc_protos.h>
   57 #include <kern/syscall_sw.h>
   58 #include <kern/ast.h>
   59 #include <ppc/low_trace.h>
   60 #include <ppc/PseudoKernel.h>
   61 #include <ppc/mappings.h>
   62 #include <ppc/Firmware.h>
   63 #include <ppc/low_trace.h>
   64 #include <vm/vm_map.h>
   65 #include <vm/pmap.h>
   66 #include <ppc/pmap.h>
   67 #include <ppc/Diagnostics.h>
   68 #include <pexpert/pexpert.h>
   69 #include <mach/machine.h>
   70 #include <ppc/vmachmon.h>
   71 #include <ppc/hw_perfmon.h>
   72 #include <ppc/PPCcalls.h>
   73 #include <ppc/mem.h>
   74 #include <ppc/boot.h>
   75 #include <ppc/lowglobals.h>
   76 
   77 #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE)0)->MEMBER)
   78 
   79 #define DECLARE(SYM,VAL) \
   80         __asm("#DEFINITION##define\t" SYM "\t%0" : : "n" ((u_int)(VAL)))
   81 
   82 int main(int argc, char *argv[])
   83 {
   84         /* Process Control Block */
   85         DECLARE("ACT_MACT_KSP", offsetof(thread_act_t, mact.ksp));
   86         DECLARE("ACT_MACT_BEDA", offsetof(thread_act_t, mact.bbDescAddr));
   87         DECLARE("ACT_MACT_BTS", offsetof(thread_act_t, mact.bbTableStart));
   88         DECLARE("ACT_MACT_BTE", offsetof(thread_act_t, mact.bbTaskEnv));
   89         DECLARE("ACT_MACT_SPF", offsetof(thread_act_t, mact.specFlags));
   90         DECLARE("ACT_PREEMPT_CNT",      offsetof(thread_act_t, mact.preemption_count));
   91         DECLARE("qactTimer",    offsetof(thread_act_t, mact.qactTimer));
   92         DECLARE("cioSpace",     offsetof(thread_act_t, mact.cioSpace));
   93         DECLARE("cioRelo",      offsetof(thread_act_t, mact.cioRelo));
   94         DECLARE("cioSwitchAway",        cioSwitchAway);
   95         DECLARE("cioSwitchAwayb",       cioSwitchAwayb);
   96         DECLARE("bbTrap",               offsetof(thread_act_t, mact.bbTrap));
   97         DECLARE("bbSysCall",    offsetof(thread_act_t, mact.bbSysCall));
   98         DECLARE("bbInterrupt",  offsetof(thread_act_t, mact.bbInterrupt));
   99         DECLARE("bbPending",    offsetof(thread_act_t, mact.bbPending));
  100         
  101         DECLARE("floatUsed",    floatUsed);
  102         DECLARE("vectorUsed",   vectorUsed);
  103         DECLARE("runningVM",    runningVM);
  104         DECLARE("runningVMbit", runningVMbit);
  105         DECLARE("floatCng",             floatCng);
  106         DECLARE("floatCngbit",  floatCngbit);
  107         DECLARE("vectorCng",    vectorCng);
  108         DECLARE("vectorCngbit", vectorCngbit);
  109         DECLARE("userProtKey",  userProtKey);
  110         DECLARE("userProtKeybit",       userProtKeybit);
  111 
  112         DECLARE("bbThread",             bbThread);
  113         DECLARE("bbThreadbit",  bbThreadbit);
  114         DECLARE("bbNoMachSC",   bbNoMachSC);
  115         DECLARE("bbNoMachSCbit",bbNoMachSCbit);
  116         DECLARE("bbPreemptive", bbPreemptive);
  117         DECLARE("bbPreemptivebit",      bbPreemptivebit);
  118 
  119         DECLARE("fvChkb",               fvChkb);
  120         DECLARE("fvChk",                fvChk);
  121         DECLARE("FamVMena",             FamVMena);
  122         DECLARE("FamVMenabit",          FamVMenabit);
  123         DECLARE("FamVMmode",            FamVMmode);
  124         DECLARE("FamVMmodebit",         FamVMmodebit);
  125         DECLARE("perfMonitor",          perfMonitor);
  126         DECLARE("perfMonitorbit",       perfMonitorbit);
  127 
  128         /* Per Proc info structure */
  129         DECLARE("PP_CPU_NUMBER",                offsetof(struct per_proc_info *, cpu_number));
  130         DECLARE("PP_CPU_FLAGS",                 offsetof(struct per_proc_info *, cpu_flags));
  131         DECLARE("SleepState",                   SleepState);
  132         DECLARE("PP_ISTACKPTR",                 offsetof(struct per_proc_info *, istackptr));
  133         DECLARE("PP_INTSTACK_TOP_SS",   offsetof(struct per_proc_info *, intstack_top_ss));
  134         DECLARE("PP_DEBSTACKPTR",               offsetof(struct per_proc_info *, debstackptr));
  135         DECLARE("PP_DEBSTACK_TOP_SS",   offsetof(struct per_proc_info *, debstack_top_ss));
  136         DECLARE("FPUowner",                             offsetof(struct per_proc_info *, FPU_owner));
  137         DECLARE("VMXowner",                             offsetof(struct per_proc_info *, VMX_owner));
  138         DECLARE("holdQFret",                    offsetof(struct per_proc_info *, holdQFret));
  139 
  140         DECLARE("PP_SAVE_EXCEPTION_TYPE", offsetof(struct per_proc_info *, save_exception_type));
  141         DECLARE("PP_NEED_AST",                  offsetof(struct per_proc_info *, need_ast));
  142         DECLARE("quickfret",                    offsetof(struct per_proc_info *, quickfret));
  143         DECLARE("lclfree",                              offsetof(struct per_proc_info *, lclfree));
  144         DECLARE("lclfreecnt",                   offsetof(struct per_proc_info *, lclfreecnt));
  145         DECLARE("PP_INTS_ENABLED",              offsetof(struct per_proc_info *, interrupts_enabled));
  146         DECLARE("UAW",                                  offsetof(struct per_proc_info *, Uassist));
  147         DECLARE("next_savearea",                offsetof(struct per_proc_info *, next_savearea));
  148         DECLARE("PP_CPU_DATA",                  offsetof(struct per_proc_info *, pp_cpu_data));
  149         DECLARE("PP_SIMPLE_LOCK_CNT",   offsetof(struct per_proc_info *, pp_simple_lock_count));
  150         DECLARE("PP_INTERRUPT_LVL",             offsetof(struct per_proc_info *, pp_interrupt_level));
  151         DECLARE("ppbbTaskEnv",                  offsetof(struct per_proc_info *, ppbbTaskEnv));
  152         DECLARE("liveVRS",                              offsetof(struct per_proc_info *, liveVRSave));
  153         DECLARE("spcFlags",                     offsetof(struct per_proc_info *, spcFlags));
  154         DECLARE("spcTRc",                               offsetof(struct per_proc_info *, spcTRc));
  155         DECLARE("spcTRp",                               offsetof(struct per_proc_info *, spcTRp));
  156         DECLARE("ruptStamp",                    offsetof(struct per_proc_info *, ruptStamp));
  157         DECLARE("pfAvailable",                  offsetof(struct per_proc_info *, pf.Available));
  158         DECLARE("pfFloat",                              pfFloat);
  159         DECLARE("pfFloatb",                             pfFloatb);
  160         DECLARE("pfAltivec",                    pfAltivec);
  161         DECLARE("pfAltivecb",                   pfAltivecb);
  162         DECLARE("pfAvJava",                             pfAvJava);
  163         DECLARE("pfAvJavab",                    pfAvJavab);
  164         DECLARE("pfSMPcap",                             pfSMPcap);
  165         DECLARE("pfSMPcapb",                    pfSMPcapb);
  166         DECLARE("pfCanSleep",                   pfCanSleep);
  167         DECLARE("pfCanSleepb",                  pfCanSleepb);
  168         DECLARE("pfCanNap",                             pfCanNap);
  169         DECLARE("pfCanNapb",                    pfCanNapb);
  170         DECLARE("pfCanDoze",                    pfCanDoze);
  171         DECLARE("pfCanDozeb",                   pfCanDozeb);
  172         DECLARE("pfThermal",                    pfThermal);
  173         DECLARE("pfThermalb",                   pfThermalb);
  174         DECLARE("pfThermInt",                   pfThermInt);
  175         DECLARE("pfThermIntb",                  pfThermIntb);
  176         DECLARE("pfSlowNap",                            pfSlowNap);
  177         DECLARE("pfSlowNapb",                           pfSlowNapb);
  178         DECLARE("pfNoMuMMCK",                           pfNoMuMMCK);
  179         DECLARE("pfNoMuMMCKb",                          pfNoMuMMCKb);
  180         DECLARE("pfNoL2PFNap",                          pfNoL2PFNap);
  181         DECLARE("pfNoL2PFNapb",                         pfNoL2PFNapb);
  182         DECLARE("pfSCOMFixUp",                          pfSCOMFixUp);
  183         DECLARE("pfSCOMFixUpb",                         pfSCOMFixUpb);
  184     DECLARE("pfHasDcba",                        pfHasDcba);
  185         DECLARE("pfHasDcbab",                   pfHasDcbab);
  186         DECLARE("pfL1fa",                               pfL1fa);
  187         DECLARE("pfL1fab",                              pfL1fab);
  188         DECLARE("pfL2",                                 pfL2);
  189         DECLARE("pfL2b",                                pfL2b);
  190         DECLARE("pfL2fa",                               pfL2fa);
  191         DECLARE("pfL2fab",                              pfL2fab);
  192         DECLARE("pfL2i",                                pfL2i);
  193         DECLARE("pfL2ib",                               pfL2ib);
  194         DECLARE("pfLClck",                              pfLClck);
  195         DECLARE("pfLClckb",                             pfLClckb);
  196         DECLARE("pfWillNap",                    pfWillNap);
  197         DECLARE("pfWillNapb",                   pfWillNapb);
  198         DECLARE("pfNoMSRir",                    pfNoMSRir);
  199         DECLARE("pfNoMSRirb",                   pfNoMSRirb);
  200         DECLARE("pfL3pdet",                             pfL3pdet);
  201         DECLARE("pfL3pdetb",                    pfL3pdetb);
  202     DECLARE("pf128Byte",                        pf128Byte);
  203     DECLARE("pf128Byteb",                       pf128Byteb);
  204     DECLARE("pf32Byte",                         pf32Byte);
  205     DECLARE("pf32Byteb",                        pf32Byteb);
  206     DECLARE("pf64Bit",                          pf64Bit);
  207     DECLARE("pf64Bitb",                         pf64Bitb);
  208         DECLARE("pfL3",                                 pfL3);
  209         DECLARE("pfL3b",                                pfL3b);
  210         DECLARE("pfL3fa",                               pfL3fa);
  211         DECLARE("pfL3fab",                              pfL3fab);
  212         DECLARE("pfValid",                              pfValid);
  213         DECLARE("pfValidb",                             pfValidb);
  214         DECLARE("pfrptdProc",                   offsetof(struct per_proc_info *, pf.rptdProc));
  215         DECLARE("pflineSize",                   offsetof(struct per_proc_info *, pf.lineSize));
  216         DECLARE("pfl1iSize",                    offsetof(struct per_proc_info *, pf.l1iSize));
  217         DECLARE("pfl1dSize",                    offsetof(struct per_proc_info *, pf.l1dSize));
  218         DECLARE("pfl2cr",                               offsetof(struct per_proc_info *, pf.l2cr));
  219         DECLARE("pfl2Size",                     offsetof(struct per_proc_info *, pf.l2Size));
  220         DECLARE("pfl3cr",                               offsetof(struct per_proc_info *, pf.l3cr));
  221         DECLARE("pfl3Size",                     offsetof(struct per_proc_info *, pf.l3Size));
  222         DECLARE("pfHID0",                               offsetof(struct per_proc_info *, pf.pfHID0));
  223         DECLARE("pfHID1",                               offsetof(struct per_proc_info *, pf.pfHID1));
  224         DECLARE("pfHID2",                               offsetof(struct per_proc_info *, pf.pfHID2));
  225         DECLARE("pfHID3",                               offsetof(struct per_proc_info *, pf.pfHID3));
  226         DECLARE("pfHID4",                               offsetof(struct per_proc_info *, pf.pfHID4));
  227         DECLARE("pfHID5",                               offsetof(struct per_proc_info *, pf.pfHID5));
  228         DECLARE("pfMSSCR0",                     offsetof(struct per_proc_info *, pf.pfMSSCR0));
  229         DECLARE("pfMSSCR1",                     offsetof(struct per_proc_info *, pf.pfMSSCR1));
  230         DECLARE("pfICTRL",                              offsetof(struct per_proc_info *, pf.pfICTRL));
  231         DECLARE("pfLDSTCR",                     offsetof(struct per_proc_info *, pf.pfLDSTCR));
  232         DECLARE("pfLDSTDB",                     offsetof(struct per_proc_info *, pf.pfLDSTDB));
  233         DECLARE("pfl2crOriginal",               offsetof(struct per_proc_info *, pf.l2crOriginal));
  234         DECLARE("pfl3crOriginal",               offsetof(struct per_proc_info *, pf.l3crOriginal));
  235         DECLARE("pfBootConfig",                 offsetof(struct per_proc_info *, pf.pfBootConfig));
  236         DECLARE("pfPTEG",                               offsetof(struct per_proc_info *, pf.pfPTEG));
  237         DECLARE("pfMaxVAddr",                   offsetof(struct per_proc_info *, pf.pfMaxVAddr));
  238         DECLARE("pfMaxPAddr",                   offsetof(struct per_proc_info *, pf.pfMaxPAddr));
  239         DECLARE("pfSize",                               sizeof(procFeatures));
  240         
  241         DECLARE("thrmmaxTemp",                  offsetof(struct per_proc_info *, thrm.maxTemp));
  242         DECLARE("thrmthrottleTemp",     offsetof(struct per_proc_info *, thrm.throttleTemp));
  243         DECLARE("thrmlowTemp",                  offsetof(struct per_proc_info *, thrm.lowTemp));
  244         DECLARE("thrmhighTemp",                 offsetof(struct per_proc_info *, thrm.highTemp));
  245         DECLARE("thrm3val",                     offsetof(struct per_proc_info *, thrm.thrm3val));
  246         DECLARE("thrmSize",                     sizeof(thrmControl));
  247 
  248         DECLARE("validSegs",                    offsetof(struct per_proc_info *, validSegs));
  249         DECLARE("ppUserPmapVirt",               offsetof(struct per_proc_info *, ppUserPmapVirt));
  250         DECLARE("ppUserPmap",                   offsetof(struct per_proc_info *, ppUserPmap));
  251         DECLARE("ppMapFlags",                   offsetof(struct per_proc_info *, ppMapFlags));
  252         DECLARE("ppInvSeg",                     offsetof(struct per_proc_info *, ppInvSeg));
  253         DECLARE("ppCurSeg",                     offsetof(struct per_proc_info *, ppCurSeg));
  254         DECLARE("ppSegSteal",                   offsetof(struct per_proc_info *, ppSegSteal));
  255 
  256         DECLARE("VMMareaPhys",                  offsetof(struct per_proc_info *, VMMareaPhys));
  257         DECLARE("VMMXAFlgs",                    offsetof(struct per_proc_info *, VMMXAFlgs));
  258         DECLARE("FAMintercept",                 offsetof(struct per_proc_info *, FAMintercept));
  259 
  260         DECLARE("ppCIOmp",                              offsetof(struct per_proc_info *, ppCIOmp));
  261 
  262         DECLARE("tempr0",                               offsetof(struct per_proc_info *, tempr0));
  263         DECLARE("tempr1",                               offsetof(struct per_proc_info *, tempr1));
  264         DECLARE("tempr2",                               offsetof(struct per_proc_info *, tempr2));
  265         DECLARE("tempr3",                               offsetof(struct per_proc_info *, tempr3));
  266         DECLARE("tempr4",                               offsetof(struct per_proc_info *, tempr4));
  267         DECLARE("tempr5",                               offsetof(struct per_proc_info *, tempr5));
  268         DECLARE("tempr6",                               offsetof(struct per_proc_info *, tempr6));
  269         DECLARE("tempr7",                               offsetof(struct per_proc_info *, tempr7));
  270         DECLARE("tempr8",                               offsetof(struct per_proc_info *, tempr8));
  271         DECLARE("tempr9",                               offsetof(struct per_proc_info *, tempr9));
  272         DECLARE("tempr10",                              offsetof(struct per_proc_info *, tempr10));
  273         DECLARE("tempr11",                              offsetof(struct per_proc_info *, tempr11));
  274         DECLARE("tempr12",                              offsetof(struct per_proc_info *, tempr12));
  275         DECLARE("tempr13",                              offsetof(struct per_proc_info *, tempr13));
  276         DECLARE("tempr14",                              offsetof(struct per_proc_info *, tempr14));
  277         DECLARE("tempr15",                              offsetof(struct per_proc_info *, tempr15));
  278         DECLARE("tempr16",                              offsetof(struct per_proc_info *, tempr16));
  279         DECLARE("tempr17",                              offsetof(struct per_proc_info *, tempr17));
  280         DECLARE("tempr18",                              offsetof(struct per_proc_info *, tempr18));
  281         DECLARE("tempr19",                              offsetof(struct per_proc_info *, tempr19));
  282         DECLARE("tempr20",                              offsetof(struct per_proc_info *, tempr20));
  283         DECLARE("tempr21",                              offsetof(struct per_proc_info *, tempr21));
  284         DECLARE("tempr22",                              offsetof(struct per_proc_info *, tempr22));
  285         DECLARE("tempr23",                              offsetof(struct per_proc_info *, tempr23));
  286         DECLARE("tempr24",                              offsetof(struct per_proc_info *, tempr24));
  287         DECLARE("tempr25",                              offsetof(struct per_proc_info *, tempr25));
  288         DECLARE("tempr26",                              offsetof(struct per_proc_info *, tempr26));
  289         DECLARE("tempr27",                              offsetof(struct per_proc_info *, tempr27));
  290         DECLARE("tempr28",                              offsetof(struct per_proc_info *, tempr28));
  291         DECLARE("tempr29",                              offsetof(struct per_proc_info *, tempr29));
  292         DECLARE("tempr30",                              offsetof(struct per_proc_info *, tempr30));
  293         DECLARE("tempr31",                              offsetof(struct per_proc_info *, tempr31));
  294 
  295         DECLARE("emfp0",                                offsetof(struct per_proc_info *, emfp0));
  296         DECLARE("emfp1",                                offsetof(struct per_proc_info *, emfp1));
  297         DECLARE("emfp2",                                offsetof(struct per_proc_info *, emfp2));
  298         DECLARE("emfp3",                                offsetof(struct per_proc_info *, emfp3));
  299         DECLARE("emfp4",                                offsetof(struct per_proc_info *, emfp4));
  300         DECLARE("emfp5",                                offsetof(struct per_proc_info *, emfp5));
  301         DECLARE("emfp6",                                offsetof(struct per_proc_info *, emfp6));
  302         DECLARE("emfp7",                                offsetof(struct per_proc_info *, emfp7));
  303         DECLARE("emfp8",                                offsetof(struct per_proc_info *, emfp8));
  304         DECLARE("emfp9",                                offsetof(struct per_proc_info *, emfp9));
  305         DECLARE("emfp10",                               offsetof(struct per_proc_info *, emfp10));
  306         DECLARE("emfp11",                               offsetof(struct per_proc_info *, emfp11));
  307         DECLARE("emfp12",                               offsetof(struct per_proc_info *, emfp12));
  308         DECLARE("emfp13",                               offsetof(struct per_proc_info *, emfp13));
  309         DECLARE("emfp14",                               offsetof(struct per_proc_info *, emfp14));
  310         DECLARE("emfp15",                               offsetof(struct per_proc_info *, emfp15));
  311         DECLARE("emfp16",                               offsetof(struct per_proc_info *, emfp16));
  312         DECLARE("emfp17",                               offsetof(struct per_proc_info *, emfp17));
  313         DECLARE("emfp18",                               offsetof(struct per_proc_info *, emfp18));
  314         DECLARE("emfp19",                               offsetof(struct per_proc_info *, emfp19));
  315         DECLARE("emfp20",                               offsetof(struct per_proc_info *, emfp20));
  316         DECLARE("emfp21",                               offsetof(struct per_proc_info *, emfp21));
  317         DECLARE("emfp22",                               offsetof(struct per_proc_info *, emfp22));
  318         DECLARE("emfp23",                               offsetof(struct per_proc_info *, emfp23));
  319         DECLARE("emfp24",                               offsetof(struct per_proc_info *, emfp24));
  320         DECLARE("emfp25",                               offsetof(struct per_proc_info *, emfp25));
  321         DECLARE("emfp26",                               offsetof(struct per_proc_info *, emfp26));
  322         DECLARE("emfp27",                               offsetof(struct per_proc_info *, emfp27));
  323         DECLARE("emfp28",                               offsetof(struct per_proc_info *, emfp28));
  324         DECLARE("emfp29",                               offsetof(struct per_proc_info *, emfp29));
  325         DECLARE("emfp30",                               offsetof(struct per_proc_info *, emfp30));
  326         DECLARE("emfp31",                               offsetof(struct per_proc_info *, emfp31));
  327         DECLARE("emfpscr_pad",                  offsetof(struct per_proc_info *, emfpscr_pad));
  328         DECLARE("emfpscr",                              offsetof(struct per_proc_info *, emfpscr));
  329 
  330         DECLARE("emvr0",                                offsetof(struct per_proc_info *, emvr0));
  331         DECLARE("emvr1",                                offsetof(struct per_proc_info *, emvr1));
  332         DECLARE("emvr2",                                offsetof(struct per_proc_info *, emvr2));
  333         DECLARE("emvr3",                                offsetof(struct per_proc_info *, emvr3));
  334         DECLARE("emvr4",                                offsetof(struct per_proc_info *, emvr4));
  335         DECLARE("emvr5",                                offsetof(struct per_proc_info *, emvr5));
  336         DECLARE("emvr6",                                offsetof(struct per_proc_info *, emvr6));
  337         DECLARE("emvr7",                                offsetof(struct per_proc_info *, emvr7));
  338         DECLARE("emvr8",                                offsetof(struct per_proc_info *, emvr8));
  339         DECLARE("emvr9",                                offsetof(struct per_proc_info *, emvr9));
  340         DECLARE("emvr10",                               offsetof(struct per_proc_info *, emvr10));
  341         DECLARE("emvr11",                               offsetof(struct per_proc_info *, emvr11));
  342         DECLARE("emvr12",                               offsetof(struct per_proc_info *, emvr12));
  343         DECLARE("emvr13",                               offsetof(struct per_proc_info *, emvr13));
  344         DECLARE("emvr14",                               offsetof(struct per_proc_info *, emvr14));
  345         DECLARE("emvr15",                               offsetof(struct per_proc_info *, emvr15));
  346         DECLARE("emvr16",                               offsetof(struct per_proc_info *, emvr16));
  347         DECLARE("emvr17",                               offsetof(struct per_proc_info *, emvr17));
  348         DECLARE("emvr18",                               offsetof(struct per_proc_info *, emvr18));
  349         DECLARE("emvr19",                               offsetof(struct per_proc_info *, emvr19));
  350         DECLARE("emvr20",                               offsetof(struct per_proc_info *, emvr20));
  351         DECLARE("emvr21",                               offsetof(struct per_proc_info *, emvr21));
  352         DECLARE("emvr22",                               offsetof(struct per_proc_info *, emvr22));
  353         DECLARE("emvr23",                               offsetof(struct per_proc_info *, emvr23));
  354         DECLARE("emvr24",                               offsetof(struct per_proc_info *, emvr24));
  355         DECLARE("emvr25",                               offsetof(struct per_proc_info *, emvr25));
  356         DECLARE("emvr26",                               offsetof(struct per_proc_info *, emvr26));
  357         DECLARE("emvr27",                               offsetof(struct per_proc_info *, emvr27));
  358         DECLARE("emvr28",                               offsetof(struct per_proc_info *, emvr28));
  359         DECLARE("emvr29",                               offsetof(struct per_proc_info *, emvr29));
  360         DECLARE("emvr30",                               offsetof(struct per_proc_info *, emvr30));
  361         DECLARE("emvr31",                               offsetof(struct per_proc_info *, emvr31));
  362         DECLARE("empadvr",                              offsetof(struct per_proc_info *, empadvr));
  363         DECLARE("skipListPrev",                 offsetof(struct per_proc_info *, skipListPrev));
  364         DECLARE("ppSize",                               sizeof(struct per_proc_info));
  365         DECLARE("patcharea",                    offsetof(struct per_proc_info *, patcharea));
  366 
  367         DECLARE("hwCounts",                             offsetof(struct per_proc_info *, hwCtr));
  368         DECLARE("hwInVains",                    offsetof(struct per_proc_info *, hwCtr.hwInVains));
  369         DECLARE("hwResets",                             offsetof(struct per_proc_info *, hwCtr.hwResets));
  370         DECLARE("hwMachineChecks",              offsetof(struct per_proc_info *, hwCtr.hwMachineChecks));
  371         DECLARE("hwDSIs",                               offsetof(struct per_proc_info *, hwCtr.hwDSIs));
  372         DECLARE("hwISIs",                               offsetof(struct per_proc_info *, hwCtr.hwISIs));
  373         DECLARE("hwExternals",                  offsetof(struct per_proc_info *, hwCtr.hwExternals));
  374         DECLARE("hwAlignments",                 offsetof(struct per_proc_info *, hwCtr.hwAlignments));
  375         DECLARE("hwPrograms",                   offsetof(struct per_proc_info *, hwCtr.hwPrograms));
  376         DECLARE("hwFloatPointUnavailable",      offsetof(struct per_proc_info *, hwCtr.hwFloatPointUnavailable));
  377         DECLARE("hwDecrementers",               offsetof(struct per_proc_info *, hwCtr.hwDecrementers));
  378         DECLARE("hwIOErrors",                   offsetof(struct per_proc_info *, hwCtr.hwIOErrors));
  379         DECLARE("hwrsvd0",                              offsetof(struct per_proc_info *, hwCtr.hwrsvd0));
  380         DECLARE("hwSystemCalls",                offsetof(struct per_proc_info *, hwCtr.hwSystemCalls));
  381         DECLARE("hwTraces",                             offsetof(struct per_proc_info *, hwCtr.hwTraces));
  382         DECLARE("hwFloatingPointAssists",       offsetof(struct per_proc_info *, hwCtr.hwFloatingPointAssists));
  383         DECLARE("hwPerformanceMonitors",        offsetof(struct per_proc_info *, hwCtr.hwPerformanceMonitors));
  384         DECLARE("hwAltivecs",                   offsetof(struct per_proc_info *, hwCtr.hwAltivecs));
  385         DECLARE("hwrsvd1",                              offsetof(struct per_proc_info *, hwCtr.hwrsvd1));
  386         DECLARE("hwrsvd2",                              offsetof(struct per_proc_info *, hwCtr.hwrsvd2));
  387         DECLARE("hwrsvd3",                              offsetof(struct per_proc_info *, hwCtr.hwrsvd3));
  388         DECLARE("hwInstBreakpoints",    offsetof(struct per_proc_info *, hwCtr.hwInstBreakpoints));
  389         DECLARE("hwSystemManagements",  offsetof(struct per_proc_info *, hwCtr.hwSystemManagements));
  390         DECLARE("hwAltivecAssists",             offsetof(struct per_proc_info *, hwCtr.hwAltivecAssists));
  391         DECLARE("hwThermal",                    offsetof(struct per_proc_info *, hwCtr.hwThermal));
  392         DECLARE("hwrsvd5",                              offsetof(struct per_proc_info *, hwCtr.hwrsvd5));
  393         DECLARE("hwrsvd6",                              offsetof(struct per_proc_info *, hwCtr.hwrsvd6));
  394         DECLARE("hwrsvd7",                              offsetof(struct per_proc_info *, hwCtr.hwrsvd7));
  395         DECLARE("hwrsvd8",                              offsetof(struct per_proc_info *, hwCtr.hwrsvd8));
  396         DECLARE("hwrsvd9",                              offsetof(struct per_proc_info *, hwCtr.hwrsvd9));
  397         DECLARE("hwrsvd10",                             offsetof(struct per_proc_info *, hwCtr.hwrsvd10));
  398         DECLARE("hwrsvd11",                             offsetof(struct per_proc_info *, hwCtr.hwrsvd11));
  399         DECLARE("hwrsvd12",                             offsetof(struct per_proc_info *, hwCtr.hwrsvd12));
  400         DECLARE("hwrsvd13",                             offsetof(struct per_proc_info *, hwCtr.hwrsvd13));
  401         DECLARE("hwTrace601",                   offsetof(struct per_proc_info *, hwCtr.hwTrace601));
  402         DECLARE("hwSIGPs",                              offsetof(struct per_proc_info *, hwCtr.hwSIGPs));
  403         DECLARE("hwPreemptions",                offsetof(struct per_proc_info *, hwCtr.hwPreemptions));
  404         DECLARE("hwContextSwitchs",             offsetof(struct per_proc_info *, hwCtr.hwContextSwitchs));
  405         DECLARE("hwShutdowns",                  offsetof(struct per_proc_info *, hwCtr.hwShutdowns));
  406         DECLARE("hwChokes",                             offsetof(struct per_proc_info *, hwCtr.hwChokes));
  407         DECLARE("hwDataSegments",               offsetof(struct per_proc_info *, hwCtr.hwDataSegments));
  408         DECLARE("hwInstructionSegments",        offsetof(struct per_proc_info *, hwCtr.hwInstructionSegments));
  409         DECLARE("hwSoftPatches",                offsetof(struct per_proc_info *, hwCtr.hwSoftPatches));
  410         DECLARE("hwMaintenances",               offsetof(struct per_proc_info *, hwCtr.hwMaintenances));
  411         DECLARE("hwInstrumentations",   offsetof(struct per_proc_info *, hwCtr.hwInstrumentations));
  412         DECLARE("hwRedrives",                   offsetof(struct per_proc_info *, hwCtr.hwRedrives));
  413         DECLARE("hwSteals",                             offsetof(struct per_proc_info *, hwCtr.hwSteals));
  414 
  415         DECLARE("hwMckHang",                    offsetof(struct per_proc_info *, hwCtr.hwMckHang));
  416         DECLARE("hwMckSLBPE",                   offsetof(struct per_proc_info *, hwCtr.hwMckSLBPE));
  417         DECLARE("hwMckTLBPE",                   offsetof(struct per_proc_info *, hwCtr.hwMckTLBPE));
  418         DECLARE("hwMckERCPE",                   offsetof(struct per_proc_info *, hwCtr.hwMckERCPE));
  419         DECLARE("hwMckL1DPE",                   offsetof(struct per_proc_info *, hwCtr.hwMckL1DPE));
  420         DECLARE("hwMckL1TPE",                   offsetof(struct per_proc_info *, hwCtr.hwMckL1TPE));
  421         DECLARE("hwMckUE",                              offsetof(struct per_proc_info *, hwCtr.hwMckUE));
  422         DECLARE("hwMckIUE",                             offsetof(struct per_proc_info *, hwCtr.hwMckIUE));
  423         DECLARE("hwMckIUEr",                    offsetof(struct per_proc_info *, hwCtr.hwMckIUEr));
  424         DECLARE("hwMckDUE",                             offsetof(struct per_proc_info *, hwCtr.hwMckDUE));
  425         DECLARE("hwMckDTW",                             offsetof(struct per_proc_info *, hwCtr.hwMckDTW));
  426         DECLARE("hwMckUnk",                             offsetof(struct per_proc_info *, hwCtr.hwMckUnk));
  427         DECLARE("hwMckExt",                             offsetof(struct per_proc_info *, hwCtr.hwMckExt));
  428         DECLARE("hwMckICachePE",                offsetof(struct per_proc_info *, hwCtr.hwMckICachePE));
  429         DECLARE("hwMckITagPE",                  offsetof(struct per_proc_info *, hwCtr.hwMckITagPE));
  430         DECLARE("hwMckIEratPE",                 offsetof(struct per_proc_info *, hwCtr.hwMckIEratPE));
  431         DECLARE("hwMckDEratPE",                 offsetof(struct per_proc_info *, hwCtr.hwMckDEratPE));
  432 
  433         DECLARE("napStamp",                     offsetof(struct per_proc_info *, hwCtr.napStamp));
  434         DECLARE("napTotal",                     offsetof(struct per_proc_info *, hwCtr.napTotal));
  435 
  436         DECLARE("patchAddr",                    offsetof(struct patch_entry *, addr));
  437         DECLARE("patchData",                    offsetof(struct patch_entry *, data));
  438         DECLARE("patchType",                    offsetof(struct patch_entry *, type));
  439         DECLARE("patchValue",                   offsetof(struct patch_entry *, value));
  440         DECLARE("peSize",                               sizeof(patch_entry_t));
  441         DECLARE("PATCH_PROCESSOR",              PATCH_PROCESSOR);
  442         DECLARE("PATCH_FEATURE",                PATCH_FEATURE);
  443         DECLARE("PATCH_TABLE_SIZE",             PATCH_TABLE_SIZE);
  444         DECLARE("PatchExt32",                   PatchExt32);
  445         DECLARE("PatchExt32b",                  PatchExt32b);
  446         DECLARE("PatchLwsync",                  PatchLwsync);
  447         DECLARE("PatchLwsyncb",                 PatchLwsyncb);
  448 
  449         DECLARE("RESETHANDLER_TYPE",    offsetof(struct resethandler *, type));
  450         DECLARE("RESETHANDLER_CALL",    offsetof(struct resethandler *, call_paddr));
  451         DECLARE("RESETHANDLER_ARG",     offsetof(struct resethandler *, arg__paddr));
  452 
  453         /* we want offset from
  454          * bottom of kernel stack, not offset into structure
  455          */
  456 #define IKSBASE (u_int)STACK_IKS(0)
  457 
  458         /* values from kern/thread.h */
  459         DECLARE("THREAD_TOP_ACT",               offsetof(thread_t, top_act));
  460         DECLARE("THREAD_KERNEL_STACK",  offsetof(thread_act_t, kernel_stack));
  461         DECLARE("THREAD_RECOVER",               offsetof(thread_act_t, recover));
  462         DECLARE("THREAD_FUNNEL_LOCK",
  463                         offsetof(thread_act_t, funnel_lock));
  464         DECLARE("THREAD_FUNNEL_STATE",
  465                         offsetof(thread_act_t, funnel_state));
  466         DECLARE("LOCK_FNL_MUTEX",
  467                         offsetof(struct funnel_lock *, fnl_mutex));
  468 #if     MACH_LDEBUG
  469         DECLARE("THREAD_MUTEX_COUNT",   offsetof(thread_t, mutex_count));
  470 #endif  /* MACH_LDEBUG */
  471 
  472         /* values from kern/thread_act.h */
  473         DECLARE("ACT_TASK",                             offsetof(thread_act_t, task));
  474         DECLARE("ACT_THREAD",                   offsetof(thread_act_t, thread));
  475         DECLARE("ACT_LOWER",                    offsetof(thread_act_t, lower));
  476         DECLARE("ACT_MACT_PCB",                 offsetof(thread_act_t, mact.pcb));
  477         DECLARE("ACT_MACT_UPCB",                offsetof(thread_act_t, mact.upcb));
  478         DECLARE("ACT_AST",                              offsetof(thread_act_t, ast));
  479         DECLARE("ACT_VMMAP",                    offsetof(thread_act_t, map));
  480         DECLARE("vmmCEntry",                    offsetof(thread_act_t, mact.vmmCEntry));
  481         DECLARE("vmmControl",                   offsetof(thread_act_t, mact.vmmControl));
  482         DECLARE("curctx",                               offsetof(thread_act_t, mact.curctx));
  483         DECLARE("deferctx",                             offsetof(thread_act_t, mact.deferctx));
  484         DECLARE("facctx",                               offsetof(thread_act_t, mact.facctx));
  485 #ifdef MACH_BSD
  486         DECLARE("CTHREAD_SELF",                 offsetof(thread_act_t, mact.cthread_self));
  487 #endif  
  488 
  489         DECLARE("FPUsave",                              offsetof(struct facility_context *,FPUsave));
  490         DECLARE("FPUlevel",                             offsetof(struct facility_context *,FPUlevel));
  491         DECLARE("FPUcpu",                               offsetof(struct facility_context *,FPUcpu));
  492         DECLARE("FPUsync",                              offsetof(struct facility_context *,FPUsync));
  493         DECLARE("VMXsave",                              offsetof(struct facility_context *,VMXsave));
  494         DECLARE("VMXlevel",                             offsetof(struct facility_context *,VMXlevel));
  495         DECLARE("VMXcpu",                               offsetof(struct facility_context *,VMXcpu));
  496         DECLARE("VMXsync",                              offsetof(struct facility_context *,VMXsync));
  497         DECLARE("facAct",                               offsetof(struct facility_context *,facAct));
  498 
  499         /* Values from vmachmon.h */
  500         
  501         DECLARE("kVmmGetVersion",               kVmmGetVersion);
  502         DECLARE("kVmmvGetFeatures",             kVmmvGetFeatures);
  503         DECLARE("kVmmInitContext",              kVmmInitContext);
  504         DECLARE("kVmmTearDownContext",  kVmmTearDownContext);
  505         DECLARE("kVmmTearDownAll",              kVmmTearDownAll);
  506         DECLARE("kVmmMapPage",                  kVmmMapPage);
  507         DECLARE("kVmmGetPageMapping",   kVmmGetPageMapping);
  508         DECLARE("kVmmUnmapPage",                kVmmUnmapPage);
  509         DECLARE("kVmmUnmapAllPages",    kVmmUnmapAllPages);
  510         DECLARE("kVmmGetPageDirtyFlag", kVmmGetPageDirtyFlag);
  511         DECLARE("kVmmGetFloatState",    kVmmGetFloatState);
  512         DECLARE("kVmmGetVectorState",   kVmmGetVectorState);
  513         DECLARE("kVmmSetTimer",                 kVmmSetTimer);
  514         DECLARE("kVmmGetTimer",                 kVmmGetTimer);
  515         DECLARE("kVmmExecuteVM",                kVmmExecuteVM);
  516         DECLARE("kVmmProtectPage",              kVmmProtectPage);
  517         DECLARE("kVmmMapList",                  kVmmMapList);
  518         DECLARE("kVmmUnmapList",                kVmmUnmapList);
  519         DECLARE("kVmmSetXA",                    kVmmSetXA);
  520         DECLARE("kVmmGetXA",                    kVmmGetXA);
  521         DECLARE("kVmmMapPage64",                kVmmMapPage64);
  522         DECLARE("kVmmGetPageMapping64", kVmmGetPageMapping64);
  523         DECLARE("kVmmUnmapPage64",              kVmmUnmapPage64);
  524         DECLARE("kVmmGetPageDirtyFlag64",       kVmmGetPageDirtyFlag64);
  525         DECLARE("kVmmMapExecute64",     kVmmMapExecute64);
  526         DECLARE("kVmmProtectExecute64", kVmmProtectExecute64);
  527         DECLARE("kVmmMapList64",                kVmmMapList64);
  528         DECLARE("kVmmUnmapList64",              kVmmUnmapList64);
  529         DECLARE("kvmmExitToHost",               kvmmExitToHost);
  530         DECLARE("kvmmResumeGuest",              kvmmResumeGuest);
  531         DECLARE("kvmmGetGuestRegister", kvmmGetGuestRegister);
  532         DECLARE("kvmmSetGuestRegister", kvmmSetGuestRegister);
  533 
  534         DECLARE("kVmmReturnNull",               kVmmReturnNull);
  535         DECLARE("kVmmStopped",                  kVmmStopped);
  536         DECLARE("kVmmBogusContext",             kVmmBogusContext);
  537         DECLARE("kVmmReturnDataPageFault",      kVmmReturnDataPageFault);
  538         DECLARE("kVmmReturnInstrPageFault",     kVmmReturnInstrPageFault);
  539         DECLARE("kVmmReturnAlignmentFault",     kVmmReturnAlignmentFault);
  540         DECLARE("kVmmReturnProgramException",   kVmmReturnProgramException);
  541         DECLARE("kVmmReturnSystemCall",         kVmmReturnSystemCall);
  542         DECLARE("kVmmReturnTraceException",     kVmmReturnTraceException);
  543         DECLARE("kVmmInvalidAdSpace",   kVmmInvalidAdSpace);
  544 
  545         DECLARE("kVmmProtXtnd",                 kVmmProtXtnd);
  546         DECLARE("kVmmProtNARW",                 kVmmProtNARW);
  547         DECLARE("kVmmProtRORW",                 kVmmProtRORW);
  548         DECLARE("kVmmProtRWRW",                 kVmmProtRWRW);
  549         DECLARE("kVmmProtRORO",                 kVmmProtRORO);
  550         
  551         DECLARE("vmmFlags",                             offsetof(struct vmmCntrlEntry *, vmmFlags));
  552         DECLARE("vmmXAFlgs",                    offsetof(struct vmmCntrlEntry *, vmmXAFlgs));
  553         DECLARE("vmmPmap",                              offsetof(struct vmmCntrlEntry *, vmmPmap));
  554         DECLARE("vmmInUseb",                    vmmInUseb);
  555         DECLARE("vmmInUse",                             vmmInUse);
  556         DECLARE("vmmContextKern",               offsetof(struct vmmCntrlEntry *, vmmContextKern));
  557         DECLARE("vmmContextPhys",               offsetof(struct vmmCntrlEntry *, vmmContextPhys));
  558         DECLARE("vmmContextUser",               offsetof(struct vmmCntrlEntry *, vmmContextUser));
  559         DECLARE("vmmFacCtx",                    offsetof(struct vmmCntrlEntry *, vmmFacCtx));
  560         DECLARE("vmmLastMap",                   offsetof(struct vmmCntrlTable *, vmmLastMap));
  561         DECLARE("vmmGFlags",                    offsetof(struct vmmCntrlTable *, vmmGFlags));
  562         DECLARE("vmmc",                                 offsetof(struct vmmCntrlTable *, vmmc));
  563         DECLARE("vmmAdsp",                              offsetof(struct vmmCntrlTable *, vmmAdsp));
  564         DECLARE("vmmLastAdSp",                  vmmLastAdSp);
  565         DECLARE("vmmFAMintercept",              offsetof(struct vmmCntrlEntry *, vmmFAMintercept));
  566         DECLARE("vmmCEntrySize",                sizeof(struct vmmCntrlEntry));
  567         DECLARE("kVmmMaxContexts",              kVmmMaxContexts);
  568         
  569         DECLARE("interface_version",    offsetof(struct vmm_state_page_t *, interface_version));
  570         DECLARE("thread_index",                 offsetof(struct vmm_state_page_t *, thread_index));
  571         DECLARE("vmmStat",                              offsetof(struct vmm_state_page_t *, vmmStat));
  572         DECLARE("vmmCntrl",                             offsetof(struct vmm_state_page_t *, vmmCntrl));
  573         DECLARE("vmm_proc_state",               offsetof(struct vmm_state_page_t *, vmm_proc_state));
  574 
  575         DECLARE("return_code",                  offsetof(struct vmm_state_page_t *, return_code));
  576 
  577         DECLARE("return_params",                offsetof(struct vmm_state_page_t *, vmmRet.vmmrp32.return_params));
  578         DECLARE("return_paramsX",               offsetof(struct vmm_state_page_t *, vmmRet.vmmrp64.return_params));
  579 
  580 #if 0
  581         DECLARE("return_params",                offsetof(struct vmm_state_page_t *, return_params));
  582         DECLARE("vmm_proc_state",               offsetof(struct vmm_state_page_t *, vmm_proc_state));
  583 #endif
  584         DECLARE("vmmppcVRs",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcVRs));
  585         DECLARE("vmmppcVSCR",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcVSCR));
  586         DECLARE("vmmppcFPRs",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcFPRs));
  587         DECLARE("vmmppcFPSCR",                  offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcFPSCR));
  588 
  589         DECLARE("vmmppcpc",                             offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcPC));
  590         DECLARE("vmmppcmsr",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcMSR));
  591         DECLARE("vmmppcr0",                             offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x00));
  592         DECLARE("vmmppcr1",                             offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x04));
  593         DECLARE("vmmppcr2",                             offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x08));
  594         DECLARE("vmmppcr3",                             offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x0C));
  595         DECLARE("vmmppcr4",                             offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x10));
  596         DECLARE("vmmppcr5",                             offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x14));
  597 
  598         DECLARE("vmmppcr6",                             offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x18));
  599         DECLARE("vmmppcr7",                             offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x1C));
  600         DECLARE("vmmppcr8",                             offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x20));
  601         DECLARE("vmmppcr9",                             offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x24));
  602         DECLARE("vmmppcr10",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x28));
  603         DECLARE("vmmppcr11",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x2C));
  604         DECLARE("vmmppcr12",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x30));
  605         DECLARE("vmmppcr13",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x34));
  606 
  607         DECLARE("vmmppcr14",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x38));
  608         DECLARE("vmmppcr15",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x3C));
  609         DECLARE("vmmppcr16",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x40));
  610         DECLARE("vmmppcr17",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x44));
  611         DECLARE("vmmppcr18",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x48));
  612         DECLARE("vmmppcr19",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x4C));
  613         DECLARE("vmmppcr20",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x50));
  614         DECLARE("vmmppcr21",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x54));
  615 
  616         DECLARE("vmmppcr22",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x58));
  617         DECLARE("vmmppcr23",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x5C));
  618         DECLARE("vmmppcr24",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x60));
  619         DECLARE("vmmppcr25",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x64));
  620         DECLARE("vmmppcr26",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x68));
  621         DECLARE("vmmppcr27",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x6C));
  622         DECLARE("vmmppcr28",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x70));
  623         DECLARE("vmmppcr29",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x74));
  624 
  625         DECLARE("vmmppcr30",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x78));
  626         DECLARE("vmmppcr31",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcGPRs+0x7C));
  627         DECLARE("vmmppccr",                             offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcCR));
  628         DECLARE("vmmppcxer",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcXER));
  629         DECLARE("vmmppclr",                             offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcLR));
  630         DECLARE("vmmppcctr",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcCTR));
  631         DECLARE("vmmppcmq",                             offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcMQ));
  632         DECLARE("vmmppcvrsave",                 offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs32.ppcVRSave));       
  633 
  634         DECLARE("vmmppcXpc",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcPC));
  635         DECLARE("vmmppcXmsr",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcMSR));
  636         DECLARE("vmmppcXr0",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0x00));
  637         DECLARE("vmmppcXr1",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0x08));
  638         DECLARE("vmmppcXr2",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0x10));
  639         DECLARE("vmmppcXr3",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0x18));
  640         DECLARE("vmmppcXr4",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0x20));
  641         DECLARE("vmmppcXr5",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0x28));
  642 
  643         DECLARE("vmmppcXr6",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0x30));
  644         DECLARE("vmmppcXr7",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0x38));
  645         DECLARE("vmmppcXr8",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0x40));
  646         DECLARE("vmmppcXr9",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0x48));
  647         DECLARE("vmmppcXr10",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0x50));
  648         DECLARE("vmmppcXr11",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0x58));
  649         DECLARE("vmmppcXr12",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0x60));
  650         DECLARE("vmmppcXr13",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0x68));
  651 
  652         DECLARE("vmmppcXr14",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0x70));
  653         DECLARE("vmmppcXr15",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0x78));
  654         DECLARE("vmmppcXr16",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0x80));
  655         DECLARE("vmmppcXr17",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0x88));
  656         DECLARE("vmmppcXr18",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0x90));
  657         DECLARE("vmmppcXr19",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0x98));
  658         DECLARE("vmmppcXr20",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0xA0));
  659         DECLARE("vmmppcXr21",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0xA8));
  660 
  661         DECLARE("vmmppcXr22",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0xB0));
  662         DECLARE("vmmppcXr23",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0xB8));
  663         DECLARE("vmmppcXr24",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0xC0));
  664         DECLARE("vmmppcXr25",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0xC8));
  665         DECLARE("vmmppcXr26",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0xD0));
  666         DECLARE("vmmppcXr27",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0xD8));
  667         DECLARE("vmmppcXr28",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0xE0));
  668         DECLARE("vmmppcXr29",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0xE8));
  669 
  670         DECLARE("vmmppcXr30",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0xF0));
  671         DECLARE("vmmppcXr31",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcGPRs+0xF8));
  672         DECLARE("vmmppcXcr",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcCR));
  673         DECLARE("vmmppcXxer",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcXER));
  674         DECLARE("vmmppcXlr",                    offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcLR));
  675         DECLARE("vmmppcXctr",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcCTR));
  676         DECLARE("vmmppcXvrsave",                offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcRegs.ppcRegs64.ppcVRSave));       
  677 
  678         DECLARE("vmmppcvscr",                   offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcVSCR+0x00));      
  679         DECLARE("vmmppcfpscrpad",               offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcFPSCR));
  680         DECLARE("vmmppcfpscr",                  offsetof(struct vmm_state_page_t *, vmm_proc_state.ppcFPSCR+4));
  681 
  682         DECLARE("famguestr0",                   offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs32.guest_register));
  683         DECLARE("famguestr1",                   offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs32.guest_register+0x4));
  684         DECLARE("famguestr2",                   offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs32.guest_register+0x8));
  685         DECLARE("famguestr3",                   offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs32.guest_register+0xC));
  686         DECLARE("famguestr4",                   offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs32.guest_register+0x10));
  687         DECLARE("famguestr5",                   offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs32.guest_register+0x14));
  688         DECLARE("famguestr6",                   offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs32.guest_register+0x18));
  689         DECLARE("famguestr7",                   offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs32.guest_register+0x1C));
  690         DECLARE("famguestpc",                   offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs32.guest_pc));
  691         DECLARE("famguestmsr",                  offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs32.guest_msr));
  692         DECLARE("famdispcode",                  offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs32.fastassist_dispatch_code));
  693         DECLARE("famrefcon",                    offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs32.fastassist_refcon));
  694         DECLARE("famparam",                             offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs32.fastassist_parameter));
  695         DECLARE("famhandler",                   offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs32.fastassist_dispatch));
  696         DECLARE("famintercepts",                offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs32.fastassist_intercepts));
  697 
  698         DECLARE("famguestXr0",                  offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs64.guest_register));
  699         DECLARE("famguestXr1",                  offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs64.guest_register+0x8));
  700         DECLARE("famguestXr2",                  offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs64.guest_register+0x10));
  701         DECLARE("famguestXr3",                  offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs64.guest_register+0x18));
  702         DECLARE("famguestXr4",                  offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs64.guest_register+0x20));
  703         DECLARE("famguestXr5",                  offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs64.guest_register+0x28));
  704         DECLARE("famguestXr6",                  offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs64.guest_register+0x30));
  705         DECLARE("famguestXr7",                  offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs64.guest_register+0x38));
  706         DECLARE("famguestXpc",                  offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs64.guest_pc));
  707         DECLARE("famguestXmsr",                 offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs64.guest_msr));
  708         DECLARE("famdispcodeX",                 offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs64.fastassist_dispatch_code));
  709         DECLARE("famrefconX",                   offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs64.fastassist_refcon));
  710         DECLARE("famparamX",                            offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs64.fastassist_parameter));
  711         DECLARE("famhandlerX",                  offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs64.fastassist_dispatch));
  712         DECLARE("faminterceptsX",               offsetof(struct vmm_state_page_t *, vmm_fastassist_state.vmmfs64.fastassist_intercepts));
  713 
  714         DECLARE("vmmFloatCngd",                 vmmFloatCngd);
  715         DECLARE("vmmFloatCngdb",                vmmFloatCngdb);
  716         DECLARE("vmmVectCngd",                  vmmVectCngd);
  717         DECLARE("vmmVectCngdb",                 vmmVectCngdb);
  718         DECLARE("vmmTimerPop",                  vmmTimerPop);
  719         DECLARE("vmmTimerPopb",                 vmmTimerPopb);
  720         DECLARE("vmmFAMmode",                   vmmFAMmode);
  721         DECLARE("vmmFAMmodeb",                  vmmFAMmodeb);
  722         DECLARE("vmmSpfSave",                   vmmSpfSave);
  723         DECLARE("vmmSpfSaveb",                  vmmSpfSaveb);
  724         DECLARE("vmmFloatLoad",                 vmmFloatLoad);
  725         DECLARE("vmmFloatLoadb",                vmmFloatLoadb);
  726         DECLARE("vmmVectLoad",                  vmmVectLoad);
  727         DECLARE("vmmVectLoadb",                 vmmVectLoadb);
  728         DECLARE("vmmVectVRall",                 vmmVectVRall);
  729         DECLARE("vmmVectVRallb",                vmmVectVRallb);
  730         DECLARE("vmmVectVAss",                  vmmVectVAss);
  731         DECLARE("vmmVectVAssb",                 vmmVectVAssb);
  732         DECLARE("vmmXStart",                    vmmXStart);
  733         DECLARE("vmmXStartb",                   vmmXStartb);
  734         DECLARE("vmmXStop",                             vmmXStop);
  735         DECLARE("vmmXStopb",                    vmmXStopb);
  736         DECLARE("vmmKey",                               vmmKey);
  737         DECLARE("vmmKeyb",                              vmmKeyb);
  738         DECLARE("vmmFamSet",                    vmmFamSet);
  739         DECLARE("vmmFamSetb",                   vmmFamSetb);
  740         DECLARE("vmmFamEna",                    vmmFamEna);
  741         DECLARE("vmmFamEnab",                   vmmFamEnab);
  742         DECLARE("vmm64Bit",                             vmm64Bit);
  743 
  744         /* values from kern/task.h */
  745         DECLARE("TASK_SYSCALLS_MACH",
  746                 offsetof(struct task *, syscalls_mach));
  747         DECLARE("TASK_SYSCALLS_UNIX",
  748                 offsetof(struct task *, syscalls_unix));
  749 
  750         /* values from vm/vm_map.h */
  751         DECLARE("VMMAP_PMAP",   offsetof(struct vm_map *, pmap));
  752 
  753         /* values from machine/pmap.h */
  754         DECLARE("pmapSpace",                    offsetof(struct pmap *, space));
  755         DECLARE("spaceNum",                             offsetof(struct pmap *, spaceNum));
  756         DECLARE("pmapSXlk",                             offsetof(struct pmap *, pmapSXlk));
  757         DECLARE("pmapCCtl",                             offsetof(struct pmap *, pmapCCtl));
  758     DECLARE("pmapCCtlVal",                      pmapCCtlVal);
  759     DECLARE("pmapCCtlLck",                      pmapCCtlLck);
  760     DECLARE("pmapCCtlLckb",                     pmapCCtlLckb);
  761     DECLARE("pmapCCtlGen",                      pmapCCtlGen);
  762     DECLARE("pmapSegCacheCnt",          pmapSegCacheCnt);
  763     DECLARE("pmapSegCacheUse",          pmapSegCacheUse);
  764         DECLARE("pmapvr",                               offsetof(struct pmap *, pmapvr));
  765         DECLARE("pmapFlags",                    offsetof(struct pmap *, pmapFlags));
  766     DECLARE("pmapKeys",                         pmapKeys);
  767     DECLARE("pmapKeyDef",                       pmapKeyDef);
  768         DECLARE("pmapSCSubTag",                 offsetof(struct pmap *, pmapSCSubTag));
  769         DECLARE("pmapSegCache",                 offsetof(struct pmap *, pmapSegCache));
  770         DECLARE("pmapCurLists",                 offsetof(struct pmap *, pmapCurLists));
  771         DECLARE("pmapRandNum",                  offsetof(struct pmap *, pmapRandNum));
  772         DECLARE("pmapSkipLists",                offsetof(struct pmap *, pmapSkipLists));
  773         DECLARE("pmapSearchVisits",             offsetof(struct pmap *, pmapSearchVisits));
  774         DECLARE("pmapSearchCnt",                offsetof(struct pmap *, pmapSearchCnt));
  775         DECLARE("pmapSize",                             pmapSize);
  776     DECLARE("kSkipListFanoutShift",     kSkipListFanoutShift);
  777     DECLARE("kSkipListMaxLists",        kSkipListMaxLists);
  778     DECLARE("invalSpace",                       invalSpace);
  779 
  780         DECLARE("sgcESID",                              offsetof(struct sgc *, sgcESID));
  781         DECLARE("sgcESmsk",                             sgcESmsk);
  782         DECLARE("sgcVSID",                              offsetof(struct sgc *, sgcVSID));
  783         DECLARE("sgcVSmsk",                             sgcVSmsk);
  784         DECLARE("sgcVSKeys",                    sgcVSKeys);
  785         DECLARE("sgcVSKeyUsr",                  sgcVSKeyUsr);
  786         DECLARE("sgcVSNoEx",                    sgcVSNoEx);
  787         DECLARE("pmapPAddr",                    offsetof(struct pmapTransTab *, pmapPAddr));
  788         DECLARE("pmapVAddr",                    offsetof(struct pmapTransTab *, pmapVAddr));
  789         DECLARE("pmapTransSize",                sizeof(pmapTransTab));
  790         DECLARE("pmapResidentCnt",              offsetof(struct pmap *, stats.resident_count));
  791 
  792         DECLARE("maxAdrSp",                             maxAdrSp);
  793         DECLARE("maxAdrSpb",                    maxAdrSpb);
  794 
  795         /* values from kern/processor.h */
  796         DECLARE("psthreads",                    offsetof(struct processor_set *, threads));
  797         DECLARE("psthreadcnt",                  offsetof(struct processor_set *, thread_count));
  798 
  799         /* values from kern/processor.h */
  800         DECLARE("psthreads",    offsetof(struct processor_set *, threads));
  801         DECLARE("psthreadcnt",  offsetof(struct processor_set *, thread_count));
  802         
  803 
  804         /* Constants from pmap.h */
  805         DECLARE("PPC_SID_KERNEL", PPC_SID_KERNEL);
  806 
  807         /* values for accessing mach_trap table */
  808         DECLARE("MACH_TRAP_OFFSET_POW2",        4);
  809 
  810         DECLARE("MACH_TRAP_ARGC",
  811                 offsetof(mach_trap_t *, mach_trap_arg_count));
  812         DECLARE("MACH_TRAP_FUNCTION",
  813                 offsetof(mach_trap_t *, mach_trap_function));
  814 
  815         DECLARE("MACH_TRAP_TABLE_COUNT", MACH_TRAP_TABLE_COUNT);
  816 
  817         DECLARE("PPCcallmax", sizeof(PPCcalls));
  818 
  819         /* Misc values used by assembler */
  820         DECLARE("AST_ALL", AST_ALL);
  821         DECLARE("AST_URGENT", AST_URGENT);
  822 
  823         /* Simple Lock structure */
  824         DECLARE("SLOCK_ILK",    offsetof(usimple_lock_t, interlock));
  825 #if     MACH_LDEBUG
  826         DECLARE("SLOCK_TYPE",   offsetof(usimple_lock_t, lock_type));
  827         DECLARE("SLOCK_PC",     offsetof(usimple_lock_t, debug.lock_pc));
  828         DECLARE("SLOCK_THREAD", offsetof(usimple_lock_t, debug.lock_thread));
  829         DECLARE("SLOCK_DURATIONH",offsetof(usimple_lock_t, debug.duration[0]));
  830         DECLARE("SLOCK_DURATIONL",offsetof(usimple_lock_t, debug.duration[1]));
  831         DECLARE("USLOCK_TAG",   USLOCK_TAG);
  832 #endif  /* MACH_LDEBUG */
  833 
  834         /* Mutex structure */
  835         DECLARE("LOCK_DATA",    offsetof(mutex_t *, interlock));
  836         DECLARE("MUTEX_WAITERS",offsetof(mutex_t *, waiters));
  837         DECLARE("MUTEX_PROMOTED_PRI",offsetof(mutex_t *, promoted_pri));
  838 #if     MACH_LDEBUG
  839         DECLARE("MUTEX_TYPE",   offsetof(mutex_t *, type));
  840         DECLARE("MUTEX_PC",     offsetof(mutex_t *, pc));
  841         DECLARE("MUTEX_THREAD", offsetof(mutex_t *, thread));
  842         DECLARE("MUTEX_TAG",    MUTEX_TAG);
  843 #endif  /* MACH_LDEBUG */
  844                                                  
  845         /* values from low_trace.h */
  846         DECLARE("LTR_cpu",      offsetof(struct LowTraceRecord *, LTR_cpu));
  847         DECLARE("LTR_excpt",    offsetof(struct LowTraceRecord *, LTR_excpt));
  848         DECLARE("LTR_timeHi",   offsetof(struct LowTraceRecord *, LTR_timeHi));
  849         DECLARE("LTR_timeLo",   offsetof(struct LowTraceRecord *, LTR_timeLo));
  850         DECLARE("LTR_cr",       offsetof(struct LowTraceRecord *, LTR_cr));
  851         DECLARE("LTR_srr0",     offsetof(struct LowTraceRecord *, LTR_srr0));
  852         DECLARE("LTR_srr1",     offsetof(struct LowTraceRecord *, LTR_srr1));
  853         DECLARE("LTR_dar",      offsetof(struct LowTraceRecord *, LTR_dar));
  854         DECLARE("LTR_dsisr",    offsetof(struct LowTraceRecord *, LTR_dsisr));
  855         DECLARE("LTR_rsvd0",    offsetof(struct LowTraceRecord *, LTR_rsvd0));
  856         DECLARE("LTR_save",     offsetof(struct LowTraceRecord *, LTR_save));
  857         DECLARE("LTR_lr",       offsetof(struct LowTraceRecord *, LTR_lr));
  858         DECLARE("LTR_ctr",      offsetof(struct LowTraceRecord *, LTR_ctr));
  859         DECLARE("LTR_r0",       offsetof(struct LowTraceRecord *, LTR_r0));
  860         DECLARE("LTR_r1",       offsetof(struct LowTraceRecord *, LTR_r1));
  861         DECLARE("LTR_r2",       offsetof(struct LowTraceRecord *, LTR_r2));
  862         DECLARE("LTR_r3",       offsetof(struct LowTraceRecord *, LTR_r3));
  863         DECLARE("LTR_r4",       offsetof(struct LowTraceRecord *, LTR_r4));
  864         DECLARE("LTR_r5",       offsetof(struct LowTraceRecord *, LTR_r5));
  865         DECLARE("LTR_r6",       offsetof(struct LowTraceRecord *, LTR_r6));
  866         DECLARE("LTR_size",     sizeof(struct LowTraceRecord));
  867 
  868 /*      Values from pexpert.h */
  869         DECLARE("PECFIcpurate", offsetof(struct clock_frequency_info_t *, cpu_clock_rate_hz));
  870         DECLARE("PECFIbusrate", offsetof(struct clock_frequency_info_t *, bus_clock_rate_hz));
  871 
  872 /*      Values from pmap_internals.h and mappings.h */
  873 
  874         DECLARE("mpFlags",              offsetof(struct mapping *, mpFlags));
  875         DECLARE("mpBusy",               mpBusy);
  876         DECLARE("mpPIndex",             mpPIndex);
  877         DECLARE("mpSpecial",    mpSpecial);
  878         DECLARE("mpSpecialb",   mpSpecialb);
  879         DECLARE("mpFIP",                mpFIP);
  880         DECLARE("mpFIPb",               mpFIPb);
  881         DECLARE("mpRemovable",  mpRemovable);
  882         DECLARE("mpRemovableb", mpRemovableb);
  883         DECLARE("mpNest",               mpNest);
  884         DECLARE("mpNestb",              mpNestb);
  885         DECLARE("mpPerm",               mpPerm);
  886         DECLARE("mpPermb",              mpPermb);
  887         DECLARE("mpBlock",              mpBlock);
  888         DECLARE("mpBlockb",             mpBlockb);
  889         DECLARE("mpRIP",                mpRIP);
  890         DECLARE("mpRIPb",               mpRIPb);
  891         DECLARE("mpRSVD1",              mpRSVD1);
  892         DECLARE("mpLists",              mpLists);
  893         DECLARE("mpListsb",             mpListsb);
  894 
  895         DECLARE("mpSpace",              offsetof(struct mapping *, mpSpace));
  896         DECLARE("mpBSize",              offsetof(struct mapping *, mpBSize));
  897         DECLARE("mpPte",                offsetof(struct mapping *, mpPte));
  898         DECLARE("mpHValid",             mpHValid);
  899         DECLARE("mpHValidb",    mpHValidb);
  900 
  901         DECLARE("mpPAddr",              offsetof(struct mapping *, mpPAddr));
  902         DECLARE("mpVAddr",              offsetof(struct mapping *, mpVAddr));
  903         DECLARE("mpHWFlags",    mpHWFlags);
  904         DECLARE("mpPP",                 mpPP);
  905         DECLARE("mpPPb",                mpPPb);
  906         DECLARE("mpKKN",                mpKKN);
  907         DECLARE("mpKKNb",               mpKKNb);
  908         DECLARE("mpWIMG",               mpWIMG);
  909         DECLARE("mpWIMGb",              mpWIMGb);
  910         DECLARE("mpW",                  mpW);
  911         DECLARE("mpWb",                 mpWb);
  912         DECLARE("mpI",                  mpI);
  913         DECLARE("mpIb",                 mpIb);
  914         DECLARE("mpM",                  mpM);
  915         DECLARE("mpMb",                 mpMb);
  916         DECLARE("mpG",                  mpG);
  917         DECLARE("mpGb",                 mpGb);
  918         DECLARE("mpWIMGe",              mpWIMGe);
  919         DECLARE("mpC",                  mpC);
  920         DECLARE("mpCb",                 mpCb);
  921         DECLARE("mpR",                  mpR);
  922         DECLARE("mpRb",                 mpRb);
  923         DECLARE("mpAlias",              offsetof(struct mapping *, mpAlias));
  924         DECLARE("mpNestReloc",  offsetof(struct mapping *, mpNestReloc));       
  925         DECLARE("mpBlkRemCur",  offsetof(struct mapping *, mpBlkRemCur));       
  926         DECLARE("mpList0",              offsetof(struct mapping *, mpList0));
  927         DECLARE("mpList ",              offsetof(struct mapping *, mpList));
  928         DECLARE("mpBasicSize",  mpBasicSize);
  929         DECLARE("mpBasicLists", mpBasicLists);
  930 
  931         DECLARE("mbvrswap",             offsetof(struct mappingblok *, mapblokvrswap));
  932         DECLARE("mbfree",               offsetof(struct mappingblok *, mapblokfree));
  933         DECLARE("mapcsize",             sizeof(struct mappingctl));
  934 
  935         DECLARE("ppLink",               offsetof(struct phys_entry *, ppLink));
  936         DECLARE("ppLock",               ppLock);
  937         DECLARE("ppN",                  ppN);
  938         DECLARE("ppFlags",              ppFlags);
  939         DECLARE("ppI",                  ppI);
  940         DECLARE("ppIb",                 ppIb);
  941         DECLARE("ppG",                  ppG);
  942         DECLARE("ppGb",                 ppGb);
  943         DECLARE("ppR",                  ppR);
  944         DECLARE("ppRb",                 ppRb);
  945         DECLARE("ppC",                  ppC);
  946         DECLARE("ppCb",                 ppCb);
  947         DECLARE("ppPP",                 ppPP);
  948         DECLARE("ppPPb",                ppPPb);
  949         DECLARE("ppPPe",                ppPPe);
  950 
  951         DECLARE("PCAallo",              offsetof(struct PCA *, flgs.PCAallo));
  952         DECLARE("PCAfree",              offsetof(struct PCA *, flgs.PCAalflgs.PCAfree));
  953         DECLARE("PCAauto",              offsetof(struct PCA *, flgs.PCAalflgs.PCAauto));
  954         DECLARE("PCAmisc",              offsetof(struct PCA *, flgs.PCAalflgs.PCAmisc));
  955         DECLARE("PCAlock",              PCAlock);
  956         DECLARE("PCAlockb",             PCAlockb);
  957         DECLARE("PCAsteal",             offsetof(struct PCA *, flgs.PCAalflgs.PCAsteal));
  958 
  959         DECLARE("mrPhysTab",    offsetof(struct mem_region *, mrPhysTab));
  960         DECLARE("mrStart",              offsetof(struct mem_region *, mrStart));
  961         DECLARE("mrEnd",                offsetof(struct mem_region *, mrEnd));
  962         DECLARE("mrAStart",             offsetof(struct mem_region *, mrAStart));
  963         DECLARE("mrAEnd",               offsetof(struct mem_region *, mrAEnd));
  964         DECLARE("mrSize",               sizeof(struct mem_region));
  965 
  966         DECLARE("mapRemChunk",  mapRemChunk);
  967 
  968         DECLARE("mapRetCode",   mapRetCode);
  969         DECLARE("mapRtOK",              mapRtOK);
  970         DECLARE("mapRtBadLk",   mapRtBadLk);
  971         DECLARE("mapRtPerm",    mapRtPerm);
  972         DECLARE("mapRtNotFnd",  mapRtNotFnd);
  973         DECLARE("mapRtBlock",   mapRtBlock);
  974         DECLARE("mapRtNest",    mapRtNest);
  975         DECLARE("mapRtRemove",  mapRtRemove);
  976         DECLARE("mapRtMapDup",  mapRtMapDup);
  977 
  978 #if 0
  979         DECLARE("MFpcaptr",             offsetof(struct mappingflush *, pcaptr));
  980         DECLARE("MFmappingcnt",         offsetof(struct mappingflush *, mappingcnt));
  981         DECLARE("MFmapping",            offsetof(struct mappingflush *, mapping));
  982         DECLARE("MFmappingSize",        sizeof(struct mfmapping));
  983 #endif
  984 
  985 #if 1
  986         DECLARE("GDsave",               offsetof(struct GDWorkArea *, GDsave));
  987         DECLARE("GDfp0",                offsetof(struct GDWorkArea *, GDfp0));
  988         DECLARE("GDfp1",                offsetof(struct GDWorkArea *, GDfp1));
  989         DECLARE("GDfp2",                offsetof(struct GDWorkArea *, GDfp2));
  990         DECLARE("GDfp3",                offsetof(struct GDWorkArea *, GDfp3));
  991         DECLARE("GDtop",                offsetof(struct GDWorkArea *, GDtop));
  992         DECLARE("GDleft",               offsetof(struct GDWorkArea *, GDleft));
  993         DECLARE("GDtopleft",    offsetof(struct GDWorkArea *, GDtopleft));
  994         DECLARE("GDrowbytes",   offsetof(struct GDWorkArea *, GDrowbytes));
  995         DECLARE("GDrowchar",    offsetof(struct GDWorkArea *, GDrowchar));
  996         DECLARE("GDdepth",              offsetof(struct GDWorkArea *, GDdepth));
  997         DECLARE("GDcollgn",             offsetof(struct GDWorkArea *, GDcollgn));
  998         DECLARE("GDready",              offsetof(struct GDWorkArea *, GDready));
  999         DECLARE("GDrowbuf1",    offsetof(struct GDWorkArea *, GDrowbuf1));
 1000         DECLARE("GDrowbuf2",    offsetof(struct GDWorkArea *, GDrowbuf2));
 1001 #endif
 1002 
 1003         DECLARE("enaExpTrace",  enaExpTrace);
 1004         DECLARE("enaExpTraceb", enaExpTraceb);
 1005         DECLARE("enaUsrFCall",  enaUsrFCall);
 1006         DECLARE("enaUsrFCallb", enaUsrFCallb);
 1007         DECLARE("enaUsrPhyMp",  enaUsrPhyMp);
 1008         DECLARE("enaUsrPhyMpb", enaUsrPhyMpb);
 1009         DECLARE("enaDiagSCs",   enaDiagSCs);
 1010         DECLARE("enaDiagSCsb",  enaDiagSCsb);
 1011         DECLARE("enaDiagEM",    enaDiagEM);
 1012         DECLARE("enaDiagEMb",   enaDiagEMb);
 1013         DECLARE("enaNotifyEM",  enaNotifyEM);
 1014         DECLARE("enaNotifyEMb", enaNotifyEMb);
 1015         DECLARE("disLkType",    disLkType);
 1016         DECLARE("disLktypeb",   disLktypeb);
 1017         DECLARE("disLkThread",  disLkThread);
 1018         DECLARE("disLkThreadb", disLkThreadb);
 1019         DECLARE("disLkNmSimp",  disLkNmSimp);
 1020         DECLARE("disLkNmSimpb", disLkNmSimpb);
 1021         DECLARE("disLkMyLck",   disLkMyLck);
 1022         DECLARE("disLkMyLckb",  disLkMyLckb);
 1023         DECLARE("dgMisc1",              offsetof(struct diagWork *, dgMisc1));
 1024         DECLARE("dgMisc2",              offsetof(struct diagWork *, dgMisc2));
 1025         DECLARE("dgMisc3",              offsetof(struct diagWork *, dgMisc3));
 1026         DECLARE("dgMisc4",              offsetof(struct diagWork *, dgMisc4));
 1027         DECLARE("dgMisc5",              offsetof(struct diagWork *, dgMisc5));
 1028 
 1029         DECLARE("SACnext",              offsetof(struct savearea_comm *, sac_next));
 1030         DECLARE("SACprev",              offsetof(struct savearea_comm *, sac_prev));
 1031         DECLARE("SACvrswap",    offsetof(struct savearea_comm *, sac_vrswap));
 1032         DECLARE("SACalloc",             offsetof(struct savearea_comm *, sac_alloc));
 1033         DECLARE("SACflags",             offsetof(struct savearea_comm *, sac_flags));
 1034         DECLARE("sac_cnt",              sac_cnt);
 1035         DECLARE("sac_empty",    sac_empty);
 1036         DECLARE("sac_perm",             sac_perm);
 1037         DECLARE("sac_permb",    sac_permb);
 1038 
 1039         DECLARE("LocalSaveTarget",              LocalSaveTarget);
 1040         DECLARE("LocalSaveMin",                 LocalSaveMin);
 1041         DECLARE("LocalSaveMax",                 LocalSaveMax);
 1042         DECLARE("FreeListMin",                  FreeListMin);
 1043         DECLARE("SaveLowHysteresis",    SaveLowHysteresis);
 1044         DECLARE("SaveHighHysteresis",   SaveHighHysteresis);
 1045         DECLARE("InitialSaveAreas",             InitialSaveAreas);
 1046         DECLARE("InitialSaveTarget",    InitialSaveTarget);
 1047         DECLARE("InitialSaveBloks",             InitialSaveBloks);
 1048 
 1049         DECLARE("SAVprev",              offsetof(struct savearea_comm *, save_prev));
 1050         DECLARE("SAVact",               offsetof(struct savearea_comm *, save_act));
 1051         DECLARE("SAVflags",             offsetof(struct savearea_comm *, save_flags));
 1052         DECLARE("SAVlevel",             offsetof(struct savearea_comm *, save_level));
 1053         DECLARE("SAVtime",              offsetof(struct savearea_comm *, save_time));
 1054         DECLARE("savemisc0",    offsetof(struct savearea_comm *, save_misc0));
 1055         DECLARE("savemisc1",    offsetof(struct savearea_comm *, save_misc1));
 1056         DECLARE("savemisc2",    offsetof(struct savearea_comm *, save_misc2));
 1057         DECLARE("savemisc3",    offsetof(struct savearea_comm *, save_misc3));
 1058 
 1059         DECLARE("SAVsize",              sizeof(struct savearea));
 1060         DECLARE("SAVsizefpu",   sizeof(struct savearea_vec));
 1061         DECLARE("SAVsizevec",   sizeof(struct savearea_fpu));
 1062         DECLARE("SAVcommsize",  sizeof(struct savearea_comm));
 1063         
 1064         DECLARE("savesrr0",             offsetof(struct savearea *, save_srr0));
 1065         DECLARE("savesrr1",             offsetof(struct savearea *, save_srr1));
 1066         DECLARE("savecr",               offsetof(struct savearea *, save_cr));
 1067         DECLARE("savexer",              offsetof(struct savearea *, save_xer));
 1068         DECLARE("savelr",               offsetof(struct savearea *, save_lr));
 1069         DECLARE("savectr",              offsetof(struct savearea *, save_ctr));
 1070         DECLARE("savedar",              offsetof(struct savearea *, save_dar));
 1071         DECLARE("savedsisr",    offsetof(struct savearea *, save_dsisr));
 1072         DECLARE("saveexception",        offsetof(struct savearea *, save_exception));
 1073         DECLARE("savefpscrpad", offsetof(struct savearea *, save_fpscrpad));
 1074         DECLARE("savefpscr",    offsetof(struct savearea *, save_fpscr));
 1075         DECLARE("savevrsave",   offsetof(struct savearea *, save_vrsave));      
 1076         DECLARE("savevscr",             offsetof(struct savearea *, save_vscr));        
 1077 
 1078         DECLARE("savemmcr0",    offsetof(struct savearea *, save_mmcr0));
 1079         DECLARE("savemmcr1",    offsetof(struct savearea *, save_mmcr1));
 1080         DECLARE("savemmcr2",    offsetof(struct savearea *, save_mmcr2));
 1081         DECLARE("savepmc",              offsetof(struct savearea *, save_pmc));
 1082         
 1083         DECLARE("saveinstr",    offsetof(struct savearea *, save_instr));
 1084 
 1085         DECLARE("saver0",               offsetof(struct savearea *, save_r0));
 1086         DECLARE("saver1",               offsetof(struct savearea *, save_r1));
 1087         DECLARE("saver2",               offsetof(struct savearea *, save_r2));
 1088         DECLARE("saver3",               offsetof(struct savearea *, save_r3));
 1089         DECLARE("saver4",               offsetof(struct savearea *, save_r4));
 1090         DECLARE("saver5",               offsetof(struct savearea *, save_r5));
 1091         DECLARE("saver6",               offsetof(struct savearea *, save_r6));
 1092         DECLARE("saver7",               offsetof(struct savearea *, save_r7));
 1093         DECLARE("saver8",               offsetof(struct savearea *, save_r8));
 1094         DECLARE("saver9",               offsetof(struct savearea *, save_r9));
 1095         DECLARE("saver10",              offsetof(struct savearea *, save_r10));
 1096         DECLARE("saver11",              offsetof(struct savearea *, save_r11));
 1097         DECLARE("saver12",              offsetof(struct savearea *, save_r12));
 1098         DECLARE("saver13",              offsetof(struct savearea *, save_r13));
 1099         DECLARE("saver14",              offsetof(struct savearea *, save_r14));
 1100         DECLARE("saver15",              offsetof(struct savearea *, save_r15));
 1101         DECLARE("saver16",              offsetof(struct savearea *, save_r16));
 1102         DECLARE("saver17",              offsetof(struct savearea *, save_r17));
 1103         DECLARE("saver18",              offsetof(struct savearea *, save_r18));
 1104         DECLARE("saver19",              offsetof(struct savearea *, save_r19));
 1105         DECLARE("saver20",              offsetof(struct savearea *, save_r20));
 1106         DECLARE("saver21",              offsetof(struct savearea *, save_r21));
 1107         DECLARE("saver22",              offsetof(struct savearea *, save_r22));
 1108         DECLARE("saver23",              offsetof(struct savearea *, save_r23));
 1109         DECLARE("saver24",              offsetof(struct savearea *, save_r24));
 1110         DECLARE("saver25",              offsetof(struct savearea *, save_r25));
 1111         DECLARE("saver26",              offsetof(struct savearea *, save_r26));
 1112         DECLARE("saver27",              offsetof(struct savearea *, save_r27));
 1113         DECLARE("saver28",              offsetof(struct savearea *, save_r28));
 1114         DECLARE("saver29",              offsetof(struct savearea *, save_r29));
 1115         DECLARE("saver30",              offsetof(struct savearea *, save_r30));
 1116         DECLARE("saver31",              offsetof(struct savearea *, save_r31));
 1117 
 1118         DECLARE("savefp0",              offsetof(struct savearea_fpu *, save_fp0));
 1119         DECLARE("savefp1",              offsetof(struct savearea_fpu *, save_fp1));
 1120         DECLARE("savefp2",              offsetof(struct savearea_fpu *, save_fp2));
 1121         DECLARE("savefp3",              offsetof(struct savearea_fpu *, save_fp3));
 1122         DECLARE("savefp4",              offsetof(struct savearea_fpu *, save_fp4));
 1123         DECLARE("savefp5",              offsetof(struct savearea_fpu *, save_fp5));
 1124         DECLARE("savefp6",              offsetof(struct savearea_fpu *, save_fp6));
 1125         DECLARE("savefp7",              offsetof(struct savearea_fpu *, save_fp7));
 1126         DECLARE("savefp8",              offsetof(struct savearea_fpu *, save_fp8));
 1127         DECLARE("savefp9",              offsetof(struct savearea_fpu *, save_fp9));
 1128         DECLARE("savefp10",             offsetof(struct savearea_fpu *, save_fp10));
 1129         DECLARE("savefp11",             offsetof(struct savearea_fpu *, save_fp11));
 1130         DECLARE("savefp12",             offsetof(struct savearea_fpu *, save_fp12));
 1131         DECLARE("savefp13",             offsetof(struct savearea_fpu *, save_fp13));
 1132         DECLARE("savefp14",             offsetof(struct savearea_fpu *, save_fp14));
 1133         DECLARE("savefp15",             offsetof(struct savearea_fpu *, save_fp15));
 1134         DECLARE("savefp16",             offsetof(struct savearea_fpu *, save_fp16));
 1135         DECLARE("savefp17",             offsetof(struct savearea_fpu *, save_fp17));
 1136         DECLARE("savefp18",             offsetof(struct savearea_fpu *, save_fp18));
 1137         DECLARE("savefp19",             offsetof(struct savearea_fpu *, save_fp19));
 1138         DECLARE("savefp20",             offsetof(struct savearea_fpu *, save_fp20));
 1139         DECLARE("savefp21",             offsetof(struct savearea_fpu *, save_fp21));
 1140         DECLARE("savefp22",             offsetof(struct savearea_fpu *, save_fp22));
 1141         DECLARE("savefp23",             offsetof(struct savearea_fpu *, save_fp23));
 1142         DECLARE("savefp24",             offsetof(struct savearea_fpu *, save_fp24));
 1143         DECLARE("savefp25",             offsetof(struct savearea_fpu *, save_fp25));
 1144         DECLARE("savefp26",             offsetof(struct savearea_fpu *, save_fp26));
 1145         DECLARE("savefp27",             offsetof(struct savearea_fpu *, save_fp27));
 1146         DECLARE("savefp28",             offsetof(struct savearea_fpu *, save_fp28));
 1147         DECLARE("savefp29",             offsetof(struct savearea_fpu *, save_fp29));
 1148         DECLARE("savefp30",             offsetof(struct savearea_fpu *, save_fp30));
 1149         DECLARE("savefp31",             offsetof(struct savearea_fpu *, save_fp31));
 1150         
 1151         DECLARE("savevr0",              offsetof(struct savearea_vec *, save_vr0));
 1152         DECLARE("savevr1",              offsetof(struct savearea_vec *, save_vr1));
 1153         DECLARE("savevr2",              offsetof(struct savearea_vec *, save_vr2));
 1154         DECLARE("savevr3",              offsetof(struct savearea_vec *, save_vr3));
 1155         DECLARE("savevr4",              offsetof(struct savearea_vec *, save_vr4));
 1156         DECLARE("savevr5",              offsetof(struct savearea_vec *, save_vr5));
 1157         DECLARE("savevr6",              offsetof(struct savearea_vec *, save_vr6));
 1158         DECLARE("savevr7",              offsetof(struct savearea_vec *, save_vr7));
 1159         DECLARE("savevr8",              offsetof(struct savearea_vec *, save_vr8));
 1160         DECLARE("savevr9",              offsetof(struct savearea_vec *, save_vr9));
 1161         DECLARE("savevr10",             offsetof(struct savearea_vec *, save_vr10));
 1162         DECLARE("savevr11",             offsetof(struct savearea_vec *, save_vr11));
 1163         DECLARE("savevr12",             offsetof(struct savearea_vec *, save_vr12));
 1164         DECLARE("savevr13",             offsetof(struct savearea_vec *, save_vr13));
 1165         DECLARE("savevr14",             offsetof(struct savearea_vec *, save_vr14));
 1166         DECLARE("savevr15",             offsetof(struct savearea_vec *, save_vr15));
 1167         DECLARE("savevr16",             offsetof(struct savearea_vec *, save_vr16));
 1168         DECLARE("savevr17",             offsetof(struct savearea_vec *, save_vr17));
 1169         DECLARE("savevr18",             offsetof(struct savearea_vec *, save_vr18));
 1170         DECLARE("savevr19",             offsetof(struct savearea_vec *, save_vr19));
 1171         DECLARE("savevr20",             offsetof(struct savearea_vec *, save_vr20));
 1172         DECLARE("savevr21",             offsetof(struct savearea_vec *, save_vr21));
 1173         DECLARE("savevr22",             offsetof(struct savearea_vec *, save_vr22));
 1174         DECLARE("savevr23",             offsetof(struct savearea_vec *, save_vr23));
 1175         DECLARE("savevr24",             offsetof(struct savearea_vec *, save_vr24));
 1176         DECLARE("savevr25",             offsetof(struct savearea_vec *, save_vr25));
 1177         DECLARE("savevr26",             offsetof(struct savearea_vec *, save_vr26));
 1178         DECLARE("savevr27",             offsetof(struct savearea_vec *, save_vr27));
 1179         DECLARE("savevr28",             offsetof(struct savearea_vec *, save_vr28));
 1180         DECLARE("savevr29",             offsetof(struct savearea_vec *, save_vr29));
 1181         DECLARE("savevr30",             offsetof(struct savearea_vec *, save_vr30));
 1182         DECLARE("savevr31",             offsetof(struct savearea_vec *, save_vr31));
 1183         DECLARE("savevrvalid",  offsetof(struct savearea_vec *, save_vrvalid)); 
 1184 
 1185         /* PseudoKernel Exception Descriptor info */
 1186         DECLARE("BEDA_SRR0",    offsetof(BEDA_t *, srr0));
 1187         DECLARE("BEDA_SRR1",    offsetof(BEDA_t *, srr1));
 1188         DECLARE("BEDA_SPRG0",   offsetof(BEDA_t *, sprg0));
 1189         DECLARE("BEDA_SPRG1",   offsetof(BEDA_t *, sprg1));
 1190 
 1191         /* PseudoKernel Interrupt Control Word */
 1192         DECLARE("BTTD_INTCONTROLWORD",  offsetof(BTTD_t *, InterruptControlWord));
 1193 
 1194         /* New state when exiting the pseudokernel */
 1195         DECLARE("BTTD_NEWEXITSTATE",    offsetof(BTTD_t *, NewExitState));
 1196 
 1197         /* PseudoKernel Test/Post Interrupt */
 1198         DECLARE("BTTD_TESTINTMASK",     offsetof(BTTD_t *, testIntMask));
 1199         DECLARE("BTTD_POSTINTMASK",     offsetof(BTTD_t *, postIntMask));
 1200 
 1201         /* PseudoKernel Vectors */
 1202         DECLARE("BTTD_TRAP_VECTOR",                     offsetof(BTTD_t *, TrapVector));
 1203         DECLARE("BTTD_SYSCALL_VECTOR",          offsetof(BTTD_t *, SysCallVector));
 1204         DECLARE("BTTD_INTERRUPT_VECTOR",        offsetof(BTTD_t *, InterruptVector));
 1205         DECLARE("BTTD_PENDINGINT_VECTOR",       offsetof(BTTD_t *, PendingIntVector));
 1206         
 1207         /* PseudoKernel Bits, Masks and misc */
 1208         DECLARE("SYSCONTEXTSTATE",              kInSystemContext);
 1209         DECLARE("PSEUDOKERNELSTATE",    kInPseudoKernel);
 1210         DECLARE("INTSTATEMASK_B",               12);
 1211         DECLARE("INTSTATEMASK_E",               15);
 1212         DECLARE("INTCR2MASK_B",                 8);
 1213         DECLARE("INTCR2MASK_E",                 11);
 1214         DECLARE("INTBACKUPCR2MASK_B",   28);
 1215         DECLARE("INTBACKUPCR2MASK_E",   31);
 1216         DECLARE("INTCR2TOBACKUPSHIFT",  kCR2ToBackupShift);
 1217         DECLARE("BB_MAX_TRAP",                  bbMaxTrap);
 1218         DECLARE("BB_RFI_TRAP",                  bbRFITrap);
 1219 
 1220         /* Various hackery */
 1221         DECLARE("procState",            offsetof(struct processor *, state));
 1222         
 1223         DECLARE("CPU_SUBTYPE_POWERPC_ALL",              CPU_SUBTYPE_POWERPC_ALL);
 1224         DECLARE("CPU_SUBTYPE_POWERPC_750",              CPU_SUBTYPE_POWERPC_750);
 1225         DECLARE("CPU_SUBTYPE_POWERPC_7400",             CPU_SUBTYPE_POWERPC_7400);
 1226         DECLARE("CPU_SUBTYPE_POWERPC_7450",             CPU_SUBTYPE_POWERPC_7450);
 1227         DECLARE("CPU_SUBTYPE_POWERPC_970",              CPU_SUBTYPE_POWERPC_970);
 1228 
 1229         DECLARE("shdIBAT",      offsetof(struct shadowBAT *, IBATs));   
 1230         DECLARE("shdDBAT",      offsetof(struct shadowBAT *, DBATs));   
 1231         
 1232         /* Low Memory Globals */
 1233 
 1234         DECLARE("lgVerCode",                    offsetof(struct lowglo *, lgVerCode));
 1235         DECLARE("lgPPStart",                    offsetof(struct lowglo *, lgPPStart));
 1236         DECLARE("trcWork",                              offsetof(struct lowglo *, lgTrcWork));
 1237         DECLARE("traceMask",                    offsetof(struct lowglo *, lgTrcWork.traceMask));
 1238         DECLARE("traceCurr",                    offsetof(struct lowglo *, lgTrcWork.traceCurr));
 1239         DECLARE("traceStart",                   offsetof(struct lowglo *, lgTrcWork.traceStart));
 1240         DECLARE("traceEnd",                             offsetof(struct lowglo *, lgTrcWork.traceEnd));
 1241         DECLARE("traceMsnd",                    offsetof(struct lowglo *, lgTrcWork.traceMsnd));
 1242 
 1243         DECLARE("Zero",                                 offsetof(struct lowglo *, lgZero));
 1244         DECLARE("saveanchor",                   offsetof(struct lowglo *, lgSaveanchor));
 1245 
 1246         DECLARE("SVlock",                               offsetof(struct lowglo *, lgSaveanchor.savelock));
 1247         DECLARE("SVpoolfwd",                    offsetof(struct lowglo *, lgSaveanchor.savepoolfwd));
 1248         DECLARE("SVpoolbwd",                    offsetof(struct lowglo *, lgSaveanchor.savepoolbwd));
 1249         DECLARE("SVfree",                               offsetof(struct lowglo *, lgSaveanchor.savefree));
 1250         DECLARE("SVfreecnt",                    offsetof(struct lowglo *, lgSaveanchor.savefreecnt));
 1251         DECLARE("SVadjust",                             offsetof(struct lowglo *, lgSaveanchor.saveadjust));
 1252         DECLARE("SVinuse",                              offsetof(struct lowglo *, lgSaveanchor.saveinuse));
 1253         DECLARE("SVtarget",                             offsetof(struct lowglo *, lgSaveanchor.savetarget));
 1254         DECLARE("SVsize",                               sizeof(struct Saveanchor));
 1255 
 1256         DECLARE("tlbieLock",                    offsetof(struct lowglo *, lgTlbieLck));
 1257 
 1258         DECLARE("dgFlags",                              offsetof(struct lowglo *, lgdgWork.dgFlags));
 1259         DECLARE("dgLock",                               offsetof(struct lowglo *, lgdgWork.dgLock));
 1260         DECLARE("dgMisc0",                              offsetof(struct lowglo *, lgdgWork.dgMisc0));
 1261         
 1262         DECLARE("lgKillResv",                   offsetof(struct lowglo *, lgKillResv));
 1263         
 1264         DECLARE("scomcpu",                              offsetof(struct scomcomm *, scomcpu));
 1265         DECLARE("scomfunc",                             offsetof(struct scomcomm *, scomfunc));
 1266         DECLARE("scomreg",                              offsetof(struct scomcomm *, scomreg));
 1267         DECLARE("scomstat",                             offsetof(struct scomcomm *, scomstat));
 1268         DECLARE("scomdata",                             offsetof(struct scomcomm *, scomdata));
 1269 
 1270         return(0);  /* For ANSI C :-) */
 1271 }

Cache object: f84e51346ad11500fb18449f71e760a4


[ 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.