summaryrefslogtreecommitdiff
path: root/Silicon/BroxtonSoC/BroxtonSiPkg/NorthCluster/MemoryInit/Mmrc/ProjectIndependent/Include/DataTypes.h
blob: 93ee6d2f11a413b8db33ffeb8754648a4ac62cdd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
/** @file
  This file include all the external data types.

  Copyright (c) 1999 - 2016, Intel Corporation. All rights reserved.<BR>

  This program and the accompanying materials
  are licensed and made available under the terms and conditions of the BSD License
  which accompanies this distribution.  The full text of the license may be found at
  http://opensource.org/licenses/bsd-license.php.

  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

**/

#ifndef _DATATYPES_H_
#define _DATATYPES_H_

#ifndef __GNUC__
#pragma warning (disable : 4214 )
#endif

#ifndef EFI_MEMORY_INIT
#include "Bind.h"
typedef uint8_t     BOOLEAN;
#ifndef MRC_DATA_REQUIRED_FROM_OUTSIDE
#ifndef UINTN
typedef uintn_t     UINTN;
#endif
#endif

#ifndef size_t
#define size_t UINT32
#endif

#if SIM
typedef my_int8_t   INT8;
#else
typedef int8_t      INT8;
#endif
typedef uint8_t     UINT8;
typedef int16_t     INT16;
typedef uint16_t    UINT16;
#ifndef INT32
typedef int         INT32;
#endif
#ifndef UINT32
typedef uint32_t    UINT32;
#endif
typedef long long INT64;
typedef unsigned long long UINT64;
typedef uint8_t     CHAR8;
typedef uint16_t    CHAR16;
#ifndef EFI_PHYSICAL_ADDRESS
typedef UINTN       EFI_PHYSICAL_ADDRESS;
#endif
#ifndef GLOBAL_REMOVE_IF_UNREFERENCED
  //
  // The Microsoft* C compiler can removed references to unreferenced data items
  //  if the /OPT:REF linker option is used. We defined a macro as this is a
  //  a non standard extension
  //
  #if _MSC_EXTENSIONS
    #define GLOBAL_REMOVE_IF_UNREFERENCED __declspec(selectany)
  #else
    #define GLOBAL_REMOVE_IF_UNREFERENCED
  #endif
#endif
#endif

typedef struct {
  UINT32     Index;
  UINT32     DataHigh;
  UINT32     DataLow;
} MSR_REG;

typedef struct {
  INT8 x;
  INT8 y;
} TS_LOC;

//
// Modifiers to abstract standard types to aid in debug of problems
//
#ifndef CONST
#define CONST       const
#endif

#ifndef STATIC
#define STATIC      static
#endif

#ifndef VOID
#define VOID        void
#endif

#ifndef VOLATILE
#define VOLATILE    volatile
#endif
//
// Constants. They may exist in other build structures, so #ifndef them.
//
#ifndef IN
#define             IN
#endif

#ifndef OUT
#define             OUT
#endif

#ifndef TRUE
#define TRUE        ((BOOLEAN) 1 == 1)
#endif

#ifndef FALSE
#define FALSE       ((BOOLEAN) 0 == 1)
#endif

#ifndef NULL
#define NULL        ((VOID *) 0)
#endif

typedef UINT32           MMRC_STATUS;
#define MMRC_SUCCESS     0
#define MMRC_DATA_DIRTY  0xFFFFFFFE
#define MMRC_FAILURE     0xFFFFFFFF

#endif // DATATYPES_H