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

Cache object: f7c0c1858d1a4c5a52d3825aede09328


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