kaif_off.in revision 7c478bd95313f5f23a4c958a745db2134aa03244
\
\ 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, Version 1.0 only
\ (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
\
\ ident "%Z%%M% %I% %E% SMI"
\
\ CPU-save structure offsets for use in assembly code.
\
\ Keep in sync with kaif_regs.h
\
#include <sys/cpuvar.h>
#include <sys/kdi_impl.h>
#include <kmdb/kaif.h>
#include <kmdb/kaif_regs.h>
#include <mdb/mdb.h>
kaif_memrange_t MR_SIZE
mr_base
mr_lim
kaif_crumb_t KRM_SIZE
krm_cpu_state
krm_pc
krm_sp
krm_trapno
krm_flag
kaif_drreg_t
dr_ctl
dr_stat
dr_addr
kmdb_msr_t MSR_SIZE
msr_num
msr_type
_u._msr_valp MSR_VALP
_u._msr_val MSR_VAL
kaif_cpusave_t KRS_SIZE
krs_gregs
krs_dr
krs_dr.dr_ctl KRS_DRCTL
krs_dr.dr_stat KRS_DRSTAT
krs_gdtr
krs_idtr
krs_tmpdesc
krs_cr0
krs_msr
krs_cpu_state
krs_curcrumbidx
krs_curcrumb
krs_crumbs
cpu
cpu_id
#if defined(__amd64)
mdb_t
m_kdi MDB_KDI
kdi_t
kdi_mach.mkdi_gdt2gsbase MKDI_GDT2GSBASE
#endif
kreg_t KREG_SIZE
#if defined(__amd64)
\#define REG_SHIFT 3
#else
\#define REG_SHIFT 2
#endif
\#define DRADDR_IDX(num) _CONST(_MUL(num, DR_ADDR_INCR))
\#define DRADDR_OFF(num) _CONST(DRADDR_IDX(num) + DR_ADDR)
\#define KRS_DROFF(num) _CONST(DRADDR_OFF(num) + KRS_DR)
\#define REG_OFF(reg) _CONST(_CONST(reg) << REG_SHIFT)
\#define KREG_OFF(reg) _CONST(_MUL(KREG_SIZE, reg) + KRS_GREGS)