1 #ifndef __ASM_ARM_VGIC_EMUL_H__
2 #define __ASM_ARM_VGIC_EMUL_H__
3 
4 /*
5  * Helpers to create easily a case to match emulate a single register or
6  * a range of registers
7  */
8 
9 #define VREG32(reg) reg ... reg + 3
10 #define VREG64(reg) reg ... reg + 7
11 
12 #define VRANGE32(start, end) start ... end + 3
13 #define VRANGE64(start, end) start ... end + 7
14 
15 /*
16  * 64 bits registers can be accessible using 32-bit and 64-bit unless
17  * stated otherwise (See 8.1.3 ARM IHI 0069A).
18  */
vgic_reg64_check_access(struct hsr_dabt dabt)19 static inline bool vgic_reg64_check_access(struct hsr_dabt dabt)
20 {
21     return ( dabt.size == DABT_DOUBLE_WORD || dabt.size == DABT_WORD );
22 }
23 
24 #endif /* __ASM_ARM_VGIC_EMUL_H__ */
25 
26 /*
27  * Local variables:
28  * mode: C
29  * c-file-style: "BSD"
30  * c-basic-offset: 4
31  * indent-tabs-mode: nil
32  * End:
33  */
34