1 \
   2 \ Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
   3 \ Use is subject to license terms.
   4 \
   5 \ CDDL HEADER START
   6 \
   7 \ The contents of this file are subject to the terms of the
   8 \ Common Development and Distribution License (the "License").
   9 \ You may not use this file except in compliance with the License.
  10 \
  11 \ You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  12 \ or http://www.opensolaris.org/os/licensing.
  13 \ See the License for the specific language governing permissions
  14 \ and limitations under the License.
  15 \
  16 \ When distributing Covered Code, include this CDDL HEADER in each
  17 \ file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  18 \ If applicable, add the following below this CDDL HEADER, with the
  19 \ fields enclosed by brackets "[]" replaced with your own identifying
  20 \ information: Portions Copyright [yyyy] [name of copyright owner]
  21 \
  22 \ CDDL HEADER END
  23 \
  24 \ Copyright 2011 Joyent, Inc. All rights reserved.
  25 \
  26 
  27 \
  28 \ offsets.in: input file to produce assym.h using the ctfstabs program
  29 \
  30 
  31 #ifndef _GENASSYM
  32 #define _GENASSYM
  33 #endif
  34 
  35 #define SIZES   1
  36 
  37 #if defined(__xpv)
  38 \
  39 \ XXPV  This seems to need to be first to avoid a namespace collision
  40 \       with another header file in the list below.
  41 \
  42 #include <sys/hypervisor.h>
  43 #endif
  44 
  45 #include <sys/types.h>
  46 #include <sys/bootsvcs.h>
  47 #include <sys/systm.h>
  48 #include <sys/sysinfo.h>
  49 #include <sys/user.h>
  50 #include <sys/thread.h>
  51 #include <sys/proc.h>
  52 #include <sys/cpuvar.h>
  53 #include <sys/tss.h>
  54 #include <sys/privregs.h>
  55 #include <sys/segments.h>
  56 #include <sys/devops.h>
  57 #include <sys/ddi_impldefs.h>
  58 #include <vm/as.h>
  59 #include <sys/avintr.h>
  60 #include <sys/pic.h>
  61 #include <sys/rm_platter.h>
  62 #include <sys/stream.h>
  63 #include <sys/strsubr.h>
  64 #include <sys/sunddi.h>
  65 #include <sys/traptrace.h>
  66 #include <sys/ontrap.h>
  67 #include <sys/lgrp.h>
  68 #include <sys/dtrace.h>
  69 
  70 regs    REGSIZE
  71         r_savfp REGOFF_SAVFP
  72         r_savpc REGOFF_SAVPC
  73         r_gs    REGOFF_GS
  74         r_fs    REGOFF_FS
  75         r_es    REGOFF_ES
  76         r_ds    REGOFF_DS
  77         r_edi   REGOFF_EDI
  78         r_esi   REGOFF_ESI
  79         r_ebp   REGOFF_EBP
  80         r_esp   REGOFF_ESP
  81         r_ebx   REGOFF_EBX
  82         r_edx   REGOFF_EDX
  83         r_ecx   REGOFF_ECX
  84         r_eax   REGOFF_EAX
  85         r_trapno        REGOFF_TRAPNO
  86         r_err   REGOFF_ERR
  87         r_eip   REGOFF_EIP
  88         r_cs    REGOFF_CS
  89         r_efl   REGOFF_EFL
  90         r_uesp  REGOFF_UESP
  91         r_ss    REGOFF_SS
  92 
  93 \#define        REGOFF_PC       REGOFF_EIP
  94 
  95 tss_t
  96         tss_esp0                TSS_ESP0
  97         tss_ss0         TSS_SS0
  98         tss_ldt         TSS_LDT
  99         tss_cr3         TSS_CR3
 100         tss_cs          TSS_CS
 101         tss_ss          TSS_SS
 102         tss_ds          TSS_DS
 103         tss_es          TSS_ES
 104         tss_fs          TSS_FS
 105         tss_gs          TSS_GS
 106         tss_ebp         TSS_EBP
 107         tss_eip         TSS_EIP
 108         tss_eflags      TSS_EFL
 109         tss_esp         TSS_ESP
 110         tss_eax         TSS_EAX
 111         tss_ebx         TSS_EBX
 112         tss_ecx         TSS_ECX
 113         tss_edx         TSS_EDX
 114         tss_esi         TSS_ESI
 115         tss_edi         TSS_EDI
 116 
 117 \#define        LABEL_EBP       _CONST(_MUL(2, LABEL_VAL_INCR) + LABEL_VAL)
 118 \#define        LABEL_EBX       _CONST(_MUL(3, LABEL_VAL_INCR) + LABEL_VAL)
 119 \#define        LABEL_ESI       _CONST(_MUL(4, LABEL_VAL_INCR) + LABEL_VAL)
 120 \#define        LABEL_EDI       _CONST(_MUL(5, LABEL_VAL_INCR) + LABEL_VAL)
 121 \#define        T_EBP           _CONST(T_LABEL + LABEL_EBP)
 122 \#define        T_EBX           _CONST(T_LABEL + LABEL_EBX)
 123 \#define        T_ESI           _CONST(T_LABEL + LABEL_ESI)
 124 \#define        T_EDI           _CONST(T_LABEL + LABEL_EDI)
 125 
 126 _klwp
 127         lwp_pcb.pcb_fsdesc                      LWP_PCB_FSDESC
 128         lwp_pcb.pcb_gsdesc                      LWP_PCB_GSDESC
 129         lwp_pcb.pcb_drstat                      LWP_PCB_DRSTAT
 130         lwp_pcb.pcb_flags                       PCB_FLAGS
 131         lwp_pcb.pcb_fpu                         LWP_PCB_FPU
 132         lwp_pcb.pcb_fpu.fpu_regs                LWP_FPU_REGS
 133         lwp_pcb.pcb_fpu.fpu_flags               LWP_FPU_FLAGS
 134         lwp_pcb.pcb_fpu.fpu_regs.kfpu_u.kfpu_fx LWP_FPU_CHIP_STATE
 135 
 136 pcb     PCBSIZE
 137         pcb_drstat
 138         pcb_fsdesc
 139         pcb_gsdesc
 140         pcb_fpu.fpu_regs        PCB_FPU_REGS
 141         pcb_fpu.fpu_flags       PCB_FPU_FLAGS
 142 
 143 #if defined(__xpv)
 144 
 145 vcpu_info
 146         evtchn_upcall_pending   VCPU_INFO_EVTCHN_UPCALL_PENDING
 147         evtchn_upcall_mask      VCPU_INFO_EVTCHN_UPCALL_MASK
 148         arch.cr2                VCPU_INFO_ARCH_CR2
 149 
 150 #endif  /* __xpv */