 5882bfef63
			
		
	
	
	5882bfef63
	
	
	
		
			
			Currently, Xen is initialized/discovered in an initcall. This doesn't
allow us to support earlyprintk or choosing the preferred console when
running on Xen.
The current function xen_guest_init is now split in 2 parts:
    - xen_early_init: Check if there is a Xen node in the device tree
    and setup domain type
    - xen_guest_init: Retrieve the information from the device node and
    initialize Xen (grant table, shared page...)
The former is called in setup_arch, while the latter is an initcall.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Will Deacon <will.deacon@arm.com>
		
	
			
		
			
				
	
	
		
			29 lines
		
	
	
	
		
			631 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			631 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef _ASM_ARM_XEN_HYPERVISOR_H
 | |
| #define _ASM_ARM_XEN_HYPERVISOR_H
 | |
| 
 | |
| #include <linux/init.h>
 | |
| 
 | |
| extern struct shared_info *HYPERVISOR_shared_info;
 | |
| extern struct start_info *xen_start_info;
 | |
| 
 | |
| /* Lazy mode for batching updates / context switch */
 | |
| enum paravirt_lazy_mode {
 | |
| 	PARAVIRT_LAZY_NONE,
 | |
| 	PARAVIRT_LAZY_MMU,
 | |
| 	PARAVIRT_LAZY_CPU,
 | |
| };
 | |
| 
 | |
| static inline enum paravirt_lazy_mode paravirt_get_lazy_mode(void)
 | |
| {
 | |
| 	return PARAVIRT_LAZY_NONE;
 | |
| }
 | |
| 
 | |
| extern struct dma_map_ops *xen_dma_ops;
 | |
| 
 | |
| #ifdef CONFIG_XEN
 | |
| void __init xen_early_init(void);
 | |
| #else
 | |
| static inline void xen_early_init(void) { return; }
 | |
| #endif
 | |
| 
 | |
| #endif /* _ASM_ARM_XEN_HYPERVISOR_H */
 |