1 /*
2  * Copyright (C) 2008 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef bbs_CONFIG_EM_H
18 #define bbs_CONFIG_EM_H
19 
20 /**
21  * This file contains hardware and OS specific definitions
22  */
23 
24 /* ---- release specific defines ------------------------------------------- */
25 
26 /* ---- hardware specific defines ------------------------------------------ */
27 
28 #if defined( HW_i586 ) || defined( HW_i686 )
29 	#ifdef HW_SSE2
30 		#define bbs_MEMORY_ALIGNMENT	16 /* SSE2: align data to 128 bits */
31 	#else
32 		#define bbs_MEMORY_ALIGNMENT	8  /* MMX: align data to 64 bits */
33 	#endif
34 #elif defined( HW_EE )
35 	#define bbs_MEMORY_ALIGNMENT	16 /* align EE-MMI data to 128 bits */
36 #else
37 	#define bbs_MEMORY_ALIGNMENT	1
38 #endif
39 
40 #ifdef HW_TMS470R2X
41 	#pragma message("Warning: deprecated define HW_TMS470R2X, use HW_ARMv4 instead")
42 	#define HW_ARMv4
43 #endif
44 
45 #ifdef HW_ARM9E
46 	#pragma message("Warning: deprecated define HW_ARM9E, use HW_ARMv5TE instead")
47 	#define HW_ARMv5TE
48 #endif
49 
50 /* ---- operating system specific defines ---------------------------------- */
51 
52 #if defined( WIN32 ) || defined( _WIN32_WCE )
53 	/* disable warning "unreferenced formal parameter": */
54 	#pragma warning( disable : 4100 )
55 
56 	/* disable warning for constant expression in condition: */
57 	#pragma warning( disable : 4127 )
58 
59 	/* disable warning for short += short: */
60 	#pragma warning( disable : 4244 )
61 
62 	/* disable warning 'unreachable code' in release build: */
63 	/* this warning occurs due to a wrong code evaluation of the compiler */
64 	#pragma warning( disable : 4702 )
65 
66 	/* disable warning for not expanded inline functions in release build: */
67 	#pragma warning( disable : 4710 )
68 
69 	/* disable warning for automatic expanded inline functions in release build: */
70 	#pragma warning( disable : 4711 )
71 
72 	/* disable warning "unreferenced inline function has been removed": */
73 	#pragma warning( disable : 4514 )
74 
75 #endif
76 
77 /* -------------------------------------------------------------------------- */
78 
79 #endif /* bbs_CONFIG_EM_H */
80 
81