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)19static 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