1 /* 2 * Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved. 3 * 4 */ 5 6 #ifndef __XEN_ARM_LIVEPATCH_H__ 7 #define __XEN_ARM_LIVEPATCH_H__ 8 9 #include <xen/sizes.h> /* For SZ_* macros. */ 10 #include <asm/insn.h> 11 12 /* 13 * The va of the hypervisor .text region. We need this as the 14 * normal va are write protected. 15 */ 16 extern void *vmap_of_xen_text; 17 18 /* These ranges are only for unconditional branches. */ 19 #ifdef CONFIG_ARM_32 20 /* ARM32: A4.3 IN ARM DDI 0406C.c - we are using only ARM instructions in Xen.*/ 21 #define ARCH_LIVEPATCH_RANGE SZ_32M 22 #else 23 /* ARM64: C1.3.2 in ARM DDI 0487A.j */ 24 #define ARCH_LIVEPATCH_RANGE SZ_128M 25 #endif 26 27 #endif /* __XEN_ARM_LIVEPATCH_H__ */ 28 29 /* 30 * Local variables: 31 * mode: C 32 * c-file-style: "BSD" 33 * c-basic-offset: 4 34 * tab-width: 4 35 * indent-tabs-mode: nil 36 * End: 37 */ 38