Rev 1952 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1952 | Rev 2014 | ||
---|---|---|---|
Line 28... | Line 28... | ||
28 | 28 | ||
29 | #include <arch/boot/boot.h> |
29 | #include <arch/boot/boot.h> |
30 | #include <arch/mm/page.h> |
30 | #include <arch/mm/page.h> |
31 | #include <arch/pm.h> |
31 | #include <arch/pm.h> |
32 | 32 | ||
- | 33 | #define ELFNOTE(name, type, desctype, descval) \ |
|
33 | .section __xen_guest |
34 | .section .note.name; \ |
- | 35 | .align 4; \ |
|
34 | .ascii "GUEST_OS=HelenOS," |
36 | .long 2f - 1f; \ |
35 | .ascii "XEN_VER=xen-3.0," |
37 | .long 4f - 3f; \ |
36 | .ascii "HYPERCALL_PAGE=0x0000," |
38 | .long type; \ |
37 | .ascii "LOADER=generic," |
39 | 1:.asciz #name; \ |
- | 40 | 2:.align 4; \ |
|
38 | .ascii "FEATURES=writable_page_tables" |
41 | 3:desctype descval; \ |
39 | .byte 0 |
42 | 4:.align 4 |
- | 43 | ||
- | 44 | ELFNOTE(Xen, XEN_ELFNOTE_GUEST_OS, .asciz, "HelenOS") |
|
- | 45 | ELFNOTE(Xen, XEN_ELFNOTE_GUEST_VERSION, .asciz, RELEASE) |
|
- | 46 | ELFNOTE(Xen, XEN_ELFNOTE_XEN_VERSION, .asciz, "xen-3.0") |
|
- | 47 | ELFNOTE(Xen, XEN_ELFNOTE_VIRT_BASE, .long, PA2KA(BOOT_OFFSET)) |
|
- | 48 | ELFNOTE(Xen, XEN_ELFNOTE_PADDR_OFFSET, .long, 0) |
|
- | 49 | ELFNOTE(Xen, XEN_ELFNOTE_ENTRY, .long, kernel_image_start) |
|
- | 50 | ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, .long, hypercall_page) |
|
- | 51 | ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, "writable_page_tables|writable_descriptor_tables|auto_translated_physmap|supervisor_mode_kernel") |
|
- | 52 | ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE, .asciz, "no") |
|
- | 53 | ELFNOTE(Xen, XEN_ELFNOTE_LOADER, .asciz, "generic") |
|
40 | 54 | ||
41 | .text |
55 | .text |
42 | 56 | ||
43 | .code32 |
57 | .code32 |
44 | .align 4 |
58 | .align 4 |
Line 79... | Line 93... | ||
79 | 93 | ||
80 | .global console_page |
94 | .global console_page |
81 | .org 0x2000 |
95 | .org 0x2000 |
82 | console_page: |
96 | console_page: |
83 | .space PAGE_SIZE |
97 | .space PAGE_SIZE |
- | 98 | ||
- | 99 | # Xen 3.0.3 ELF loader is somehow buggy |
|
- | 100 | # thus this workaround |
|
- | 101 | .global dummy_fill |
|
- | 102 | dummy_fill: |
|
- | 103 | .space (1024 * 1024) |