19b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney/** @file 29b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael KinneyCore types used in Mrc. 39b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney 49b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael KinneyCopyright (c) 2013-2015 Intel Corporation. 59b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney 69b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael KinneyThis program and the accompanying materials 79b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinneyare licensed and made available under the terms and conditions of the BSD License 89b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinneywhich accompanies this distribution. The full text of the license may be found at 99b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinneyhttp://opensource.org/licenses/bsd-license.php 109b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney 119b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael KinneyTHE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 129b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael KinneyWITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 139b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney 149b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney**/ 159b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney#ifndef __MRC_CORE_TYPES_H 169b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney#define __MRC_CORE_TYPES_H 179b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney 189b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinneytypedef char char_t; 199b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinneytypedef unsigned char uint8_t; 209b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinneytypedef short int16_t; 219b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinneytypedef unsigned short uint16_t; 229b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinneytypedef int int32_t; 239b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinneytypedef unsigned int uint32_t; 249b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinneytypedef unsigned char bool; 259b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinneytypedef unsigned int size_t; 269b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney 279b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney#ifdef ASM_INC 289b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney// Unfortunately h2inc has issue with long long 299b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinneytypedef struct uint64_s 309b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney{ 319b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney uint32_t lo; 329b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney uint32_t hi; 339b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney}uint64_t; 349b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney#else 359b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinneytypedef unsigned long long uint64_t; 369b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney#endif 379b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney 389b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney#ifdef SIM 399b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney// Native word length is 64bit in simulation environment 409b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinneytypedef uint64_t uintn_t; 419b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney#else 429b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney// Quark is 32bit 439b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinneytypedef uint32_t uintn_t; 449b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney#endif 459b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney 469b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney#define PTR32(a) ((volatile uint32_t*)(uintn_t)(a)) 479b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney 489b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney#endif 499b6bbcdbfdf5e54c6d1ed538ea8076d0858fb164Michael Kinney 50