efx_check.h revision 299324
1283514Sarybchik/*- 2283514Sarybchik * Copyright (c) 2012-2015 Solarflare Communications Inc. 3283514Sarybchik * All rights reserved. 4283514Sarybchik * 5283514Sarybchik * Redistribution and use in source and binary forms, with or without 6283514Sarybchik * modification, are permitted provided that the following conditions are met: 7283514Sarybchik * 8283514Sarybchik * 1. Redistributions of source code must retain the above copyright notice, 9283514Sarybchik * this list of conditions and the following disclaimer. 10283514Sarybchik * 2. Redistributions in binary form must reproduce the above copyright notice, 11283514Sarybchik * this list of conditions and the following disclaimer in the documentation 12283514Sarybchik * and/or other materials provided with the distribution. 13283514Sarybchik * 14283514Sarybchik * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 15283514Sarybchik * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 16283514Sarybchik * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 17283514Sarybchik * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 18283514Sarybchik * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 19283514Sarybchik * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 20283514Sarybchik * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 21283514Sarybchik * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 22283514Sarybchik * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 23283514Sarybchik * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 24283514Sarybchik * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25283514Sarybchik * 26283514Sarybchik * The views and conclusions contained in the software and documentation are 27283514Sarybchik * those of the authors and should not be interpreted as representing official 28283514Sarybchik * policies, either expressed or implied, of the FreeBSD Project. 29283514Sarybchik * 30283514Sarybchik * $FreeBSD: head/sys/dev/sfxge/common/efx_check.h 299324 2016-05-10 07:08:40Z arybchik $ 31283514Sarybchik */ 32283514Sarybchik 33283514Sarybchik#ifndef _SYS_EFX_CHECK_H 34283514Sarybchik#define _SYS_EFX_CHECK_H 35283514Sarybchik 36283514Sarybchik#include "efsys.h" 37283514Sarybchik 38283514Sarybchik/* 39283514Sarybchik * Check that the efsys.h header in client code has a valid combination of 40283514Sarybchik * EFSYS_OPT_xxx options. 41283514Sarybchik * 42283514Sarybchik * NOTE: Keep checks for obsolete options here to ensure that they are removed 43283514Sarybchik * from client code (and do not reappear in merges from other branches). 44283514Sarybchik */ 45283514Sarybchik 46299253Sarybchik#ifdef EFSYS_OPT_FALCON 47299253Sarybchik# error "FALCON is obsolete and is not supported." 48299253Sarybchik#else 49299253Sarybchik/* FIXME: remove this after Falcon support has been removed */ 50299253Sarybchik#define EFSYS_OPT_MON_MAX6647 (0) 51299253Sarybchik#define EFSYS_OPT_MON_NULL (0) 52299253Sarybchik 53299253Sarybchik#define EFSYS_OPT_NVRAM_FALCON_BOOTROM (0) 54299253Sarybchik#define EFSYS_OPT_NVRAM_SFT9001 (0) 55299253Sarybchik#define EFSYS_OPT_NVRAM_SFX7101 (0) 56299253Sarybchik 57299253Sarybchik#define EFSYS_OPT_PHY_NULL (0) 58299253Sarybchik#define EFSYS_OPT_PHY_QT2022C2 (0) 59299253Sarybchik#define EFSYS_OPT_PHY_QT2025C (0) 60299253Sarybchik#define EFSYS_OPT_PHY_SFT9001 (0) 61299253Sarybchik#define EFSYS_OPT_PHY_SFX7101 (0) 62299253Sarybchik#define EFSYS_OPT_PHY_TXC43128 (0) 63299253Sarybchik#endif 64299253Sarybchik 65299253Sarybchik/* Support NVRAM based boot config */ 66299253Sarybchik#if EFSYS_OPT_BOOTCFG 67299253Sarybchik# if !EFSYS_OPT_NVRAM 68283514Sarybchik# error "BOOTCFG requires NVRAM" 69283514Sarybchik# endif 70283514Sarybchik#endif /* EFSYS_OPT_BOOTCFG */ 71283514Sarybchik 72283514Sarybchik/* Verify chip implements accessed registers */ 73283514Sarybchik#if EFSYS_OPT_CHECK_REG 74283514Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 75283514Sarybchik# error "CHECK_REG requires SIENA or HUNTINGTON or MEDFORD" 76283514Sarybchik# endif 77299320Sarybchik#endif /* EFSYS_OPT_CHECK_REG */ 78299320Sarybchik 79283514Sarybchik/* Decode fatal errors */ 80283514Sarybchik#if EFSYS_OPT_DECODE_INTR_FATAL 81283514Sarybchik# if !EFSYS_OPT_SIENA 82283514Sarybchik# error "INTR_FATAL requires SIENA" 83283514Sarybchik# endif 84299320Sarybchik#endif /* EFSYS_OPT_DECODE_INTR_FATAL */ 85299320Sarybchik 86283514Sarybchik/* Support diagnostic hardware tests */ 87283514Sarybchik#if EFSYS_OPT_DIAG 88283514Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 89283514Sarybchik# error "DIAG requires SIENA or HUNTINGTON or MEDFORD" 90283514Sarybchik# endif 91299320Sarybchik#endif /* EFSYS_OPT_DIAG */ 92299320Sarybchik 93283514Sarybchik/* Support optimized EVQ data access */ 94283514Sarybchik#if EFSYS_OPT_EV_PREFETCH 95283514Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 96283514Sarybchik# error "EV_PREFETCH requires SIENA or HUNTINGTON or MEDFORD" 97283514Sarybchik# endif 98299320Sarybchik#endif /* EFSYS_OPT_EV_PREFETCH */ 99299320Sarybchik 100283514Sarybchik#ifdef EFSYS_OPT_FALCON_NIC_CFG_OVERRIDE 101283514Sarybchik# error "FALCON_NIC_CFG_OVERRIDE is obsolete and is not supported." 102283514Sarybchik#endif 103299321Sarybchik 104299321Sarybchik/* Support hardware packet filters */ 105299321Sarybchik#if EFSYS_OPT_FILTER 106283514Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 107283514Sarybchik# error "FILTER requires SIENA or HUNTINGTON or MEDFORD" 108283514Sarybchik# endif 109299320Sarybchik#endif /* EFSYS_OPT_FILTER */ 110299320Sarybchik 111283514Sarybchik#if (EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 112283514Sarybchik# if !EFSYS_OPT_FILTER 113283514Sarybchik# error "HUNTINGTON or MEDFORD requires FILTER" 114293730Sarybchik# endif 115283514Sarybchik#endif /* EFSYS_OPT_HUNTINGTON */ 116293730Sarybchik 117283514Sarybchik/* Support hardware loopback modes */ 118283514Sarybchik#if EFSYS_OPT_LOOPBACK 119283514Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 120283514Sarybchik# error "LOOPBACK requires SIENA or HUNTINGTON or MEDFORD" 121283514Sarybchik# endif 122299320Sarybchik#endif /* EFSYS_OPT_LOOPBACK */ 123299320Sarybchik 124283514Sarybchik#ifdef EFSYS_OPT_MAC_FALCON_GMAC 125283514Sarybchik# error "MAC_FALCON_GMAC is obsolete and is not supported." 126283514Sarybchik#endif 127299322Sarybchik 128299322Sarybchik#ifdef EFSYS_OPT_MAC_FALCON_XMAC 129299322Sarybchik# error "MAC_FALCON_XMAC is obsolete and is not supported." 130283514Sarybchik#endif 131283514Sarybchik 132283514Sarybchik/* Support MAC statistics */ 133283514Sarybchik#if EFSYS_OPT_MAC_STATS 134283514Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 135283514Sarybchik# error "MAC_STATS requires SIENA or HUNTINGTON or MEDFORD" 136283514Sarybchik# endif 137283514Sarybchik#endif /* EFSYS_OPT_MAC_STATS */ 138283514Sarybchik 139283514Sarybchik/* Support management controller messages */ 140299320Sarybchik#if EFSYS_OPT_MCDI 141299320Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 142283514Sarybchik# error "MCDI requires SIENA or HUNTINGTON or MEDFORD" 143283514Sarybchik# endif 144283514Sarybchik#endif /* EFSYS_OPT_MCDI */ 145283514Sarybchik 146283514Sarybchik#if (EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 147293730Sarybchik# if !EFSYS_OPT_MCDI 148293730Sarybchik# error "SIENA or HUNTINGTON or MEDFORD requires MCDI" 149283514Sarybchik# endif 150283514Sarybchik#endif 151283514Sarybchik 152293730Sarybchik/* Support MCDI logging */ 153293730Sarybchik#if EFSYS_OPT_MCDI_LOGGING 154293730Sarybchik# if !EFSYS_OPT_MCDI 155293730Sarybchik# error "MCDI_LOGGING requires MCDI" 156283514Sarybchik# endif 157283514Sarybchik#endif /* EFSYS_OPT_MCDI_LOGGING */ 158291677Sarybchik 159291677Sarybchik/* Support MCDI proxy authorization */ 160291677Sarybchik#if EFSYS_OPT_MCDI_PROXY_AUTH 161291677Sarybchik# if !EFSYS_OPT_MCDI 162291677Sarybchik# error "MCDI_PROXY_AUTH requires MCDI" 163291677Sarybchik# endif 164291677Sarybchik#endif /* EFSYS_OPT_MCDI_PROXY_AUTH */ 165291927Sarybchik 166291927Sarybchik#ifdef EFSYS_OPT_MON_LM87 167291927Sarybchik# error "MON_LM87 is obsolete and is not supported." 168291927Sarybchik#endif 169291927Sarybchik 170291927Sarybchik/* Support MAX6647 monitor */ 171291927Sarybchik#if EFSYS_OPT_MON_MAX6647 172283514Sarybchik# if !EFSYS_OPT_FALCON 173283514Sarybchik# error "MON_MAX6647 requires FALCON" 174283514Sarybchik# endif 175283514Sarybchik#endif /* EFSYS_OPT_MON_MAX6647 */ 176283514Sarybchik 177283514Sarybchik/* Support null monitor */ 178283514Sarybchik#if EFSYS_OPT_MON_NULL 179283514Sarybchik# if !EFSYS_OPT_FALCON 180283514Sarybchik# error "MON_NULL requires FALCON" 181283514Sarybchik# endif 182283514Sarybchik#endif /* EFSYS_OPT_MON_NULL */ 183283514Sarybchik 184283514Sarybchik/* Obsolete option */ 185283514Sarybchik#ifdef EFSYS_OPT_MON_SIENA 186283514Sarybchik# error "MON_SIENA is obsolete (replaced by MON_MCDI)." 187283514Sarybchik#endif /* EFSYS_OPT_MON_SIENA*/ 188283514Sarybchik 189283514Sarybchik/* Obsolete option */ 190283514Sarybchik#ifdef EFSYS_OPT_MON_HUNTINGTON 191283514Sarybchik# error "MON_HUNTINGTON is obsolete (replaced by MON_MCDI)." 192283514Sarybchik#endif /* EFSYS_OPT_MON_HUNTINGTON*/ 193293767Sarybchik 194283514Sarybchik/* Support monitor statistics (voltage/temperature) */ 195293767Sarybchik#if EFSYS_OPT_MON_STATS 196283514Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 197283514Sarybchik# error "MON_STATS requires SIENA or HUNTINGTON or MEDFORD" 198293767Sarybchik# endif 199283514Sarybchik#endif /* EFSYS_OPT_MON_STATS */ 200293767Sarybchik 201283514Sarybchik/* Support Monitor via mcdi */ 202283514Sarybchik#if EFSYS_OPT_MON_MCDI 203283514Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 204283514Sarybchik# error "MON_MCDI requires SIENA or HUNTINGTON or MEDFORD" 205299320Sarybchik# endif 206299320Sarybchik#endif /* EFSYS_OPT_MON_MCDI*/ 207283514Sarybchik 208283514Sarybchik/* Support printable names for statistics */ 209283514Sarybchik#if EFSYS_OPT_NAMES 210283514Sarybchik# if !(EFSYS_OPT_LOOPBACK || EFSYS_OPT_MAC_STATS || EFSYS_OPT_MCDI || \ 211283514Sarybchik EFSYS_MON_STATS || EFSYS_OPT_PHY_PROPS || EFSYS_OPT_PHY_STATS || \ 212293730Sarybchik EFSYS_OPT_QSTATS) 213293730Sarybchik# error "NAMES requires LOOPBACK or xxxSTATS or MCDI or PHY_PROPS" 214283514Sarybchik# endif 215283514Sarybchik#endif /* EFSYS_OPT_NAMES */ 216283514Sarybchik 217283514Sarybchik/* Support non volatile configuration */ 218283514Sarybchik#if EFSYS_OPT_NVRAM 219283514Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 220283514Sarybchik# error "NVRAM requires SIENA or HUNTINGTON or MEDFORD" 221283514Sarybchik# endif 222283514Sarybchik#endif /* EFSYS_OPT_NVRAM */ 223283514Sarybchik 224283514Sarybchik/* Support Falcon bootrom */ 225283514Sarybchik#if EFSYS_OPT_NVRAM_FALCON_BOOTROM 226283514Sarybchik# if !EFSYS_OPT_NVRAM 227283514Sarybchik# error "NVRAM_FALCON_BOOTROM requires NVRAM" 228299320Sarybchik# endif 229299320Sarybchik# if !EFSYS_OPT_FALCON 230283514Sarybchik# error "NVRAM_FALCON_BOOTROM requires FALCON" 231283514Sarybchik# endif 232283514Sarybchik#endif /* EFSYS_OPT_NVRAM_FALCON_BOOTROM */ 233283514Sarybchik 234283514Sarybchik/* Support NVRAM config for SFT9001 */ 235283514Sarybchik#if EFSYS_OPT_NVRAM_SFT9001 236283514Sarybchik# if !EFSYS_OPT_NVRAM 237283514Sarybchik# error "NVRAM_SFT9001 requires NVRAM" 238283514Sarybchik# endif 239283514Sarybchik# if !EFSYS_OPT_FALCON 240283514Sarybchik# error "NVRAM_SFT9001 requires FALCON" 241283514Sarybchik# endif 242283514Sarybchik#endif /* EFSYS_OPT_NVRAM_SFT9001 */ 243283514Sarybchik 244283514Sarybchik/* Support NVRAM config for SFX7101 */ 245283514Sarybchik#if EFSYS_OPT_NVRAM_SFX7101 246283514Sarybchik# if !EFSYS_OPT_NVRAM 247283514Sarybchik# error "NVRAM_SFX7101 requires NVRAM" 248283514Sarybchik# endif 249283514Sarybchik# if !EFSYS_OPT_FALCON 250283514Sarybchik# error "NVRAM_SFX7101 requires FALCON" 251283514Sarybchik# endif 252283514Sarybchik#endif /* EFSYS_OPT_NVRAM_SFX7101 */ 253283514Sarybchik 254283514Sarybchik#ifdef EFSYS_OPT_PCIE_TUNE 255283514Sarybchik# error "PCIE_TUNE is obsolete and is not supported." 256283514Sarybchik#endif 257283514Sarybchik 258283514Sarybchik/* Obsolete option */ 259283514Sarybchik#ifdef EFSYS_OPT_PHY_BIST 260283514Sarybchik# error "PHY_BIST is obsolete (replaced by BIST)." 261283514Sarybchik#endif 262283514Sarybchik 263299254Sarybchik/* Support PHY flags */ 264299254Sarybchik#if EFSYS_OPT_PHY_FLAGS 265299254Sarybchik# if !EFSYS_OPT_SIENA 266283514Sarybchik# error "PHY_FLAGS requires SIENA" 267293767Sarybchik# endif 268299252Sarybchik#endif /* EFSYS_OPT_PHY_FLAGS */ 269299252Sarybchik 270299252Sarybchik/* Support for PHY LED control */ 271283514Sarybchik#if EFSYS_OPT_PHY_LED_CONTROL 272283514Sarybchik# if !EFSYS_OPT_SIENA 273283514Sarybchik# error "PHY_LED_CONTROL requires SIENA" 274299320Sarybchik# endif 275299320Sarybchik#endif /* EFSYS_OPT_PHY_LED_CONTROL */ 276283514Sarybchik 277283514Sarybchik/* Support NULL PHY */ 278283514Sarybchik#if EFSYS_OPT_PHY_NULL 279283514Sarybchik# if !EFSYS_OPT_FALCON 280283514Sarybchik# error "PHY_NULL requires FALCON" 281299320Sarybchik# endif 282299320Sarybchik#endif /* EFSYS_OPT_PHY_NULL */ 283283514Sarybchik 284283514Sarybchik/* Obsolete option */ 285283514Sarybchik#ifdef EFSYS_OPT_PHY_PM8358 286283514Sarybchik# error "EFSYS_OPT_PHY_PM8358 is obsolete and is not supported." 287283514Sarybchik#endif 288283514Sarybchik 289283514Sarybchik/* Support PHY properties */ 290283514Sarybchik#if EFSYS_OPT_PHY_PROPS 291283514Sarybchik# if !EFSYS_OPT_SIENA 292283514Sarybchik# error "PHY_PROPS requires SIENA" 293283514Sarybchik# endif 294283514Sarybchik#endif /* EFSYS_OPT_PHY_PROPS */ 295283514Sarybchik 296283514Sarybchik/* Support QT2022C2 PHY */ 297283514Sarybchik#if EFSYS_OPT_PHY_QT2022C2 298283514Sarybchik# if !EFSYS_OPT_FALCON 299283514Sarybchik# error "PHY_QT2022C2 requires FALCON" 300299320Sarybchik# endif 301299320Sarybchik#endif /* EFSYS_OPT_PHY_QT2022C2 */ 302283514Sarybchik 303283514Sarybchik/* Support QT2025C PHY (Wakefield NIC) */ 304283514Sarybchik#if EFSYS_OPT_PHY_QT2025C 305283514Sarybchik# if !EFSYS_OPT_FALCON 306283514Sarybchik# error "PHY_QT2025C requires FALCON" 307283514Sarybchik# endif 308283514Sarybchik#endif /* EFSYS_OPT_PHY_QT2025C */ 309283514Sarybchik 310283514Sarybchik/* Support SFT9001 PHY (Starbolt NIC) */ 311283514Sarybchik#if EFSYS_OPT_PHY_SFT9001 312283514Sarybchik# if !EFSYS_OPT_FALCON 313283514Sarybchik# error "PHY_SFT9001 requires FALCON" 314283514Sarybchik# endif 315283514Sarybchik#endif /* EFSYS_OPT_PHY_SFT9001 */ 316283514Sarybchik 317283514Sarybchik/* Support SFX7101 PHY (SFE4001 NIC) */ 318283514Sarybchik#if EFSYS_OPT_PHY_SFX7101 319283514Sarybchik# if !EFSYS_OPT_FALCON 320283514Sarybchik# error "PHY_SFX7101 requires FALCON" 321283514Sarybchik# endif 322283514Sarybchik#endif /* EFSYS_OPT_PHY_SFX7101 */ 323283514Sarybchik 324283514Sarybchik/* Support PHY statistics */ 325283514Sarybchik#if EFSYS_OPT_PHY_STATS 326283514Sarybchik# if !EFSYS_OPT_SIENA 327283514Sarybchik# error "PHY_STATS requires SIENA" 328283514Sarybchik# endif 329283514Sarybchik#endif /* EFSYS_OPT_PHY_STATS */ 330283514Sarybchik 331283514Sarybchik/* Support TXC43128 PHY (SFE4003 NIC) */ 332283514Sarybchik#if EFSYS_OPT_PHY_TXC43128 333283514Sarybchik# if !EFSYS_OPT_FALCON 334283514Sarybchik# error "PHY_TXC43128 requires FALCON" 335299320Sarybchik# endif 336299320Sarybchik#endif /* EFSYS_OPT_PHY_TXC43128 */ 337283514Sarybchik 338283514Sarybchik/* Support EVQ/RXQ/TXQ statistics */ 339283514Sarybchik#if EFSYS_OPT_QSTATS 340283514Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 341283514Sarybchik# error "QSTATS requires SIENA or HUNTINGTON or MEDFORD" 342283514Sarybchik# endif 343283514Sarybchik#endif /* EFSYS_OPT_QSTATS */ 344283514Sarybchik 345283514Sarybchik/* Obsolete option */ 346283514Sarybchik#ifdef EFSYS_OPT_RX_HDR_SPLIT 347283514Sarybchik# error "RX_HDR_SPLIT is obsolete and is not supported" 348283514Sarybchik#endif /* EFSYS_OPT_RX_HDR_SPLIT */ 349299320Sarybchik 350299320Sarybchik/* Support receive scaling (RSS) */ 351283514Sarybchik#if EFSYS_OPT_RX_SCALE 352283514Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 353283514Sarybchik# error "RX_SCALE requires SIENA or HUNTINGTON or MEDFORD" 354293806Sarybchik# endif 355293806Sarybchik#endif /* EFSYS_OPT_RX_SCALE */ 356293806Sarybchik 357283514Sarybchik/* Support receive scatter DMA */ 358283514Sarybchik#if EFSYS_OPT_RX_SCATTER 359283514Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 360283514Sarybchik# error "RX_SCATTER requires SIENA or HUNTINGTON or MEDFORD" 361299320Sarybchik# endif 362299320Sarybchik#endif /* EFSYS_OPT_RX_SCATTER */ 363283514Sarybchik 364283514Sarybchik/* Obsolete option */ 365283514Sarybchik#ifdef EFSYS_OPT_STAT_NAME 366283514Sarybchik# error "STAT_NAME is obsolete (replaced by NAMES)." 367283514Sarybchik#endif 368299320Sarybchik 369299320Sarybchik/* Support PCI Vital Product Data (VPD) */ 370283514Sarybchik#if EFSYS_OPT_VPD 371283514Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 372283514Sarybchik# error "VPD requires SIENA or HUNTINGTON or MEDFORD" 373283514Sarybchik# endif 374283514Sarybchik#endif /* EFSYS_OPT_VPD */ 375293767Sarybchik 376283514Sarybchik/* Support Wake on LAN */ 377283514Sarybchik#if EFSYS_OPT_WOL 378283514Sarybchik# if !EFSYS_OPT_SIENA 379283514Sarybchik# error "WOL requires SIENA" 380299320Sarybchik# endif 381299320Sarybchik#endif /* EFSYS_OPT_WOL */ 382283514Sarybchik 383283514Sarybchik/* Obsolete option */ 384283514Sarybchik#ifdef EFSYS_OPT_MCAST_FILTER_LIST 385283514Sarybchik# error "MCAST_FILTER_LIST is obsolete and is not supported" 386283514Sarybchik#endif /* EFSYS_OPT_MCAST_FILTER_LIST */ 387283514Sarybchik 388283514Sarybchik/* Support BIST */ 389283514Sarybchik#if EFSYS_OPT_BIST 390283514Sarybchik# if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) 391283514Sarybchik# error "BIST requires SIENA or HUNTINGTON or MEDFORD" 392293758Sarybchik# endif 393293758Sarybchik#endif /* EFSYS_OPT_BIST */ 394293767Sarybchik 395283514Sarybchik/* Support MCDI licensing API */ 396283514Sarybchik#if EFSYS_OPT_LICENSING 397283514Sarybchik# if !EFSYS_OPT_MCDI 398283514Sarybchik# error "LICENSING requires MCDI" 399299320Sarybchik# endif 400299320Sarybchik# if !EFSYS_HAS_UINT64 401283514Sarybchik# error "LICENSING requires UINT64" 402283514Sarybchik# endif 403283514Sarybchik#endif /* EFSYS_OPT_LICENSING */ 404293901Sarybchik 405293901Sarybchik 406293901Sarybchik#endif /* _SYS_EFX_CHECK_H */ 407293901Sarybchik