1 /******************************************************************************
2  * config.h
3  *
4  * A Linux-style configuration list.
5  */
6 
7 #ifndef __ARM_CONFIG_H__
8 #define __ARM_CONFIG_H__
9 
10 #if defined(CONFIG_ARM_64)
11 # define LONG_BYTEORDER 3
12 # define ELFSIZE 64
13 #else
14 # define LONG_BYTEORDER 2
15 # define ELFSIZE 32
16 #endif
17 
18 #define BYTES_PER_LONG (1 << LONG_BYTEORDER)
19 #define BITS_PER_LONG (BYTES_PER_LONG << 3)
20 #define POINTER_ALIGN BYTES_PER_LONG
21 
22 #define BITS_PER_LLONG 64
23 
24 /* xen_ulong_t is always 64 bits */
25 #define BITS_PER_XEN_ULONG 64
26 
27 #define CONFIG_PAGING_LEVELS 3
28 
29 #define CONFIG_ARM 1
30 
31 #define CONFIG_ARM_L1_CACHE_SHIFT 7 /* XXX */
32 
33 #define CONFIG_SMP 1
34 
35 #define CONFIG_IRQ_HAS_MULTIPLE_ACTION 1
36 
37 #define CONFIG_PAGEALLOC_MAX_ORDER 18
38 #define CONFIG_DOMU_MAX_ORDER      9
39 #define CONFIG_HWDOM_MAX_ORDER     10
40 
41 #define OPT_CONSOLE_STR "dtuart"
42 
43 #ifdef CONFIG_ARM_64
44 #define MAX_VIRT_CPUS 128u
45 #else
46 #define MAX_VIRT_CPUS 8u
47 #endif
48 
49 #define INVALID_VCPU_ID MAX_VIRT_CPUS
50 
51 #define __LINUX_ARM_ARCH__ 7
52 #define CONFIG_AEABI
53 
54 /* Linkage for ARM */
55 #ifdef __ASSEMBLY__
56 #define ALIGN .balign CONFIG_FUNCTION_ALIGNMENT
57 #define ENTRY(name)                             \
58   .globl name;                                  \
59   ALIGN;                                        \
60   name:
61 #define GLOBAL(name)                            \
62   .globl name;                                  \
63   name:
64 #define ENDPROC(name) \
65   .type name, %function; \
66   END(name)
67 #endif
68 
69 #include <xen/const.h>
70 #include <xen/page-size.h>
71 
72 #ifdef CONFIG_MMU
73 #include <asm/mmu/layout.h>
74 #else
75 # error "Unknown memory management layout"
76 #endif
77 
78 #define NR_hypercalls 64
79 
80 #define STACK_ORDER 3
81 #define STACK_SIZE  (PAGE_SIZE << STACK_ORDER)
82 
83 #ifndef __ASSEMBLY__
84 extern unsigned long frametable_virt_end;
85 #endif
86 
87 #define watchdog_disable() ((void)0)
88 #define watchdog_enable()  ((void)0)
89 
90 #if defined(__ASSEMBLY__) && !defined(LINKER_SCRIPT)
91 #include <asm/asm_defns.h>
92 #include <asm/macros.h>
93 #endif
94 
95 #endif /* __ARM_CONFIG_H__ */
96 /*
97  * Local variables:
98  * mode: C
99  * c-file-style: "BSD"
100  * c-basic-offset: 4
101  * indent-tabs-mode: nil
102  * End:
103  */
104