1\ 2\ Copyright 2007 Sun Microsystems, Inc. All rights reserved. 3\ Use is subject to license terms. 4\ 5\ Copyright 2018 Joyent, Inc. 6\ 7\ CDDL HEADER START 8\ 9\ The contents of this file are subject to the terms of the 10\ Common Development and Distribution License (the "License"). 11\ You may not use this file except in compliance with the License. 12\ 13\ You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 14\ or http://www.opensolaris.org/os/licensing. 15\ See the License for the specific language governing permissions 16\ and limitations under the License. 17\ 18\ When distributing Covered Code, include this CDDL HEADER in each 19\ file and include the License file at usr/src/OPENSOLARIS.LICENSE. 20\ If applicable, add the following below this CDDL HEADER, with the 21\ fields enclosed by brackets "[]" replaced with your own identifying 22\ information: Portions Copyright [yyyy] [name of copyright owner] 23\ 24\ CDDL HEADER END 25\ 26\ CPU-save structure offsets for use in assembly code. 27\ 28\ Keep in sync with kdi_state.h 29\ 30 31#include <sys/cpuvar.h> 32#include <sys/kdi_impl.h> 33 34kdi_memrange_t MR_SIZE 35 mr_base 36 mr_lim 37 38kdi_crumb_t KRM_SIZE 39 krm_cpu_state 40 krm_pc 41 krm_sp 42 krm_trapno 43 krm_flag 44 45kdi_drreg_t 46 dr_ctl 47 dr_stat 48 dr_addr 49 50kdi_cpusave_t KRS_SIZE 51 krs_gregs 52 krs_dr 53 krs_dr.dr_ctl KRS_DRCTL 54 krs_dr.dr_stat KRS_DRSTAT 55 krs_gdt 56 krs_idt 57 krs_cr0 58 krs_cpu_state 59 krs_curcrumbidx 60 krs_curcrumb 61 krs_crumbs 62 63cpu 64 cpu_id 65 66greg_t KREG_SIZE 67 68#if defined(__amd64) 69\#define REG_SHIFT 3 70#else 71\#define REG_SHIFT 2 72#endif 73 74\#define DRADDR_IDX(num) _CONST(_MUL(num, DR_ADDR_INCR)) 75\#define DRADDR_OFF(num) _CONST(DRADDR_IDX(num) + DR_ADDR) 76\#define KRS_DROFF(num) _CONST(DRADDR_OFF(num) + KRS_DR) 77\#define REG_OFF(reg) _CONST(_CONST(reg) << REG_SHIFT) 78\#define KDIREG_OFF(reg) _CONST(_MUL(KREG_SIZE, reg) + KRS_GREGS) 79