1\ 2\ CDDL HEADER START 3\ 4\ The contents of this file are subject to the terms of the 5\ Common Development and Distribution License, Version 1.0 only 6\ (the "License"). You may not use this file except in compliance 7\ with the License. 8\ 9\ You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10\ or http://www.opensolaris.org/os/licensing. 11\ See the License for the specific language governing permissions 12\ and limitations under the License. 13\ 14\ When distributing Covered Code, include this CDDL HEADER in each 15\ file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16\ If applicable, add the following below this CDDL HEADER, with the 17\ fields enclosed by brackets "[]" replaced with your own identifying 18\ information: Portions Copyright [yyyy] [name of copyright owner] 19\ 20\ CDDL HEADER END 21\ 22\ Copyright 2005 Sun Microsystems, Inc. All rights reserved. 23\ Use is subject to license terms. 24\ 25\ offsets.in: input file to produce assym.h using the stabs program 26\ 27\ 28\ Guidelines: 29\ 30\ A blank line is required between structure/union/intrinsic names. 31\ 32\ The general form is: 33\ 34\ name size_define [shift_define] 35\ [member_name [offset_define]] 36\ {blank line} 37\ 38\ If no individual member_name's are specified then NO members are processed. 39\ If offset_define is not specified then the member_name is 40\ converted to all caps and used instead. If the size of an item is 41\ a power of two then an optional shift count may be output using 42\ shift_define as the name but only if shift_define was specified. 43\ 44\ Arrays cause stabs to automatically output the per-array-item increment 45\ in addition to the base address: 46\ 47\ foo FOO_SIZE 48\ array FOO_ARRAY 49\ 50\ results in: 51\ 52\ #define FOO_ARRAY 0x0 53\ #define FOO_ARRAY_INCR 0x4 54\ 55\ which allows \#define's to be used to specify array items: 56\ 57\ #define FOO_0 (FOO_ARRAY + (0 * FOO_ARRAY_INCR)) 58\ #define FOO_1 (FOO_ARRAY + (1 * FOO_ARRAY_INCR)) 59\ ... 60\ #define FOO_n (FOO_ARRAY + (n * FOO_ARRAY_INCR)) 61\ 62\ There are several examples below (search for _INCR). 63\ 64\ There is currently no manner in which to identify "anonymous" 65\ structures or unions so if they are to be used in assembly code 66\ they must be given names. 67\ 68\ When specifying the offsets of nested structures/unions each nested 69\ structure or union must be listed separately then use the 70\ "\#define" escapes to add the offsets from the base structure/union 71\ and all of the nested structures/unions together. See the many 72\ examples already in this file. 73 74#pragma ident "%Z%%M% %I% %E% SMI" 75 76#ifndef _GENASSYM 77#define _GENASSYM 78#endif 79 80#include <vm/hat_sfmmu.h> 81#include <sys/spitregs.h> 82#include <sys/cheetahregs.h> 83#include <sys/fpras_impl.h> 84#include <sys/traptrace.h> 85 86machcpu 87 intrstat MCPU_INTRSTAT 88 pil_high_start MCPU_PIL_HIGH_START 89 90trap_trace_record TRAP_ENT_SIZE 91 tt_tl TRAP_ENT_TL 92 tt_tt TRAP_ENT_TT 93 tt_tpc TRAP_ENT_TPC 94 tt_tstate TRAP_ENT_TSTATE 95 tt_tick TRAP_ENT_TICK 96 tt_sp TRAP_ENT_SP 97 tt_tr TRAP_ENT_TR 98 tt_f1 TRAP_ENT_F1 99 tt_f2 TRAP_ENT_F2 100 tt_f3 TRAP_ENT_F3 101 tt_f4 TRAP_ENT_F4 102 103hat HAT_SIZE 104 sfmmu_cnum 105 sfmmu_cpusran 106 sfmmu_tsb 107 sfmmu_ismblkpa 108 sfmmu_flags 109 110sfmmu_global_stat HATSTAT_SIZE 111 sf_pagefaults HATSTAT_PAGEFAULT 112 sf_uhash_searches HATSTAT_UHASH_SEARCH 113 sf_uhash_links HATSTAT_UHASH_LINKS 114 sf_khash_searches HATSTAT_KHASH_SEARCH 115 sf_khash_links HATSTAT_KHASH_LINKS 116 117ctx CTX_SIZE CTX_SZ_SHIFT 118 ctx_un.ctx_sfmmup CTX_SFMMUP 119 120sf_hment SFHME_SIZE SFHME_SHIFT 121 hme_tte SFHME_TTE 122 123tsbmiss TSBMISS_SIZE TSBMISS_SHIFT 124 tsbptr TSBMISS_TSBPTR 125 tsbptr4m TSBMISS_TSBPTR4M 126 ksfmmup TSBMISS_KHATID 127 usfmmup TSBMISS_UHATID 128 khashsz TSBMISS_KHASHSZ 129 khashstart TSBMISS_KHASHSTART 130 dcache_line_mask TSBMISS_DMASK 131 uhashsz TSBMISS_UHASHSZ 132 uhashstart TSBMISS_UHASHSTART 133 hat_flags TSBMISS_HATFLAGS 134 ismblkpa TSBMISS_ISMBLKPA 135 itlb_misses TSBMISS_ITLBMISS 136 dtlb_misses TSBMISS_DTLBMISS 137 utsb_misses TSBMISS_UTSBMISS 138 ktsb_misses TSBMISS_KTSBMISS 139 uprot_traps TSBMISS_UPROTS 140 kprot_traps TSBMISS_KPROTS 141 scratch TSBMISS_SCRATCH 142 143\#define TSB_TAGACC (0 * TSBMISS_SCRATCH_INCR) 144\#define TSBMISS_HMEBP (1 * TSBMISS_SCRATCH_INCR) 145\#define TSBMISS_HATID (2 * TSBMISS_SCRATCH_INCR) 146\#define TSBMISS_XMMURET (3 * TSBMISS_SCRATCH_INCR) 147\#define TSBMISS_XMMUPTR (4 * TSBMISS_SCRATCH_INCR) 148 149kpmtsbm KPMTSBM_SIZE KPMTSBM_SHIFT 150 vbase KPMTSBM_VBASE 151 vend KPMTSBM_VEND 152 flags KPMTSBM_FLAGS 153 sz_shift KPMTSBM_SZSHIFT 154 kpmp_shift KPMTSBM_KPMPSHIFT 155 kpmp2pshft KPMTSBM_KPMP2PSHFT 156 kpmp_table_sz KPMTSBM_KPMPTABLESZ 157 kpmp_tablepa KPMTSBM_KPMPTABLEPA 158 msegphashpa KPMTSBM_MSEGPHASHPA 159 tsbptr KPMTSBM_TSBPTR 160 kpm_dtlb_misses KPMTSBM_DTLBMISS 161 kpm_tsb_misses KPMTSBM_TSBMISS 162 163kpm_page KPMPAGE_SIZE KPMPAGE_SHIFT 164 kp_refcnt KPMPAGE_REFCNT 165 kp_refcnta KPMPAGE_REFCNTA 166 kp_refcntc KPMPAGE_REFCNTC 167 kp_refcnts KPMPAGE_REFCNTS 168 169kpm_hlk KPMHLK_SIZE KPMHLK_SHIFT 170 khl_mutex KPMHLK_MUTEX 171 khl_lock KPMHLK_LOCK 172 173kpm_spage KPMSPAGE_SIZE KPMSPAGE_SHIFT 174 kp_mapped KPMSPAGE_MAPPED 175 176kpm_shlk KPMSHLK_SIZE KPMSHLK_SHIFT 177 kshl_lock KPMSHLK_LOCK 178 179memseg MEMSEG_SIZE 180 pages MEMSEG_PAGES 181 epages MEMSEG_EPAGES 182 pages_base MEMSEG_PAGES_BASE 183 pages_end MEMSEG_PAGES_END 184 next MEMSEG_NEXT 185 lnext MEMSEG_LNEXT 186 nextpa MEMSEG_NEXTPA 187 pagespa MEMSEG_PAGESPA 188 epagespa MEMSEG_EPAGESPA 189 kpm_pbase MEMSEG_KPM_PBASE 190 kpm_nkpmpgs MEMSEG_KPM_NKPMPGS 191 mseg_un 192 kpm_pagespa MEMSEG_KPM_PAGESPA 193 194\#define MEMSEG_KPM_PAGES (MSEG_UN) 195\#define MEMSEG_KPM_SPAGES (MSEG_UN) 196 197page PAGE_SIZE 198 p_pagenum PAGE_PAGENUM 199 200tsb_info TSBINFO_SIZE 201 tsb_tte TSBINFO_TTE 202 tsb_va TSBINFO_VADDR 203 tsb_szc TSBINFO_SZCODE 204 tsb_next TSBINFO_NEXTPTR 205 206cpu_node CPU_NODE_SIZE 207 implementation 208 version 209 nodeid 210 clock_freq 211 tick_nsec_scale 212 ecache_size ECACHE_SIZE 213 ecache_linesize ECACHE_LINESIZE 214 device_id DEVICE_ID 215 216spitfire_scrub_misc_t 217 ec_scrub_outstanding 218 219spitfire_private_t 220 sfpr_scrub_misc 221 sfpr_scrub_afsr 222 223cheetah_private_t 224 chpr_icache_size 225 chpr_icache_linesize 226 chpr_tl1_err_data 227 chpr_scrub_misc 228 chpr_fecctl0_logout 229 chpr_cecc_logout 230 chpr_async_logout 231 chpr_tlb_logout 232 chpr_fpras_timestamp 233 234ch_scrub_misc_t 235 chsm_outstanding 236 237ch_cpu_logout_t CH_CPU_LOGOUT_SIZE 238 clo_flags CH_CLO_FLAGS 239 clo_nest_cnt CH_CLO_NEST_CNT 240 clo_data CH_CLO_DATA 241 clo_sdw_data CH_CLO_SDW_DATA 242 243ch_err_tl1_data_t CH_ERR_TL1_DATA_SIZE 244 ch_err_tl1_g1 245 ch_err_tl1_g2 246 ch_err_tl1_g3 247 ch_err_tl1_g4 248 ch_err_tl1_g5 249 ch_err_tl1_g6 250 ch_err_tl1_g7 251 ch_err_tl1_tpc 252 ch_err_tl1_flags 253 ch_err_tl1_tmp 254 ch_err_tl1_logout 255 256ch_cpu_errors_t CH_CPU_ERROR_SIZE 257 afsr CH_CPU_ERRORS_AFSR 258 afar CH_CPU_ERRORS_AFAR 259 shadow_afsr CH_CPU_ERRORS_SHADOW_AFSR 260 shadow_afar CH_CPU_ERRORS_SHADOW_AFAR 261 afsr_ext CH_CPU_ERRORS_AFSR_EXT 262 shadow_afsr_ext CH_CPU_ERRORS_SHADOW_AFSR_EXT 263 afar2 CH_CPU_ERRORS_AFAR2 264 265ch_diag_data_t CH_DIAG_DATA_SIZE 266 chd_afar CH_CHD_AFAR 267 chd_afar2 CH_CHD_AFAR2 268 chd_afsr CH_CHD_AFSR 269 chd_afsr_ext CH_CHD_AFSR_EXT 270 chd_ec_data CH_CHD_EC_DATA 271 chd_l2_data CH_CHD_L2_DATA 272 chd_dc_data CH_CHD_DC_DATA 273 chd_ic_data CH_CHD_IC_DATA 274 275ch_ec_data_t CH_EC_DATA_SIZE 276 ec_idx CH_EC_IDX 277 ec_tag CH_EC_TAG 278 ec_tag_ecc CH_EC_TAG_ECC 279 ec_data CH_EC_DATA 280 281ch_dc_data CH_DC_DATA_SIZE 282 dc_idx CH_DC_IDX 283 dc_way CH_DC_WAY 284 dc_tag CH_DC_TAG 285 dc_utag CH_DC_UTAG 286 dc_sntag CH_DC_SNTAG 287 dc_data CH_DC_DATA 288 dc_pn_data_parity CH_DC_PN_DATA_PARITY 289 290ch_ic_data CH_IC_DATA_SIZE 291 ic_idx CH_IC_IDX 292 ic_way CH_IC_WAY 293 ic_patag CH_IC_PATAG 294 ic_utag CH_IC_UTAG 295 ic_upper CH_IC_UPPER 296 ic_lower CH_IC_LOWER 297 ic_sntag CH_IC_SNTAG 298 ic_data CH_IC_DATA 299 300fpras_chkfn FPRAS_CHKFN_SIZE FPRAS_CHKFN_SIZE_SHIFT 301 fpras_blk0 302 303fpras_chkfngrp FPRAS_CHKFNGRP_SIZE FPRAS_CHKFNGRP_SIZE_SHIFT 304 305ch_pc_data CH_PC_DATA_SIZE 306 pc_idx CH_PC_IDX 307 pc_way CH_PC_WAY 308 pc_status CH_PC_STATUS 309 pc_tag CH_PC_TAG 310 pc_sntag CH_PC_SNTAG 311 pc_data CH_PC_DATA 312 313pn_tlb_logout PN_TLO_SIZE 314 tlo_info PN_TLO_INFO 315 tlo_addr PN_TLO_ADDR 316 tlo_pc PN_TLO_PC 317 tlo_itlb_tte PN_TLO_ITLB_TTE 318 tlo_dtlb_tte PN_TLO_DTLB_TTE 319 320ch_tte_entry CH_TLO_TTE_SIZE 321 ch_tte_tag CH_TLO_TTE_TAG 322 ch_tte_data CH_TLO_TTE_DATA 323 324ptl1_regs 325 ptl1_trap_regs 326 ptl1_g1 327 ptl1_g2 328 ptl1_g3 329 ptl1_g4 330 ptl1_g5 331 ptl1_g6 332 ptl1_g7 333 ptl1_tick 334 ptl1_dmmu_sfar 335 ptl1_dmmu_sfsr 336 ptl1_dmmu_tag_access 337 ptl1_immu_sfsr 338 ptl1_immu_tag_access 339 ptl1_rwindow 340 ptl1_softint 341 ptl1_pstate 342 ptl1_pil 343 ptl1_cwp 344 ptl1_wstate 345 ptl1_otherwin 346 ptl1_cleanwin 347 ptl1_cansave 348 ptl1_canrestore 349 350