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