1264790Sbapt/***********************license start*************** 2264790Sbapt * Copyright (c) 2003-2010 Cavium Inc. (support@cavium.com). All rights 3264790Sbapt * reserved. 4264790Sbapt * 5264790Sbapt * 6264790Sbapt * Redistribution and use in source and binary forms, with or without 7264790Sbapt * modification, are permitted provided that the following conditions are 8264790Sbapt * met: 9264790Sbapt * 10264790Sbapt * * Redistributions of source code must retain the above copyright 11264790Sbapt * notice, this list of conditions and the following disclaimer. 12264790Sbapt * 13264790Sbapt * * Redistributions in binary form must reproduce the above 14264790Sbapt * copyright notice, this list of conditions and the following 15264790Sbapt * disclaimer in the documentation and/or other materials provided 16264790Sbapt * with the distribution. 17264790Sbapt 18264790Sbapt * * Neither the name of Cavium Inc. nor the names of 19264790Sbapt * its contributors may be used to endorse or promote products 20264790Sbapt * derived from this software without specific prior written 21264790Sbapt * permission. 22264790Sbapt 23264790Sbapt * This Software, including technical data, may be subject to U.S. export control 24264790Sbapt * laws, including the U.S. Export Administration Act and its associated 25264790Sbapt * regulations, and may be subject to export or import regulations in other 26264790Sbapt * countries. 27264790Sbapt 28264790Sbapt * TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS" 29264790Sbapt * AND WITH ALL FAULTS AND CAVIUM INC. MAKES NO PROMISES, REPRESENTATIONS OR 30264790Sbapt * WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO 31264790Sbapt * THE SOFTWARE, INCLUDING ITS CONDITION, ITS CONFORMITY TO ANY REPRESENTATION OR 32264790Sbapt * DESCRIPTION, OR THE EXISTENCE OF ANY LATENT OR PATENT DEFECTS, AND CAVIUM 33264790Sbapt * SPECIFICALLY DISCLAIMS ALL IMPLIED (IF ANY) WARRANTIES OF TITLE, 34264790Sbapt * MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, LACK OF 35264790Sbapt * VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR 36264790Sbapt * CORRESPONDENCE TO DESCRIPTION. THE ENTIRE RISK ARISING OUT OF USE OR 37264790Sbapt * PERFORMANCE OF THE SOFTWARE LIES WITH YOU. 38264790Sbapt ***********************license end**************************************/ 39264790Sbapt 40264790Sbapt 41264790Sbapt 42264790Sbapt/** 43264790Sbapt * @file 44264790Sbapt * 45264790Sbapt * Main Octeon executive header file (This should be the second header 46264790Sbapt * file included by an application). 47264790Sbapt * 48264790Sbapt * <hr>$Revision: 70030 $<hr> 49264790Sbapt*/ 50264790Sbapt#ifndef __CVMX_H__ 51264790Sbapt#define __CVMX_H__ 52264790Sbapt 53264790Sbapt/* Control whether simple executive applications use 1-1 TLB mappings to access physical 54264790Sbapt** memory addresses. This must be disabled to allow large programs that use more than 55264790Sbapt** the 0x10000000 - 0x20000000 virtual address range. 56264790Sbapt** 57264790Sbapt** The FreeBSD kernel ifdefs elsewhere should mean that this is never even checked, 58264790Sbapt** and so does not need to be defined. 59264790Sbapt*/ 60264790Sbapt#if !defined(__FreeBSD__) || !defined(_KERNEL) 61264790Sbapt#ifndef CVMX_USE_1_TO_1_TLB_MAPPINGS 62264790Sbapt#define CVMX_USE_1_TO_1_TLB_MAPPINGS 1 63264790Sbapt#endif 64264790Sbapt#endif 65264790Sbapt 66264790Sbapt#if defined(__FreeBSD__) && defined(_KERNEL) 67264790Sbapt #ifndef CVMX_ENABLE_PARAMETER_CHECKING 68264790Sbapt #ifdef INVARIANTS 69264790Sbapt #define CVMX_ENABLE_PARAMETER_CHECKING 1 70264790Sbapt #else 71264790Sbapt #define CVMX_ENABLE_PARAMETER_CHECKING 0 72264790Sbapt #endif 73264790Sbapt #endif 74264790Sbapt#else 75264790Sbapt #ifndef CVMX_ENABLE_PARAMETER_CHECKING 76264790Sbapt #define CVMX_ENABLE_PARAMETER_CHECKING 1 77264790Sbapt #endif 78264790Sbapt#endif 79264790Sbapt 80264790Sbapt#ifndef CVMX_ENABLE_DEBUG_PRINTS 81264790Sbapt#define CVMX_ENABLE_DEBUG_PRINTS 1 82264790Sbapt#endif 83264790Sbapt 84264790Sbapt#ifdef __cplusplus 85264790Sbaptextern "C" { 86264790Sbapt#endif 87264790Sbapt 88264790Sbapt#include "cvmx-platform.h" 89264790Sbapt#include "cvmx-access.h" 90264790Sbapt#include "cvmx-address.h" 91264790Sbapt#include "cvmx-asm.h" 92264790Sbapt#include "cvmx-packet.h" 93264790Sbapt#include "cvmx-warn.h" 94264790Sbapt#include "cvmx-sysinfo.h" 95264790Sbapt#include "octeon-model.h" 96264790Sbapt#include "cvmx-csr.h" 97264790Sbapt#include "cvmx-utils.h" 98264790Sbapt#include "cvmx-clock.h" 99264790Sbapt#include "octeon-feature.h" 100264790Sbapt 101264790Sbapt#if defined(__mips__) && !defined(CVMX_BUILD_FOR_LINUX_HOST) 102264790Sbapt#include "cvmx-access-native.h" 103264790Sbapt#endif 104264790Sbapt 105264790Sbapt#ifdef __cplusplus 106264790Sbapt} 107264790Sbapt#endif 108264790Sbapt 109264790Sbapt#endif /* __CVMX_H__ */ 110264790Sbapt