mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 03:13:59 +00:00 
			
		
		
		
	 0341c14da4
			
		
	
	
		0341c14da4
		
	
	
	
	
		
			
			In general, the only definitions that assembly files can use are in _types.S headers (where available), so convert them. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| /* Xen-specific pieces of head.S, intended to be included in the right
 | |
| 	place in head.S */
 | |
| 
 | |
| #ifdef CONFIG_XEN
 | |
| 
 | |
| #include <linux/elfnote.h>
 | |
| #include <linux/init.h>
 | |
| 
 | |
| #include <asm/boot.h>
 | |
| #include <asm/asm.h>
 | |
| #include <asm/page_types.h>
 | |
| 
 | |
| #include <xen/interface/elfnote.h>
 | |
| #include <asm/xen/interface.h>
 | |
| 
 | |
| 	__INIT
 | |
| ENTRY(startup_xen)
 | |
| 	cld
 | |
| #ifdef CONFIG_X86_32
 | |
| 	mov %esi,xen_start_info
 | |
| 	mov $init_thread_union+THREAD_SIZE,%esp
 | |
| #else
 | |
| 	mov %rsi,xen_start_info
 | |
| 	mov $init_thread_union+THREAD_SIZE,%rsp
 | |
| #endif
 | |
| 	jmp xen_start_kernel
 | |
| 
 | |
| 	__FINIT
 | |
| 
 | |
| .pushsection .text
 | |
| 	.align PAGE_SIZE_asm
 | |
| ENTRY(hypercall_page)
 | |
| 	.skip PAGE_SIZE_asm
 | |
| .popsection
 | |
| 
 | |
| 	ELFNOTE(Xen, XEN_ELFNOTE_GUEST_OS,       .asciz "linux")
 | |
| 	ELFNOTE(Xen, XEN_ELFNOTE_GUEST_VERSION,  .asciz "2.6")
 | |
| 	ELFNOTE(Xen, XEN_ELFNOTE_XEN_VERSION,    .asciz "xen-3.0")
 | |
| #ifdef CONFIG_X86_32
 | |
| 	ELFNOTE(Xen, XEN_ELFNOTE_VIRT_BASE,      _ASM_PTR __PAGE_OFFSET)
 | |
| #else
 | |
| 	ELFNOTE(Xen, XEN_ELFNOTE_VIRT_BASE,      _ASM_PTR __START_KERNEL_map)
 | |
| #endif
 | |
| 	ELFNOTE(Xen, XEN_ELFNOTE_ENTRY,          _ASM_PTR startup_xen)
 | |
| 	ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, _ASM_PTR hypercall_page)
 | |
| 	ELFNOTE(Xen, XEN_ELFNOTE_FEATURES,       .asciz "!writable_page_tables|pae_pgdir_above_4gb")
 | |
| 	ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE,       .asciz "yes")
 | |
| 	ELFNOTE(Xen, XEN_ELFNOTE_LOADER,         .asciz "generic")
 | |
| 	ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID,
 | |
| 		.quad _PAGE_PRESENT; .quad _PAGE_PRESENT)
 | |
| 	ELFNOTE(Xen, XEN_ELFNOTE_SUSPEND_CANCEL, .long 1)
 | |
| 	ELFNOTE(Xen, XEN_ELFNOTE_HV_START_LOW,   _ASM_PTR __HYPERVISOR_VIRT_START)
 | |
| 	ELFNOTE(Xen, XEN_ELFNOTE_PADDR_OFFSET,   _ASM_PTR 0)
 | |
| 
 | |
| #endif /*CONFIG_XEN */
 |