10Sstevel@tonic-gate\ 20Sstevel@tonic-gate\ CDDL HEADER START 30Sstevel@tonic-gate\ 40Sstevel@tonic-gate\ The contents of this file are subject to the terms of the 51772Sjl139090\ Common Development and Distribution License (the "License"). 61772Sjl139090\ You may not use this file except in compliance with the License. 70Sstevel@tonic-gate\ 80Sstevel@tonic-gate\ You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 90Sstevel@tonic-gate\ or http://www.opensolaris.org/os/licensing. 100Sstevel@tonic-gate\ See the License for the specific language governing permissions 110Sstevel@tonic-gate\ and limitations under the License. 120Sstevel@tonic-gate\ 130Sstevel@tonic-gate\ When distributing Covered Code, include this CDDL HEADER in each 140Sstevel@tonic-gate\ file and include the License file at usr/src/OPENSOLARIS.LICENSE. 150Sstevel@tonic-gate\ If applicable, add the following below this CDDL HEADER, with the 160Sstevel@tonic-gate\ fields enclosed by brackets "[]" replaced with your own identifying 170Sstevel@tonic-gate\ information: Portions Copyright [yyyy] [name of copyright owner] 180Sstevel@tonic-gate\ 190Sstevel@tonic-gate\ CDDL HEADER END 200Sstevel@tonic-gate\ 216127Ssm142603\ Copyright 2008 Sun Microsystems, Inc. All rights reserved. 220Sstevel@tonic-gate\ Use is subject to license terms. 230Sstevel@tonic-gate\ 240Sstevel@tonic-gate\ offsets.in: input file to produce assym.h using the stabs program 250Sstevel@tonic-gate\ 260Sstevel@tonic-gate\ 270Sstevel@tonic-gate\ Guidelines: 280Sstevel@tonic-gate\ 290Sstevel@tonic-gate\ A blank line is required between structure/union/intrinsic names. 300Sstevel@tonic-gate\ 310Sstevel@tonic-gate\ The general form is: 320Sstevel@tonic-gate\ 330Sstevel@tonic-gate\ name size_define [shift_define] 340Sstevel@tonic-gate\ [member_name [offset_define]] 350Sstevel@tonic-gate\ {blank line} 360Sstevel@tonic-gate\ 370Sstevel@tonic-gate\ If no individual member_name's are specified then NO members are processed. 380Sstevel@tonic-gate\ If offset_define is not specified then the member_name is 390Sstevel@tonic-gate\ converted to all caps and used instead. If the size of an item is 400Sstevel@tonic-gate\ a power of two then an optional shift count may be output using 410Sstevel@tonic-gate\ shift_define as the name but only if shift_define was specified. 420Sstevel@tonic-gate\ 430Sstevel@tonic-gate\ Arrays cause stabs to automatically output the per-array-item increment 440Sstevel@tonic-gate\ in addition to the base address: 450Sstevel@tonic-gate\ 460Sstevel@tonic-gate\ foo FOO_SIZE 470Sstevel@tonic-gate\ array FOO_ARRAY 480Sstevel@tonic-gate\ 490Sstevel@tonic-gate\ results in: 500Sstevel@tonic-gate\ 510Sstevel@tonic-gate\ #define FOO_ARRAY 0x0 520Sstevel@tonic-gate\ #define FOO_ARRAY_INCR 0x4 530Sstevel@tonic-gate\ 540Sstevel@tonic-gate\ which allows \#define's to be used to specify array items: 550Sstevel@tonic-gate\ 560Sstevel@tonic-gate\ #define FOO_0 (FOO_ARRAY + (0 * FOO_ARRAY_INCR)) 570Sstevel@tonic-gate\ #define FOO_1 (FOO_ARRAY + (1 * FOO_ARRAY_INCR)) 580Sstevel@tonic-gate\ ... 590Sstevel@tonic-gate\ #define FOO_n (FOO_ARRAY + (n * FOO_ARRAY_INCR)) 600Sstevel@tonic-gate\ 610Sstevel@tonic-gate\ There are several examples below (search for _INCR). 620Sstevel@tonic-gate\ 630Sstevel@tonic-gate\ There is currently no manner in which to identify "anonymous" 640Sstevel@tonic-gate\ structures or unions so if they are to be used in assembly code 650Sstevel@tonic-gate\ they must be given names. 660Sstevel@tonic-gate\ 670Sstevel@tonic-gate\ When specifying the offsets of nested structures/unions each nested 680Sstevel@tonic-gate\ structure or union must be listed separately then use the 690Sstevel@tonic-gate\ "\#define" escapes to add the offsets from the base structure/union 700Sstevel@tonic-gate\ and all of the nested structures/unions together. See the many 710Sstevel@tonic-gate\ examples already in this file. 720Sstevel@tonic-gate 730Sstevel@tonic-gate#ifndef _GENASSYM 740Sstevel@tonic-gate#define _GENASSYM 750Sstevel@tonic-gate#endif 760Sstevel@tonic-gate 770Sstevel@tonic-gate#include <vm/hat_sfmmu.h> 780Sstevel@tonic-gate#include <sys/spitregs.h> 790Sstevel@tonic-gate#include <sys/cheetahregs.h> 800Sstevel@tonic-gate#include <sys/fpras_impl.h> 810Sstevel@tonic-gate#include <sys/traptrace.h> 820Sstevel@tonic-gate 830Sstevel@tonic-gatemachcpu 842241Shuah intrstat MCPU_INTRSTAT 852241Shuah pil_high_start MCPU_PIL_HIGH_START 860Sstevel@tonic-gate 870Sstevel@tonic-gatetrap_trace_record TRAP_ENT_SIZE 880Sstevel@tonic-gate tt_tl TRAP_ENT_TL 890Sstevel@tonic-gate tt_tt TRAP_ENT_TT 900Sstevel@tonic-gate tt_tpc TRAP_ENT_TPC 910Sstevel@tonic-gate tt_tstate TRAP_ENT_TSTATE 920Sstevel@tonic-gate tt_tick TRAP_ENT_TICK 930Sstevel@tonic-gate tt_sp TRAP_ENT_SP 940Sstevel@tonic-gate tt_tr TRAP_ENT_TR 950Sstevel@tonic-gate tt_f1 TRAP_ENT_F1 960Sstevel@tonic-gate tt_f2 TRAP_ENT_F2 970Sstevel@tonic-gate tt_f3 TRAP_ENT_F3 980Sstevel@tonic-gate tt_f4 TRAP_ENT_F4 990Sstevel@tonic-gate 1006127Ssm142603hat HAT_SIZE 1016127Ssm142603 sfmmu_cpusran 1026127Ssm142603 sfmmu_tsb 1036127Ssm142603 sfmmu_ismblkpa 1046127Ssm142603 sfmmu_tteflags 1056127Ssm142603 sfmmu_rtteflags 1066127Ssm142603 sfmmu_srdp 1076127Ssm142603 sfmmu_region_map.h_rmap_s.hmeregion_map SFMMU_HMERMAP 1086127Ssm142603 sfmmu_scdp 1096127Ssm142603 sfmmu_cext 1106127Ssm142603 sfmmu_ctx_lock 1116127Ssm142603 sfmmu_ctxs 1126127Ssm142603 1136127Ssm142603sf_scd SCD_SIZE 1146127Ssm142603 scd_sfmmup 1156127Ssm142603 scd_region_map.h_rmap_s.hmeregion_map SCD_HMERMAP 1160Sstevel@tonic-gate 1170Sstevel@tonic-gatesfmmu_global_stat HATSTAT_SIZE 1186127Ssm142603 sf_pagefaults HATSTAT_PAGEFAULT 1196127Ssm142603 sf_uhash_searches HATSTAT_UHASH_SEARCH 1206127Ssm142603 sf_uhash_links HATSTAT_UHASH_LINKS 1216127Ssm142603 sf_khash_searches HATSTAT_KHASH_SEARCH 1226127Ssm142603 sf_khash_links HATSTAT_KHASH_LINKS 1230Sstevel@tonic-gate 1246127Ssm142603sf_hment SFHME_SIZE SFHME_SHIFT 1256127Ssm142603 hme_tte SFHME_TTE 1260Sstevel@tonic-gate 1276127Ssm142603tsbmiss TSBMISS_SIZE 1286127Ssm142603 ksfmmup TSBMISS_KHATID 1296127Ssm142603 usfmmup TSBMISS_UHATID 1306127Ssm142603 usrdp TSBMISS_SHARED_UHATID 1316127Ssm142603 tsbptr TSBMISS_TSBPTR 1326127Ssm142603 tsbptr4m TSBMISS_TSBPTR4M 1336127Ssm142603 tsbscdptr TSBMISS_TSBSCDPTR 1346127Ssm142603 tsbscdptr4m TSBMISS_TSBSCDPTR4M 1356127Ssm142603 ismblkpa TSBMISS_ISMBLKPA 1366127Ssm142603 khashstart TSBMISS_KHASHSTART 1376127Ssm142603 uhashstart TSBMISS_UHASHSTART 1386127Ssm142603 khashsz TSBMISS_KHASHSZ 1396127Ssm142603 uhashsz TSBMISS_UHASHSZ 1406127Ssm142603 dcache_line_mask TSBMISS_DMASK 1416127Ssm142603 uhat_tteflags TSBMISS_UTTEFLAGS 1426127Ssm142603 uhat_rtteflags TSBMISS_URTTEFLAGS 1436127Ssm142603 utsb_misses TSBMISS_UTSBMISS 1446127Ssm142603 ktsb_misses TSBMISS_KTSBMISS 1456127Ssm142603 uprot_traps TSBMISS_UPROTS 1466127Ssm142603 kprot_traps TSBMISS_KPROTS 1476127Ssm142603 scratch TSBMISS_SCRATCH 1486127Ssm142603 shmermap TSBMISS_SHMERMAP 1496127Ssm142603 scd_shmermap TSBMISS_SCDSHMERMAP 1500Sstevel@tonic-gate 1516127Ssm142603\#define TSB_TAGACC (0 * TSBMISS_SCRATCH_INCR) 1526127Ssm142603\#define TSBMISS_HMEBP (1 * TSBMISS_SCRATCH_INCR) 1536127Ssm142603\#define TSBMISS_HATID (2 * TSBMISS_SCRATCH_INCR) 1540Sstevel@tonic-gate 1550Sstevel@tonic-gatekpmtsbm KPMTSBM_SIZE KPMTSBM_SHIFT 1560Sstevel@tonic-gate vbase KPMTSBM_VBASE 1570Sstevel@tonic-gate vend KPMTSBM_VEND 1580Sstevel@tonic-gate flags KPMTSBM_FLAGS 1590Sstevel@tonic-gate sz_shift KPMTSBM_SZSHIFT 1600Sstevel@tonic-gate kpmp_shift KPMTSBM_KPMPSHIFT 1610Sstevel@tonic-gate kpmp2pshft KPMTSBM_KPMP2PSHFT 1620Sstevel@tonic-gate kpmp_table_sz KPMTSBM_KPMPTABLESZ 1630Sstevel@tonic-gate kpmp_tablepa KPMTSBM_KPMPTABLEPA 1640Sstevel@tonic-gate msegphashpa KPMTSBM_MSEGPHASHPA 1650Sstevel@tonic-gate tsbptr KPMTSBM_TSBPTR 1660Sstevel@tonic-gate kpm_dtlb_misses KPMTSBM_DTLBMISS 1670Sstevel@tonic-gate kpm_tsb_misses KPMTSBM_TSBMISS 1680Sstevel@tonic-gate 1690Sstevel@tonic-gatekpm_page KPMPAGE_SIZE KPMPAGE_SHIFT 1700Sstevel@tonic-gate kp_refcnt KPMPAGE_REFCNT 1710Sstevel@tonic-gate kp_refcnta KPMPAGE_REFCNTA 1720Sstevel@tonic-gate kp_refcntc KPMPAGE_REFCNTC 1730Sstevel@tonic-gate kp_refcnts KPMPAGE_REFCNTS 1740Sstevel@tonic-gate 1750Sstevel@tonic-gatekpm_hlk KPMHLK_SIZE KPMHLK_SHIFT 1760Sstevel@tonic-gate khl_mutex KPMHLK_MUTEX 1770Sstevel@tonic-gate khl_lock KPMHLK_LOCK 1780Sstevel@tonic-gate 1790Sstevel@tonic-gatekpm_spage KPMSPAGE_SIZE KPMSPAGE_SHIFT 180*7393SDonghai.Qiao@Sun.COM kp_mapped_flag KPMSPAGE_MAPPED 1810Sstevel@tonic-gate 1820Sstevel@tonic-gatekpm_shlk KPMSHLK_SIZE KPMSHLK_SHIFT 1830Sstevel@tonic-gate kshl_lock KPMSHLK_LOCK 1840Sstevel@tonic-gate 1850Sstevel@tonic-gatememseg MEMSEG_SIZE 1860Sstevel@tonic-gate pages MEMSEG_PAGES 1870Sstevel@tonic-gate epages MEMSEG_EPAGES 1880Sstevel@tonic-gate pages_base MEMSEG_PAGES_BASE 1890Sstevel@tonic-gate pages_end MEMSEG_PAGES_END 1900Sstevel@tonic-gate next MEMSEG_NEXT 1910Sstevel@tonic-gate lnext MEMSEG_LNEXT 1920Sstevel@tonic-gate nextpa MEMSEG_NEXTPA 1930Sstevel@tonic-gate pagespa MEMSEG_PAGESPA 1940Sstevel@tonic-gate epagespa MEMSEG_EPAGESPA 1950Sstevel@tonic-gate kpm_pbase MEMSEG_KPM_PBASE 1960Sstevel@tonic-gate kpm_nkpmpgs MEMSEG_KPM_NKPMPGS 1970Sstevel@tonic-gate mseg_un 1980Sstevel@tonic-gate kpm_pagespa MEMSEG_KPM_PAGESPA 1990Sstevel@tonic-gate 2000Sstevel@tonic-gate\#define MEMSEG_KPM_PAGES (MSEG_UN) 2010Sstevel@tonic-gate\#define MEMSEG_KPM_SPAGES (MSEG_UN) 2020Sstevel@tonic-gate 2030Sstevel@tonic-gatepage PAGE_SIZE 2040Sstevel@tonic-gate p_pagenum PAGE_PAGENUM 2050Sstevel@tonic-gate 2060Sstevel@tonic-gatetsb_info TSBINFO_SIZE 2070Sstevel@tonic-gate tsb_tte TSBINFO_TTE 2080Sstevel@tonic-gate tsb_va TSBINFO_VADDR 2091772Sjl139090 tsb_pa TSBINFO_PADDR 2100Sstevel@tonic-gate tsb_szc TSBINFO_SZCODE 2110Sstevel@tonic-gate tsb_next TSBINFO_NEXTPTR 2120Sstevel@tonic-gate 2130Sstevel@tonic-gatecpu_node CPU_NODE_SIZE 2140Sstevel@tonic-gate implementation 2150Sstevel@tonic-gate version 2160Sstevel@tonic-gate nodeid 2170Sstevel@tonic-gate clock_freq 2180Sstevel@tonic-gate tick_nsec_scale 2190Sstevel@tonic-gate ecache_size ECACHE_SIZE 2200Sstevel@tonic-gate ecache_linesize ECACHE_LINESIZE 2210Sstevel@tonic-gate device_id DEVICE_ID 2222241Shuah itlb_size ITLB_SIZE 2232241Shuah dtlb_size DTLB_SIZE 2240Sstevel@tonic-gate 2250Sstevel@tonic-gatespitfire_scrub_misc_t 2260Sstevel@tonic-gate ec_scrub_outstanding 2270Sstevel@tonic-gate 2280Sstevel@tonic-gatespitfire_private_t 2290Sstevel@tonic-gate sfpr_scrub_misc 2300Sstevel@tonic-gate sfpr_scrub_afsr 2310Sstevel@tonic-gate 2320Sstevel@tonic-gatecheetah_private_t 2330Sstevel@tonic-gate chpr_icache_size 2340Sstevel@tonic-gate chpr_icache_linesize 2350Sstevel@tonic-gate chpr_tl1_err_data 2360Sstevel@tonic-gate chpr_scrub_misc 2370Sstevel@tonic-gate chpr_fecctl0_logout 2380Sstevel@tonic-gate chpr_cecc_logout 2390Sstevel@tonic-gate chpr_async_logout 2400Sstevel@tonic-gate chpr_tlb_logout 2410Sstevel@tonic-gate chpr_fpras_timestamp 2420Sstevel@tonic-gate 2430Sstevel@tonic-gatech_scrub_misc_t 2440Sstevel@tonic-gate chsm_outstanding 2450Sstevel@tonic-gate 2460Sstevel@tonic-gatech_cpu_logout_t CH_CPU_LOGOUT_SIZE 2470Sstevel@tonic-gate clo_flags CH_CLO_FLAGS 2480Sstevel@tonic-gate clo_nest_cnt CH_CLO_NEST_CNT 2490Sstevel@tonic-gate clo_data CH_CLO_DATA 2500Sstevel@tonic-gate clo_sdw_data CH_CLO_SDW_DATA 2510Sstevel@tonic-gate 2520Sstevel@tonic-gatech_err_tl1_data_t CH_ERR_TL1_DATA_SIZE 2530Sstevel@tonic-gate ch_err_tl1_g1 2540Sstevel@tonic-gate ch_err_tl1_g2 2550Sstevel@tonic-gate ch_err_tl1_g3 2560Sstevel@tonic-gate ch_err_tl1_g4 2570Sstevel@tonic-gate ch_err_tl1_g5 2580Sstevel@tonic-gate ch_err_tl1_g6 2590Sstevel@tonic-gate ch_err_tl1_g7 2600Sstevel@tonic-gate ch_err_tl1_tpc 2610Sstevel@tonic-gate ch_err_tl1_flags 2620Sstevel@tonic-gate ch_err_tl1_tmp 2630Sstevel@tonic-gate ch_err_tl1_logout 2640Sstevel@tonic-gate 2650Sstevel@tonic-gatech_cpu_errors_t CH_CPU_ERROR_SIZE 2660Sstevel@tonic-gate afsr CH_CPU_ERRORS_AFSR 2670Sstevel@tonic-gate afar CH_CPU_ERRORS_AFAR 2680Sstevel@tonic-gate shadow_afsr CH_CPU_ERRORS_SHADOW_AFSR 2690Sstevel@tonic-gate shadow_afar CH_CPU_ERRORS_SHADOW_AFAR 2700Sstevel@tonic-gate afsr_ext CH_CPU_ERRORS_AFSR_EXT 2710Sstevel@tonic-gate shadow_afsr_ext CH_CPU_ERRORS_SHADOW_AFSR_EXT 2720Sstevel@tonic-gate afar2 CH_CPU_ERRORS_AFAR2 2730Sstevel@tonic-gate 2740Sstevel@tonic-gatech_diag_data_t CH_DIAG_DATA_SIZE 2750Sstevel@tonic-gate chd_afar CH_CHD_AFAR 2760Sstevel@tonic-gate chd_afar2 CH_CHD_AFAR2 2770Sstevel@tonic-gate chd_afsr CH_CHD_AFSR 2780Sstevel@tonic-gate chd_afsr_ext CH_CHD_AFSR_EXT 2790Sstevel@tonic-gate chd_ec_data CH_CHD_EC_DATA 2800Sstevel@tonic-gate chd_l2_data CH_CHD_L2_DATA 2810Sstevel@tonic-gate chd_dc_data CH_CHD_DC_DATA 2820Sstevel@tonic-gate chd_ic_data CH_CHD_IC_DATA 2830Sstevel@tonic-gate 2840Sstevel@tonic-gatech_ec_data_t CH_EC_DATA_SIZE 2850Sstevel@tonic-gate ec_idx CH_EC_IDX 2860Sstevel@tonic-gate ec_tag CH_EC_TAG 2870Sstevel@tonic-gate ec_tag_ecc CH_EC_TAG_ECC 2880Sstevel@tonic-gate ec_data CH_EC_DATA 2890Sstevel@tonic-gate 2900Sstevel@tonic-gatech_dc_data CH_DC_DATA_SIZE 2910Sstevel@tonic-gate dc_idx CH_DC_IDX 2920Sstevel@tonic-gate dc_way CH_DC_WAY 2930Sstevel@tonic-gate dc_tag CH_DC_TAG 2940Sstevel@tonic-gate dc_utag CH_DC_UTAG 2950Sstevel@tonic-gate dc_sntag CH_DC_SNTAG 2960Sstevel@tonic-gate dc_data CH_DC_DATA 2970Sstevel@tonic-gate dc_pn_data_parity CH_DC_PN_DATA_PARITY 2980Sstevel@tonic-gate 2990Sstevel@tonic-gatech_ic_data CH_IC_DATA_SIZE 3000Sstevel@tonic-gate ic_idx CH_IC_IDX 3010Sstevel@tonic-gate ic_way CH_IC_WAY 3020Sstevel@tonic-gate ic_patag CH_IC_PATAG 3030Sstevel@tonic-gate ic_utag CH_IC_UTAG 3040Sstevel@tonic-gate ic_upper CH_IC_UPPER 3050Sstevel@tonic-gate ic_lower CH_IC_LOWER 3060Sstevel@tonic-gate ic_sntag CH_IC_SNTAG 3070Sstevel@tonic-gate ic_data CH_IC_DATA 3080Sstevel@tonic-gate 3090Sstevel@tonic-gatefpras_chkfn FPRAS_CHKFN_SIZE FPRAS_CHKFN_SIZE_SHIFT 3100Sstevel@tonic-gate fpras_blk0 3110Sstevel@tonic-gate 3120Sstevel@tonic-gatefpras_chkfngrp FPRAS_CHKFNGRP_SIZE FPRAS_CHKFNGRP_SIZE_SHIFT 3130Sstevel@tonic-gate 3140Sstevel@tonic-gatech_pc_data CH_PC_DATA_SIZE 3150Sstevel@tonic-gate pc_idx CH_PC_IDX 3160Sstevel@tonic-gate pc_way CH_PC_WAY 3170Sstevel@tonic-gate pc_status CH_PC_STATUS 3180Sstevel@tonic-gate pc_tag CH_PC_TAG 3190Sstevel@tonic-gate pc_sntag CH_PC_SNTAG 3200Sstevel@tonic-gate pc_data CH_PC_DATA 3210Sstevel@tonic-gate 3220Sstevel@tonic-gatepn_tlb_logout PN_TLO_SIZE 3230Sstevel@tonic-gate tlo_info PN_TLO_INFO 3240Sstevel@tonic-gate tlo_addr PN_TLO_ADDR 3250Sstevel@tonic-gate tlo_pc PN_TLO_PC 3260Sstevel@tonic-gate tlo_itlb_tte PN_TLO_ITLB_TTE 3270Sstevel@tonic-gate tlo_dtlb_tte PN_TLO_DTLB_TTE 3280Sstevel@tonic-gate 3290Sstevel@tonic-gatech_tte_entry CH_TLO_TTE_SIZE 3300Sstevel@tonic-gate ch_tte_tag CH_TLO_TTE_TAG 3310Sstevel@tonic-gate ch_tte_data CH_TLO_TTE_DATA 332357Ssvemuri 333357Ssvemuriptl1_regs 334357Ssvemuri ptl1_trap_regs 335357Ssvemuri ptl1_g1 336357Ssvemuri ptl1_g2 337357Ssvemuri ptl1_g3 338357Ssvemuri ptl1_g4 339357Ssvemuri ptl1_g5 340357Ssvemuri ptl1_g6 341357Ssvemuri ptl1_g7 342357Ssvemuri ptl1_tick 343357Ssvemuri ptl1_dmmu_sfar 344357Ssvemuri ptl1_dmmu_sfsr 345357Ssvemuri ptl1_dmmu_tag_access 346357Ssvemuri ptl1_immu_sfsr 347357Ssvemuri ptl1_immu_tag_access 348357Ssvemuri ptl1_rwindow 349357Ssvemuri ptl1_softint 350357Ssvemuri ptl1_pstate 351357Ssvemuri ptl1_pil 352357Ssvemuri ptl1_cwp 353357Ssvemuri ptl1_wstate 354357Ssvemuri ptl1_otherwin 355357Ssvemuri ptl1_cleanwin 356357Ssvemuri ptl1_cansave 357357Ssvemuri ptl1_canrestore 358357Ssvemuri 359