1 #ifndef __X86_SETUP_H_ 2 #define __X86_SETUP_H_ 3 4 #include <xen/multiboot.h> 5 #include <asm/numa.h> 6 7 extern const char __2M_text_start[], __2M_text_end[]; 8 extern const char __2M_rodata_start[], __2M_rodata_end[]; 9 extern char __2M_init_start[], __2M_init_end[]; 10 extern char __2M_rwdata_start[], __2M_rwdata_end[]; 11 12 extern unsigned long xenheap_initial_phys_start; 13 extern uint64_t boot_tsc_stamp; 14 15 extern void *stack_start; 16 extern unsigned int multiboot_ptr; 17 18 void early_cpu_init(bool verbose); 19 void early_time_init(void); 20 21 void set_nr_cpu_ids(unsigned int max_cpus); 22 23 void arch_init_memory(void); 24 void subarch_init_memory(void); 25 26 void init_IRQ(void); 27 28 struct boot_domain; 29 int construct_dom0(const struct boot_domain *bd); 30 31 void setup_io_bitmap(struct domain *d); 32 33 extern struct boot_info xen_boot_info; 34 35 unsigned long initial_images_nrpages(nodeid_t node); 36 void free_boot_modules(void); 37 38 struct boot_module; 39 void *bootstrap_map_bm(const struct boot_module *bm); 40 void bootstrap_unmap(void); 41 42 void release_boot_module(struct boot_module *bm); 43 44 struct rangeset; 45 int remove_xen_ranges(struct rangeset *r); 46 47 int cf_check stub_selftest(void); 48 49 #ifdef NDEBUG 50 # define highmem_start 0 51 #else 52 extern unsigned long highmem_start; 53 #endif 54 55 extern unsigned int i8259A_alias_mask; 56 extern unsigned int pit_alias_mask; 57 58 extern int8_t opt_smt; 59 extern int8_t opt_probe_port_aliases; 60 61 #ifdef CONFIG_SHADOW_PAGING 62 extern bool opt_dom0_shadow; 63 #else 64 #define opt_dom0_shadow false 65 #endif 66 extern bool opt_dom0_pvh; 67 extern bool opt_dom0_verbose; 68 extern bool opt_dom0_cpuid_faulting; 69 extern bool opt_dom0_msr_relaxed; 70 71 #define max_init_domid (0) 72 73 #endif 74