1*0Sstevel@tonic-gate /* 2*0Sstevel@tonic-gate * CDDL HEADER START 3*0Sstevel@tonic-gate * 4*0Sstevel@tonic-gate * The contents of this file are subject to the terms of the 5*0Sstevel@tonic-gate * Common Development and Distribution License, Version 1.0 only 6*0Sstevel@tonic-gate * (the "License"). You may not use this file except in compliance 7*0Sstevel@tonic-gate * with the License. 8*0Sstevel@tonic-gate * 9*0Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10*0Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing. 11*0Sstevel@tonic-gate * See the License for the specific language governing permissions 12*0Sstevel@tonic-gate * and limitations under the License. 13*0Sstevel@tonic-gate * 14*0Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each 15*0Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16*0Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the 17*0Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying 18*0Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner] 19*0Sstevel@tonic-gate * 20*0Sstevel@tonic-gate * CDDL HEADER END 21*0Sstevel@tonic-gate */ 22*0Sstevel@tonic-gate /* 23*0Sstevel@tonic-gate * Copyright (c) 1996-2000 by Sun Microsystems, Inc. 24*0Sstevel@tonic-gate * All rights reserved. 25*0Sstevel@tonic-gate */ 26*0Sstevel@tonic-gate 27*0Sstevel@tonic-gate #ifndef _SCAT_CONST_H 28*0Sstevel@tonic-gate #define _SCAT_CONST_H 29*0Sstevel@tonic-gate 30*0Sstevel@tonic-gate #pragma ident "%Z%%M% %I% %E% SMI" 31*0Sstevel@tonic-gate 32*0Sstevel@tonic-gate /* 33*0Sstevel@tonic-gate * This file contains definitions fundamental to the Starcat architecture; 34*0Sstevel@tonic-gate * how many exps, how many of each asic type, etc. 35*0Sstevel@tonic-gate */ 36*0Sstevel@tonic-gate 37*0Sstevel@tonic-gate /* 38*0Sstevel@tonic-gate * POST DEVELOPERS: 39*0Sstevel@tonic-gate * This file is copied to the OS workspace, and thus must abide by the OS 40*0Sstevel@tonic-gate * coding standards. This file must always pass cstyle and hdrchk. 41*0Sstevel@tonic-gate */ 42*0Sstevel@tonic-gate 43*0Sstevel@tonic-gate #ifdef __cplusplus 44*0Sstevel@tonic-gate extern "C" { 45*0Sstevel@tonic-gate #endif 46*0Sstevel@tonic-gate 47*0Sstevel@tonic-gate 48*0Sstevel@tonic-gate #define SSC_COUNT (2) 49*0Sstevel@tonic-gate #define SSC_MAX (SSC_COUNT - 1) 50*0Sstevel@tonic-gate #define IS_VALID_SSC(ssc) ((ssc) >= 0 && (ssc) < SSC_COUNT) 51*0Sstevel@tonic-gate 52*0Sstevel@tonic-gate #define EXP_COUNT (18) 53*0Sstevel@tonic-gate #define EXP_MAX (EXP_COUNT - 1) 54*0Sstevel@tonic-gate #define IS_VALID_EXP(exp) ((exp) >= 0 && (exp) < EXP_COUNT) 55*0Sstevel@tonic-gate 56*0Sstevel@tonic-gate #define EXB_COUNT EXP_COUNT 57*0Sstevel@tonic-gate #define EXB_MAX EXP_MAX 58*0Sstevel@tonic-gate #define IS_VALID_EXB(exb) IS_VALID_EXP(exb) 59*0Sstevel@tonic-gate 60*0Sstevel@tonic-gate #ifdef No_More_No_More 61*0Sstevel@tonic-gate /* Support this for awhile until we purge everywhere: */ 62*0Sstevel@tonic-gate #define NODE_COUNT EXP_COUNT 63*0Sstevel@tonic-gate #define NODE_MAX EXP_MAX 64*0Sstevel@tonic-gate #define IS_VALID_NODE(node) IS_VALID_EXP(node) 65*0Sstevel@tonic-gate #endif /* No_More_No_More */ 66*0Sstevel@tonic-gate 67*0Sstevel@tonic-gate /* Slots are L1 boards within an expander */ 68*0Sstevel@tonic-gate #define SLOT_COUNT (2) 69*0Sstevel@tonic-gate #define SLOT_MAX (SLOT_COUNT - 1) 70*0Sstevel@tonic-gate #define IS_VALID_SLOT(slot) ((slot) >= 0 && (slot) < SLOT_COUNT) 71*0Sstevel@tonic-gate 72*0Sstevel@tonic-gate 73*0Sstevel@tonic-gate #ifdef REFERENCE 74*0Sstevel@tonic-gate /* XXX: temporary definitions till Dan decides what he wants */ 75*0Sstevel@tonic-gate #define L1_COUNT (SLOT_COUNT * EXP_COUNT) 76*0Sstevel@tonic-gate #define L1_MAX (L1_COUNT - 1) 77*0Sstevel@tonic-gate #define IS_VALID_L1_BOARD(brd) ((brd) >= 0 && (brd) < L1_COUNT) 78*0Sstevel@tonic-gate 79*0Sstevel@tonic-gate #define S0_PROC_COUNT (4) /* max procs on slot 0 L1 board */ 80*0Sstevel@tonic-gate #define S1_PROC_COUNT (2) /* max procs on slot 1 L1 board */ 81*0Sstevel@tonic-gate 82*0Sstevel@tonic-gate #define SPM_COUNT (S0_PROC_COUNT + S1_PROC_COUNT) 83*0Sstevel@tonic-gate 84*0Sstevel@tonic-gate #define PROC_COUNT ((S0_PROC_COUNT * EXP_COUNT) + \ 85*0Sstevel@tonic-gate (S1_PROC_COUNT * EXP_COUNT)) 86*0Sstevel@tonic-gate #define PROC_MAX (PROC_COUNT - 1) 87*0Sstevel@tonic-gate #define IS_VALID_PROC(proc) ((proc) >= 0 && (proc) < PROC_COUNT) 88*0Sstevel@tonic-gate 89*0Sstevel@tonic-gate #define EXP2PROC(exp, spm) ((exp) * (spm)) 90*0Sstevel@tonic-gate #define EXPSLTBBC2SRAM(exp, slt, bbc) ((exp * 3) + (slt * 2) + (bbc)) 91*0Sstevel@tonic-gate 92*0Sstevel@tonic-gate #define PROC2EXP(proc) ((proc) / 6) 93*0Sstevel@tonic-gate #define PROC2SPM(proc) ((proc) % 6) 94*0Sstevel@tonic-gate #define PROC2CPU(proc) (PROC2SPM(proc) & 0x3) 95*0Sstevel@tonic-gate #define PROC2SLT(proc) (PROC2SPM(proc) >> 2) 96*0Sstevel@tonic-gate #define PROC2BBC(proc) (((PROC2CPU(proc)) & 0x2) >> 1) 97*0Sstevel@tonic-gate #define PROC2PRT(proc) ((proc) & 0x1) 98*0Sstevel@tonic-gate #define EXPSLT(proc) PROC2EXP(proc), PROC2SLT(proc) 99*0Sstevel@tonic-gate #define EXPSLTCPU(proc) PROC2EXP(proc), PROC2SLT(proc), PROC2CPU(proc) 100*0Sstevel@tonic-gate #endif /* REFERENCE */ 101*0Sstevel@tonic-gate 102*0Sstevel@tonic-gate 103*0Sstevel@tonic-gate /* 104*0Sstevel@tonic-gate * PFP = Packed flat port. 105*0Sstevel@tonic-gate * For cases where one might need to maintain information 106*0Sstevel@tonic-gate * (pcd arrays), or write loops, over all 18 X 6 = 108 ports. 107*0Sstevel@tonic-gate * It is expected that this flat view of the ports is not made 108*0Sstevel@tonic-gate * visible to the user, they should see only the ordered triple 109*0Sstevel@tonic-gate * <exp>.<slot>.<lport> or the 10-bit Safari PortId. 110*0Sstevel@tonic-gate * PWE = Port Within Expander. [0-5]. Comes along with the 111*0Sstevel@tonic-gate * PFP model, should also not be externally visible. 112*0Sstevel@tonic-gate */ 113*0Sstevel@tonic-gate #define PORT_PER_EXP 6 114*0Sstevel@tonic-gate #define PWE_COUNT PORT_PER_EXP 115*0Sstevel@tonic-gate #define PWE_MAX (PWE_COUNT - 1) 116*0Sstevel@tonic-gate #define IS_VALID_PWE(pwe) ((pwe) >= 0 && (pwe) < PWE_COUNT) 117*0Sstevel@tonic-gate 118*0Sstevel@tonic-gate #define PFP_COUNT (EXP_COUNT * PORT_PER_EXP) 119*0Sstevel@tonic-gate #define PFP_MAX (PFP_COUNT - 1) 120*0Sstevel@tonic-gate #define IS_VALID_PFP(pfp) ((pfp) >= 0 && (pfp) < PFP_COUNT) 121*0Sstevel@tonic-gate 122*0Sstevel@tonic-gate #define PFP2EXP(pfp) ((pfp) / 6) 123*0Sstevel@tonic-gate #define PFP2PWE(pfp) ((pfp) % 6) 124*0Sstevel@tonic-gate #define PWE2SLOT(pwe) ((pwe) >> 2) 125*0Sstevel@tonic-gate #define PWE2LPORT(pwe) ((pwe) & 0x3) 126*0Sstevel@tonic-gate #define PFP2SLOT(pfp) (PWE2SLOT(PFP2PWE(pfp))) 127*0Sstevel@tonic-gate #define PFP2LPORT(pfp) (PWE2LPORT(PFP2PWE(pfp))) 128*0Sstevel@tonic-gate #define PFP2BBC(pfp) (((PFP2PWE(pfp)) >> 1) & 1) 129*0Sstevel@tonic-gate #define PFP2BBCPORT(pfp) ((pfp) & 1) 130*0Sstevel@tonic-gate 131*0Sstevel@tonic-gate #define SL2PWE(slot, lport) (((slot) << 2) + (lport)) 132*0Sstevel@tonic-gate #define EPWE2PFP(exp, pwe) (((exp) * 6) + (pwe)) 133*0Sstevel@tonic-gate #define ESL2PFP(exp, slot, lport) (EPWE2PFP((exp), SL2PWE((slot), (lport)))) 134*0Sstevel@tonic-gate 135*0Sstevel@tonic-gate #define S0_LPORT_COUNT 4 /* Ports on slot 0 L1 board */ 136*0Sstevel@tonic-gate #define S0_LPORT_MAX (S0_LPORT_COUNT - 1) 137*0Sstevel@tonic-gate #define IS_VALID_S0LPORT(lport) ((lport) >= 0 && (lport) < S0_LPORT_COUNT) 138*0Sstevel@tonic-gate #define S1_LPORT_COUNT 2 /* Ports on slot 1 L1 board */ 139*0Sstevel@tonic-gate #define S1_LPORT_MAX (S1_LPORT_COUNT - 1) 140*0Sstevel@tonic-gate #define IS_VALID_S1LPORT(lport) ((lport) >= 0 && (lport) < S1_LPORT_COUNT) 141*0Sstevel@tonic-gate #define LPORT_COUNT(slot) ((slot) ? S1_LPORT_COUNT : S0_LPORT_COUNT) 142*0Sstevel@tonic-gate #define LPORT_MAX(slot) (LPORT_COUNT(slot) - 1) 143*0Sstevel@tonic-gate #define IS_VALID_LPORT(slot, lport) \ 144*0Sstevel@tonic-gate ((lport) >= 0 && (lport) < LPORT_COUNT(slot)) 145*0Sstevel@tonic-gate #define XC_IOBUS_PER_PORT 2 146*0Sstevel@tonic-gate #define XC_IOCARD_PER_PORT 1 147*0Sstevel@tonic-gate #define IS_VALID_IOBUS(bus) ((bus) >= 0 && (bus) < XC_IOBUS_PER_PORT) 148*0Sstevel@tonic-gate #define IS_VALID_IOCARD(card) ((card) >= 0 && (card) < XC_IOCARD_PER_PORT) 149*0Sstevel@tonic-gate 150*0Sstevel@tonic-gate /* BBC in these macros is local to a slot, either 0 or 1: */ 151*0Sstevel@tonic-gate #define S0_BBC_COUNT 2 /* BBCs on slot 0 L1 board */ 152*0Sstevel@tonic-gate #define S0_BBC_MAX (S0_BBC_COUNT - 1) 153*0Sstevel@tonic-gate #define IS_VALID_S0BBC(bbc) ((bbc) >= 0 && (bbc) < S0_BBC_COUNT) 154*0Sstevel@tonic-gate #define S1_BBC_COUNT 1 /* BBCs on slot 1 L1 board */ 155*0Sstevel@tonic-gate #define S1_BBC_MAX (S1_BBC_COUNT - 1) 156*0Sstevel@tonic-gate #define IS_VALID_S1BBC(bbc) ((bbc) >= 0 && (bbc) < S1_BBC_COUNT) 157*0Sstevel@tonic-gate #define BBC_COUNT(slot) ((slot) ? S1_BBC_COUNT : S0_BBC_COUNT) 158*0Sstevel@tonic-gate #define BBC_MAX(slot) (BBC_COUNT(slot) - 1) 159*0Sstevel@tonic-gate #define IS_VALID_BBC(slot, bbc) \ 160*0Sstevel@tonic-gate ((bbc) >= 0 && (bbc) < BBC_COUNT(slot)) 161*0Sstevel@tonic-gate 162*0Sstevel@tonic-gate #define LPORT2BBC(lport) ((lport) >> 1) 163*0Sstevel@tonic-gate #define PWE2BBC(pwe) (((pwe) >> 1) & 1) 164*0Sstevel@tonic-gate 165*0Sstevel@tonic-gate 166*0Sstevel@tonic-gate /* These are for use as printf() arguments for "%2d.%d", etc.: */ 167*0Sstevel@tonic-gate #define EXPSLOT(pfp) PFP2EXP(pfp), PFP2SLOT(pfp) 168*0Sstevel@tonic-gate #define EXPSLOTLPORT(pfp) PFP2EXP(pfp), PFP2SLOT(pfp), PFP2LPORT(pfp) 169*0Sstevel@tonic-gate 170*0Sstevel@tonic-gate 171*0Sstevel@tonic-gate /* Build a 5-bit Safari Agent ID: */ 172*0Sstevel@tonic-gate #define SAFAGENT(slot, lport, is_ioport) \ 173*0Sstevel@tonic-gate (((slot) ? ((is_ioport) ? 0x1C : 8) : 0) + (lport)) 174*0Sstevel@tonic-gate 175*0Sstevel@tonic-gate /* Build a 10-bit Safari ID: */ 176*0Sstevel@tonic-gate #define SAFARI_ID(exp, slot, lport, is_ioport) \ 177*0Sstevel@tonic-gate (SAFAGENT(slot, lport, is_ioport) | ((exp) << 5)) 178*0Sstevel@tonic-gate 179*0Sstevel@tonic-gate /* Given a Safari Agent ID, extract the expander number */ 180*0Sstevel@tonic-gate #define GET_EXP(aid) ((aid & 0x3E0ull) >> 5) 181*0Sstevel@tonic-gate 182*0Sstevel@tonic-gate /* Cacheable memory per (CPU) port */ 183*0Sstevel@tonic-gate #define DIMMS_PER_PORT 8 184*0Sstevel@tonic-gate #define IS_VALID_DIMM(dimm) \ 185*0Sstevel@tonic-gate (((dimm) >= 0) && (dimm < (DIMMS_PER_PORT))) 186*0Sstevel@tonic-gate #define PMBANKS_PER_PORT 2 187*0Sstevel@tonic-gate #define LMBANKS_PER_PMBANK 2 188*0Sstevel@tonic-gate #define IS_VALID_PMBANK(pmbank) \ 189*0Sstevel@tonic-gate (((pmbank) >= 0) && (pmbank < PMBANKS_PER_PORT)) 190*0Sstevel@tonic-gate #define IS_VALID_LMBANK(lmbank) \ 191*0Sstevel@tonic-gate (((lmbank) >= 0) && (lmbank < PMBANKS_PER_PORT)) 192*0Sstevel@tonic-gate 193*0Sstevel@tonic-gate /* Ecache per (CPU) port */ 194*0Sstevel@tonic-gate #define ECDIMMS_PER_PORT 2 195*0Sstevel@tonic-gate #define IS_VALID_ECACHE(ecache) \ 196*0Sstevel@tonic-gate (((ecache) >= 0) && (ecache < ECDIMMS_PER_PORT)) 197*0Sstevel@tonic-gate 198*0Sstevel@tonic-gate /* SCM asics per CSB: */ 199*0Sstevel@tonic-gate #define SCM_COUNT (2) 200*0Sstevel@tonic-gate #define SCM_MAX (SCM_COUNT - 1) 201*0Sstevel@tonic-gate #define IS_VALID_SCM(scm) ((scm) >= 0 && (scm) < SCM_COUNT) 202*0Sstevel@tonic-gate 203*0Sstevel@tonic-gate /* Master ports in an SCM: */ 204*0Sstevel@tonic-gate #define SCM_MPORT_COUNT 10 205*0Sstevel@tonic-gate 206*0Sstevel@tonic-gate /* SDI asics per EXB: */ 207*0Sstevel@tonic-gate #define SDI_COUNT (6) 208*0Sstevel@tonic-gate #define SDI_MAX (SDI_COUNT - 1) 209*0Sstevel@tonic-gate #define IS_VALID_SDI(sdi) ((sdi) >= 0 && (sdi) < SDI_COUNT) 210*0Sstevel@tonic-gate 211*0Sstevel@tonic-gate /* Half-centerplanes, CSBs, etc. */ 212*0Sstevel@tonic-gate #define CP_COUNT (2) 213*0Sstevel@tonic-gate #define CP_MAX (CP_COUNT - 1) 214*0Sstevel@tonic-gate #define IS_VALID_CP(cp) ((cp) >= 0 && (cp) < CP_COUNT) 215*0Sstevel@tonic-gate 216*0Sstevel@tonic-gate /* DMX asics on the half-centerplane: */ 217*0Sstevel@tonic-gate #define DMX_COUNT (6) 218*0Sstevel@tonic-gate #define DMX_MAX (DMX_COUNT - 1) 219*0Sstevel@tonic-gate #define IS_VALID_DMX(dmx) ((dmx) >= 0 && (dmx) < DMX_COUNT) 220*0Sstevel@tonic-gate 221*0Sstevel@tonic-gate /* AMX asics on the half-centerplane: */ 222*0Sstevel@tonic-gate #define AMX_COUNT (2) 223*0Sstevel@tonic-gate #define AMX_MAX (AMX_COUNT - 1) 224*0Sstevel@tonic-gate #define IS_VALID_AMX(amx) ((amx) >= 0 && (amx) < AMX_COUNT) 225*0Sstevel@tonic-gate 226*0Sstevel@tonic-gate /* Number of CPUs per SBBC on the various boards: */ 227*0Sstevel@tonic-gate #define CPU_COUNT (2) 228*0Sstevel@tonic-gate 229*0Sstevel@tonic-gate /* Number of WCI per WIB: */ 230*0Sstevel@tonic-gate #define S0_WCI_COUNT (2) 231*0Sstevel@tonic-gate #define S0_WCI_MIN (2) 232*0Sstevel@tonic-gate #define S0_WCI_MAX (S0_WCI_MIN + S0_WCI_COUNT - 1) 233*0Sstevel@tonic-gate #define S0_IS_VALID_WCI(wci) ((wci) >= S0_WCI_MIN && (wci) <= S0_WCI_MAX) 234*0Sstevel@tonic-gate #define S1_WCI_COUNT (1) 235*0Sstevel@tonic-gate #define S1_WCI_MIN (1) 236*0Sstevel@tonic-gate #define S1_WCI_MAX (S1_WCI_MIN + S1_WCI_COUNT - 1) 237*0Sstevel@tonic-gate #define WCI_COUNT(slot) ((slot) ? S1_WCI_COUNT : S0_WCI_COUNT) 238*0Sstevel@tonic-gate #define WCI_MIN(slot) ((slot) ? S1_WCI_MIN : S0_WCI_MIN) 239*0Sstevel@tonic-gate #define WCI_MAX(slot) ((slot) ? S1_WCI_MAX : S0_WCI_MAX) 240*0Sstevel@tonic-gate #define S1_IS_VALID_WCI(wci) ((wci) >= S1_WCI_MIN && (wci) <= S1_WCI_MAX) 241*0Sstevel@tonic-gate #define IS_VALID_WCI(slot, wci) ((slot) ? S1_IS_VALID_WCI((wci)) : \ 242*0Sstevel@tonic-gate S0_IS_VALID_WCI((wci))) 243*0Sstevel@tonic-gate 244*0Sstevel@tonic-gate /* Safari reset number (within sbbc) given slot & lport */ 245*0Sstevel@tonic-gate #define WCI_RST_NUM(slot, lport) \ 246*0Sstevel@tonic-gate ((slot) ? 1 : ((lport) & 1 ? 1 : 0)) 247*0Sstevel@tonic-gate 248*0Sstevel@tonic-gate /* Number of non WCI safari devices per WIB */ 249*0Sstevel@tonic-gate #define S0_WIB_PROC_COUNT (2) /* max procs on slot 0 WIB */ 250*0Sstevel@tonic-gate #define S1_WIB_SCHIZO_COUNT (1) /* max schizos on slot 1 WIB */ 251*0Sstevel@tonic-gate 252*0Sstevel@tonic-gate /* Number of Schizo per PCI I/O board: */ 253*0Sstevel@tonic-gate #define SCHIZO_COUNT (2) 254*0Sstevel@tonic-gate 255*0Sstevel@tonic-gate /* 256*0Sstevel@tonic-gate * CPU and Maxcat L1 boards have 4 DXs, I/O boards have 2. 257*0Sstevel@tonic-gate * But it's useful to have this for array dimensions, etc. 258*0Sstevel@tonic-gate */ 259*0Sstevel@tonic-gate #define DX_COUNT_MAX (4) 260*0Sstevel@tonic-gate #define IS_VALID_CPU_DX(dx) ((dx) >= 0 && (dx) < DX_COUNT_MAX) 261*0Sstevel@tonic-gate 262*0Sstevel@tonic-gate /* 263*0Sstevel@tonic-gate * DCDS asics for half of a CPU board. The DCDS is a data slice, 264*0Sstevel@tonic-gate * 8 are required for a full Safari data path. 265*0Sstevel@tonic-gate */ 266*0Sstevel@tonic-gate #define DCDS_COUNT (8) 267*0Sstevel@tonic-gate #define DCDS_MAX (DCDS_COUNT - 1) 268*0Sstevel@tonic-gate #define IS_VALID_DCDS(dcds) ((dcds) >= 0 && (dcds) < DCDS_COUNT) 269*0Sstevel@tonic-gate 270*0Sstevel@tonic-gate 271*0Sstevel@tonic-gate /* 272*0Sstevel@tonic-gate * Address, Data, or Response Bus. 273*0Sstevel@tonic-gate * For all three, 0 or 1 is a valid value. 274*0Sstevel@tonic-gate */ 275*0Sstevel@tonic-gate #define BUS_COUNT (CP_COUNT) 276*0Sstevel@tonic-gate #define BUS_MAX (BUS_COUNT - 1) 277*0Sstevel@tonic-gate #define IS_VALID_BUS(bus) ((bus) >= 0 && (bus) < BUS_COUNT) 278*0Sstevel@tonic-gate 279*0Sstevel@tonic-gate /* 280*0Sstevel@tonic-gate * Address, Data, or Response Bus configuration. 281*0Sstevel@tonic-gate * For all three, 1. 2. or 3 is a valid value. 282*0Sstevel@tonic-gate */ 283*0Sstevel@tonic-gate #define BCONF_MIN 0x1 284*0Sstevel@tonic-gate #define BCONF_MAX 0x3 285*0Sstevel@tonic-gate #define BCONF_COUNT 3 286*0Sstevel@tonic-gate #define IS_VALID_BCONF(bconf) ((bconf) >= BCONF_MIN && (bconf) <= BCONF_MAX) 287*0Sstevel@tonic-gate 288*0Sstevel@tonic-gate /* 289*0Sstevel@tonic-gate * This might seem a little obscure to be here, but it's needed 290*0Sstevel@tonic-gate * for some array sizes and function prototypes: 291*0Sstevel@tonic-gate */ 292*0Sstevel@tonic-gate #define AXQ_NASM_SIZE 256 293*0Sstevel@tonic-gate 294*0Sstevel@tonic-gate 295*0Sstevel@tonic-gate #ifdef __cplusplus 296*0Sstevel@tonic-gate } 297*0Sstevel@tonic-gate #endif 298*0Sstevel@tonic-gate 299*0Sstevel@tonic-gate #endif /* !_SCAT_CONST_H */ 300