- Timestamp:
- 2006-12-07T18:32:59Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f8ddd17
- Parents:
- 9d8b8435
- Location:
- kernel/arch/ia32xen
- Files:
-
- 3 edited
-
_link.ld.in (modified) (2 diffs)
-
include/boot/boot.h (modified) (1 diff)
-
src/boot/boot.S (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32xen/_link.ld.in
r9d8b8435 r9ab9c2ec 8 8 ENTRY(kernel_image_start) 9 9 10 PHDRS { 11 image PT_LOAD FLAGS(7); /* RWE */ 12 note PT_NOTE FLAGS(4); /* R__ */ 13 } 14 10 15 SECTIONS { 11 __xen_guest : { 12 *(__xen_guest); 13 } 14 15 .image PA2KA(BOOT_OFFSET): { 16 .image PA2KA(BOOT_OFFSET): AT (BOOT_OFFSET) { 16 17 ktext_start = .; 17 18 *(K_TEXT_START); … … 33 34 *(.bss); /* uninitialized static variables */ 34 35 kdata_end = .; 35 } 36 } :image 37 38 .notes : { 39 *(.note.Xen); 40 } :note 36 41 37 42 /DISCARD/ : { -
kernel/arch/ia32xen/include/boot/boot.h
r9d8b8435 r9ab9c2ec 45 45 #define XEN_VIRT_START 0xFC000000 46 46 #define XEN_CS 0xe019 47 48 #define XEN_ELFNOTE_INFO 0 49 #define XEN_ELFNOTE_ENTRY 1 50 #define XEN_ELFNOTE_HYPERCALL_PAGE 2 51 #define XEN_ELFNOTE_VIRT_BASE 3 52 #define XEN_ELFNOTE_PADDR_OFFSET 4 53 #define XEN_ELFNOTE_XEN_VERSION 5 54 #define XEN_ELFNOTE_GUEST_OS 6 55 #define XEN_ELFNOTE_GUEST_VERSION 7 56 #define XEN_ELFNOTE_LOADER 8 57 #define XEN_ELFNOTE_PAE_MODE 9 58 #define XEN_ELFNOTE_FEATURES 10 59 #define XEN_ELFNOTE_BSD_SYMTAB 11 47 60 48 61 #ifndef __ASM__ -
kernel/arch/ia32xen/src/boot/boot.S
r9d8b8435 r9ab9c2ec 31 31 #include <arch/pm.h> 32 32 33 .section __xen_guest 34 .ascii "GUEST_OS=HelenOS," 35 .ascii "XEN_VER=xen-3.0," 36 .ascii "HYPERCALL_PAGE=0x0000," 37 .ascii "LOADER=generic," 38 .ascii "FEATURES=writable_page_tables" 39 .byte 0 33 #define ELFNOTE(name, type, desctype, descval) \ 34 .section .note.name; \ 35 .align 4; \ 36 .long 2f - 1f; \ 37 .long 4f - 3f; \ 38 .long type; \ 39 1:.asciz #name; \ 40 2:.align 4; \ 41 3:desctype descval; \ 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 55 .text … … 82 96 console_page: 83 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)
Note:
See TracChangeset
for help on using the changeset viewer.
