OpenCores
URL https://opencores.org/ocsvn/funbase_ip_library/funbase_ip_library/trunk

Subversion Repositories funbase_ip_library

[/] [funbase_ip_library/] [trunk/] [TUT/] [ip.swp.api/] [openmcapi/] [1.0/] [include/] [mca.h] - Rev 166

Go to most recent revision | Compare with Previous | Blame | View Log

/*
 * Copyright (c) 2011, The Multicore Association All rights reserved.
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * (1) Redistributions of source code must retain the above copyright
 *     notice, this list of conditions and the following disclaimer.
 *
 * (2) Redistributions in binary form must reproduce the above copyright
 *     notice, this list of conditions and the following disclaimer in the
 *     documentation and/or other materials provided with the distribution.
 *
 * (3) Neither the name of the Multicore Association nor the names of its
 *     contributors may be used to endorse or promote products derived from
 *     this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 * mca.h
 *
 * Version 2.014, February 2011
 *
 */
 
#ifndef MCA_H
#define MCA_H
 
/*
 * The mca_impl_spec.h header file is vendor/implementation specific,
 * and should contain declarations and definitions specific to a particular
 * implementation.
 *
 * This file must be provided by each implementation.  It is recommended that these types be
 * either pointers or 32 bit scalars, allowing simple arithmetic equality comparison (a == b).
 * Implementers may which of these type are used.
 *
 * It MUST contain type definitions for the following types.
 *
 * mca_request_t;
 *
 */
#include "mca_impl_spec.h"
 
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
 
/*
 * MCA type definitions
 */
typedef int    				mca_int_t;
typedef char 				mca_int8_t;
typedef short 				mca_int16_t;
typedef int 				mca_int32_t;
typedef long long 			mca_int64_t;
typedef unsigned int    	mca_uint_t;
typedef unsigned char 		mca_uint8_t;
typedef unsigned short 		mca_uint16_t;
typedef unsigned int 		mca_uint32_t;
typedef unsigned long long 	mca_uint64_t;
typedef unsigned char		mca_boolean_t;
typedef unsigned int    	mca_node_t;
typedef unsigned int		mca_status_t;
typedef unsigned int		mca_timeout_t;
typedef unsigned int		mca_domain_t;
 
/* Constants */
#define MCA_TRUE			  1
#define MCA_FALSE			  0
#define MCA_NULL			  0		/* MCA Zero value */
#define	MCA_INFINITE		(~0)	/* Wait forever, no timeout */
 
/* In/out parameter indication macros */
#ifndef MCA_IN
#define MCA_IN const
#endif /* MCA_IN */
 
#ifndef MCA_OUT
#define MCA_OUT
#endif /* MCA_OUT */
 
/* Alignment macros */
#ifdef __GNUC__
#define MCA_DECL_ALIGNED __attribute__ ((aligned (32)))
#else
#define MCA_DECL_ALIGNED /* MCA_DECL_ALIGNED alignment macro currently only
							supports GNU compiler */
#endif /* __GNUC__ */
 
/*
 * MCA organization id's (for assignment of organization specific attribute numbers)
 */
#define MCA_ORG_ID_PSI 0 	/* PolyCore Software, Inc. */
#define MCA_ORG_ID_FSL 1 	/* Freescale, Inc. */
#define MCA_ORG_ID_MGC 2 	/* Mentor Graphics, Corp. */
#define MCA_ORG_ID_TBA 3 	/* To be assigned */
/* And so forth */
 
#ifdef __cplusplus
}
#endif /* __cplusplus */
 
#endif /* MCA_H */
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.