1210284Sjmallett/***********************license start*************** 2232812Sjmallett * Copyright (c) 2003-2010 Cavium Inc. (support@cavium.com). All rights 3215990Sjmallett * reserved. 4210284Sjmallett * 5210284Sjmallett * 6215990Sjmallett * Redistribution and use in source and binary forms, with or without 7215990Sjmallett * modification, are permitted provided that the following conditions are 8215990Sjmallett * met: 9210284Sjmallett * 10215990Sjmallett * * Redistributions of source code must retain the above copyright 11215990Sjmallett * notice, this list of conditions and the following disclaimer. 12210284Sjmallett * 13215990Sjmallett * * Redistributions in binary form must reproduce the above 14215990Sjmallett * copyright notice, this list of conditions and the following 15215990Sjmallett * disclaimer in the documentation and/or other materials provided 16215990Sjmallett * with the distribution. 17215990Sjmallett 18232812Sjmallett * * Neither the name of Cavium Inc. nor the names of 19215990Sjmallett * its contributors may be used to endorse or promote products 20215990Sjmallett * derived from this software without specific prior written 21215990Sjmallett * permission. 22215990Sjmallett 23215990Sjmallett * This Software, including technical data, may be subject to U.S. export control 24215990Sjmallett * laws, including the U.S. Export Administration Act and its associated 25215990Sjmallett * regulations, and may be subject to export or import regulations in other 26215990Sjmallett * countries. 27215990Sjmallett 28215990Sjmallett * TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS" 29232812Sjmallett * AND WITH ALL FAULTS AND CAVIUM INC. MAKES NO PROMISES, REPRESENTATIONS OR 30215990Sjmallett * WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO 31215990Sjmallett * THE SOFTWARE, INCLUDING ITS CONDITION, ITS CONFORMITY TO ANY REPRESENTATION OR 32215990Sjmallett * DESCRIPTION, OR THE EXISTENCE OF ANY LATENT OR PATENT DEFECTS, AND CAVIUM 33215990Sjmallett * SPECIFICALLY DISCLAIMS ALL IMPLIED (IF ANY) WARRANTIES OF TITLE, 34215990Sjmallett * MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, LACK OF 35215990Sjmallett * VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR 36215990Sjmallett * CORRESPONDENCE TO DESCRIPTION. THE ENTIRE RISK ARISING OUT OF USE OR 37215990Sjmallett * PERFORMANCE OF THE SOFTWARE LIES WITH YOU. 38210284Sjmallett ***********************license end**************************************/ 39210284Sjmallett 40210284Sjmallett 41210284Sjmallett 42210284Sjmallett 43210284Sjmallett 44210284Sjmallett 45215990Sjmallett 46210284Sjmallett/** 47210284Sjmallett * @file 48210284Sjmallett * 49210284Sjmallett * Validate defines required by cvmx-helper. This header file 50210284Sjmallett * validates a number of defines required for cvmx-helper to 51210284Sjmallett * function properly. It either supplies a default or fails 52210284Sjmallett * compile if a define is incorrect. 53210284Sjmallett * 54232812Sjmallett * <hr>$Revision: 70030 $<hr> 55210284Sjmallett */ 56210284Sjmallett#ifndef __CVMX_HELPER_CHECK_DEFINES_H__ 57210284Sjmallett#define __CVMX_HELPER_CHECK_DEFINES_H__ 58210284Sjmallett 59210284Sjmallett/* CVMX_HELPER_FIRST_MBUFF_SKIP is the number of bytes to reserve before 60210284Sjmallett the beginning of the packet. Override in executive-config.h */ 61210284Sjmallett#ifndef CVMX_HELPER_FIRST_MBUFF_SKIP 62210284Sjmallett#define CVMX_HELPER_FIRST_MBUFF_SKIP 184 63210284Sjmallett#warning WARNING: default CVMX_HELPER_FIRST_MBUFF_SKIP used. Defaults deprecated, please set in executive-config.h 64210284Sjmallett#endif 65210284Sjmallett 66210284Sjmallett/* CVMX_HELPER_NOT_FIRST_MBUFF_SKIP is the number of bytes to reserve in each 67210284Sjmallett chained packet element. Override in executive-config.h */ 68210284Sjmallett#ifndef CVMX_HELPER_NOT_FIRST_MBUFF_SKIP 69210284Sjmallett#define CVMX_HELPER_NOT_FIRST_MBUFF_SKIP 0 70210284Sjmallett#warning WARNING: default CVMX_HELPER_NOT_FIRST_MBUFF_SKIP used. Defaults deprecated, please set in executive-config.h 71210284Sjmallett#endif 72210284Sjmallett 73210284Sjmallett/* CVMX_HELPER_ENABLE_IPD controls if the IPD is enabled in the helper 74210284Sjmallett function. Once it is enabled the hardware starts accepting packets. You 75210284Sjmallett might want to skip the IPD enable if configuration changes are need 76210284Sjmallett from the default helper setup. Override in executive-config.h */ 77210284Sjmallett#ifndef CVMX_HELPER_ENABLE_IPD 78210284Sjmallett#define CVMX_HELPER_ENABLE_IPD 1 79210284Sjmallett#warning WARNING: default CVMX_HELPER_ENABLE_IPD used. Defaults deprecated, please set in executive-config.h 80210284Sjmallett#endif 81210284Sjmallett 82210284Sjmallett/* Set default (defaults are deprecated) input tag type */ 83210284Sjmallett#ifndef CVMX_HELPER_INPUT_TAG_TYPE 84210284Sjmallett#define CVMX_HELPER_INPUT_TAG_TYPE CVMX_POW_TAG_TYPE_ORDERED 85210284Sjmallett#warning WARNING: default CVMX_HELPER_INPUT_TAG_TYPE used. Defaults deprecated, please set in executive-config.h 86210284Sjmallett#endif 87210284Sjmallett 88210284Sjmallett#ifndef CVMX_HELPER_INPUT_PORT_SKIP_MODE 89210284Sjmallett#define CVMX_HELPER_INPUT_PORT_SKIP_MODE CVMX_PIP_PORT_CFG_MODE_SKIPL2 90210284Sjmallett#warning WARNING: default CVMX_HELPER_INPUT_PORT_SKIP_MODE used. Defaults deprecated, please set in executive-config.h 91210284Sjmallett#endif 92210284Sjmallett 93210284Sjmallett#if defined(CVMX_ENABLE_HELPER_FUNCTIONS) && !defined(CVMX_HELPER_INPUT_TAG_INPUT_PORT) 94210284Sjmallett#error CVMX_HELPER_INPUT_TAG_* values for determining tag hash inputs must be defined in executive-config.h 95210284Sjmallett#endif 96210284Sjmallett 97210284Sjmallett#endif 98