OpenSolaris_b135/uts/i86pc/ml/mach_offsets.in

\
\ Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
\ Use is subject to license terms.
\
\ CDDL HEADER START
\
\ The contents of this file are subject to the terms of the
\ Common Development and Distribution License (the "License").
\ You may not use this file except in compliance with the License.
\
\ You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
\ or http://www.opensolaris.org/os/licensing.
\ See the License for the specific language governing permissions
\ and limitations under the License.
\
\ When distributing Covered Code, include this CDDL HEADER in each
\ file and include the License file at usr/src/OPENSOLARIS.LICENSE.
\ If applicable, add the following below this CDDL HEADER, with the
\ fields enclosed by brackets "[]" replaced with your own identifying
\ information: Portions Copyright [yyyy] [name of copyright owner]
\
\ CDDL HEADER END
\

#pragma ident	"%Z%%M%	%I%	%E% SMI"

\
\ offsets.in: input file to produce assym.h using the ctfstabs program
\

#ifndef	_GENASSYM
#define	_GENASSYM
#endif

#define	SIZES	1

#if defined(__xpv)
\
\ XXPV	This seems to need to be first to avoid a namespace collision
\	with another header file in the list below.
\
#include <sys/hypervisor.h>
#endif

#include <sys/types.h>
#include <sys/bootsvcs.h>
#include <sys/systm.h>
#include <sys/sysinfo.h>
#include <sys/user.h>
#include <sys/thread.h>
#include <sys/proc.h>
#include <sys/cpuvar.h>
#include <sys/tss.h>
#include <sys/privregs.h>
#include <sys/segments.h>
#include <sys/devops.h>
#include <sys/ddi_impldefs.h>
#include <vm/as.h>
#include <sys/avintr.h>
#include <sys/pic.h>
#include <sys/rm_platter.h>
#include <sys/stream.h>
#include <sys/strsubr.h>
#include <sys/sunddi.h>
#include <sys/traptrace.h>
#include <sys/ontrap.h>
#include <sys/lgrp.h>
#include <sys/dtrace.h>

regs	REGSIZE
	r_savfp	REGOFF_SAVFP
	r_savpc	REGOFF_SAVPC
	r_gs	REGOFF_GS
	r_fs	REGOFF_FS
	r_es	REGOFF_ES
	r_ds	REGOFF_DS
	r_edi	REGOFF_EDI
	r_esi	REGOFF_ESI
	r_ebp	REGOFF_EBP
	r_esp	REGOFF_ESP
	r_ebx	REGOFF_EBX
	r_edx	REGOFF_EDX
	r_ecx	REGOFF_ECX
	r_eax	REGOFF_EAX
	r_trapno	REGOFF_TRAPNO
	r_err	REGOFF_ERR
	r_eip	REGOFF_EIP
	r_cs	REGOFF_CS
	r_efl	REGOFF_EFL
	r_uesp	REGOFF_UESP
	r_ss	REGOFF_SS

\#define	REGOFF_PC	REGOFF_EIP

tss
	tss_esp0		TSS_ESP0
	tss_ss0		TSS_SS0
	tss_ldt		TSS_LDT
	tss_cr3		TSS_CR3
	tss_cs		TSS_CS
	tss_ss		TSS_SS
	tss_ds		TSS_DS
	tss_es		TSS_ES
	tss_fs		TSS_FS
	tss_gs		TSS_GS
	tss_ebp		TSS_EBP
	tss_eip		TSS_EIP
	tss_eflags	TSS_EFL
	tss_esp		TSS_ESP
	tss_eax		TSS_EAX
	tss_ebx		TSS_EBX
	tss_ecx		TSS_ECX
	tss_edx		TSS_EDX
	tss_esi		TSS_ESI
	tss_edi		TSS_EDI

\#define	LABEL_EBP	_CONST(_MUL(2, LABEL_VAL_INCR) + LABEL_VAL)
\#define	LABEL_EBX	_CONST(_MUL(3, LABEL_VAL_INCR) + LABEL_VAL)
\#define	LABEL_ESI	_CONST(_MUL(4, LABEL_VAL_INCR) + LABEL_VAL)
\#define	LABEL_EDI	_CONST(_MUL(5, LABEL_VAL_INCR) + LABEL_VAL)
\#define	T_EBP		_CONST(T_LABEL + LABEL_EBP)
\#define	T_EBX		_CONST(T_LABEL + LABEL_EBX)
\#define	T_ESI		_CONST(T_LABEL + LABEL_ESI)
\#define	T_EDI		_CONST(T_LABEL + LABEL_EDI)

_klwp
	lwp_pcb.pcb_fsdesc			LWP_PCB_FSDESC
	lwp_pcb.pcb_gsdesc			LWP_PCB_GSDESC
	lwp_pcb.pcb_drstat			LWP_PCB_DRSTAT
	lwp_pcb.pcb_flags			PCB_FLAGS
	lwp_pcb.pcb_fpu				LWP_PCB_FPU
	lwp_pcb.pcb_fpu.fpu_regs		LWP_FPU_REGS
	lwp_pcb.pcb_fpu.fpu_flags		LWP_FPU_FLAGS
	lwp_pcb.pcb_fpu.fpu_regs.kfpu_u.kfpu_fx	LWP_FPU_CHIP_STATE

pcb	PCBSIZE
	pcb_drstat
	pcb_fsdesc
	pcb_gsdesc
	pcb_fpu.fpu_regs	PCB_FPU_REGS
	pcb_fpu.fpu_flags	PCB_FPU_FLAGS

#if defined(__xpv)

vcpu_info
	evtchn_upcall_pending	VCPU_INFO_EVTCHN_UPCALL_PENDING
	evtchn_upcall_mask	VCPU_INFO_EVTCHN_UPCALL_MASK
	arch.cr2		VCPU_INFO_ARCH_CR2

#endif	/* __xpv */