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