]>
Commit | Line | Data |
---|---|---|
5ead97c8 JF |
1 | /* Xen-specific pieces of head.S, intended to be included in the right |
2 | place in head.S */ | |
3 | ||
4 | #ifdef CONFIG_XEN | |
5 | ||
6 | #include <linux/elfnote.h> | |
08b6d290 | 7 | #include <linux/init.h> |
5ead97c8 JF |
8 | #include <asm/boot.h> |
9 | #include <xen/interface/elfnote.h> | |
10 | ||
08b6d290 | 11 | __INIT |
5ead97c8 JF |
12 | ENTRY(startup_xen) |
13 | movl %esi,xen_start_info | |
14 | cld | |
15 | movl $(init_thread_union+THREAD_SIZE),%esp | |
16 | jmp xen_start_kernel | |
08b6d290 SR |
17 | |
18 | __FINIT | |
5ead97c8 | 19 | |
ebb9cfe2 | 20 | .pushsection .text |
5ead97c8 JF |
21 | .align PAGE_SIZE_asm |
22 | ENTRY(hypercall_page) | |
23 | .skip 0x1000 | |
24 | .popsection | |
25 | ||
26 | ELFNOTE(Xen, XEN_ELFNOTE_GUEST_OS, .asciz "linux") | |
27 | ELFNOTE(Xen, XEN_ELFNOTE_GUEST_VERSION, .asciz "2.6") | |
28 | ELFNOTE(Xen, XEN_ELFNOTE_XEN_VERSION, .asciz "xen-3.0") | |
29 | ELFNOTE(Xen, XEN_ELFNOTE_VIRT_BASE, .long __PAGE_OFFSET) | |
30 | ELFNOTE(Xen, XEN_ELFNOTE_ENTRY, .long startup_xen) | |
31 | ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, .long hypercall_page) | |
32 | ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz "!writable_page_tables|pae_pgdir_above_4gb") | |
5ead97c8 | 33 | ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE, .asciz "yes") |
5ead97c8 JF |
34 | ELFNOTE(Xen, XEN_ELFNOTE_LOADER, .asciz "generic") |
35 | ||
36 | #endif /*CONFIG_XEN */ |