1 /*
2  * %CopyrightBegin%
3  *
4  * Copyright Ericsson AB 2005-2016. All Rights Reserved.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *     http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  * %CopyrightEnd%
19  */
20 
21 
22 #ifndef HIPE_ARM_H
23 #define HIPE_ARM_H
24 
25 extern void hipe_flush_icache_word(void *address);
26 extern void hipe_flush_icache_range(void *address, unsigned int nbytes);
27 
28 /* for stack descriptor hash lookup */
29 #define HIPE_RA_LSR_COUNT	2	/* low 2 bits are always zero */
30 
31 /* for hipe_bifs_{read,write}_{s,u}32 */
hipe_word32_address_ok(void * address)32 static __inline__ int hipe_word32_address_ok(void *address)
33 {
34     return ((unsigned long)address & 0x3) == 0;
35 }
36 
37 /* Native stack growth direction. */
38 #define HIPE_NSTACK_GROWS_DOWN
39 
40 #define hipe_arch_name	am_arm
41 
42 extern void hipe_arm_inc_stack(void);
43 
44 #endif /* HIPE_ARM_H */
45