Rev 1810 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1810 | Rev 1813 | ||
---|---|---|---|
Line 32... | Line 32... | ||
32 | #include <arch/pm.h> |
32 | #include <arch/pm.h> |
33 | 33 | ||
34 | .section __xen_guest |
34 | .section __xen_guest |
35 | .ascii "GUEST_OS=HelenOS," |
35 | .ascii "GUEST_OS=HelenOS," |
36 | .ascii "XEN_VER=xen-3.0," |
36 | .ascii "XEN_VER=xen-3.0," |
37 | .ascii "HYPERCALL_PAGE=0x2," |
37 | .ascii "HYPERCALL_PAGE=0x0002," |
38 | .ascii "LOADER=generic," |
38 | .ascii "LOADER=generic," |
39 | .ascii "PT_MODE_WRITABLE" |
39 | .ascii "PT_MODE_WRITABLE" |
40 | .byte 0 |
40 | .byte 0 |
41 | 41 | ||
42 | .text |
42 | .text |
Line 45... | Line 45... | ||
45 | .align 4 |
45 | .align 4 |
46 | .global kernel_image_start |
46 | .global kernel_image_start |
47 | 47 | ||
48 | kernel_image_start: |
48 | kernel_image_start: |
49 | cld |
49 | cld |
50 | movl $kernel_stack, %esp # initialize stack pointer |
- | |
51 | 50 | ||
- | 51 | # copy start_info (esi initialized by Xen) |
|
- | 52 | ||
- | 53 | movl $start_info, %edi |
|
- | 54 | movl $START_INFO_SIZE >> 2, %ecx |
|
- | 55 | cld |
|
- | 56 | rep movsb |
|
- | 57 | ||
52 | call main_bsp # never returns |
58 | call main_bsp # never returns |
53 | 59 | ||
54 | cli |
60 | cli |
55 | hlt |
61 | hlt |
56 | 62 | ||
57 | .data |
63 | .global hypercall_page |
58 | 64 | ||
59 | .align 4096 |
- | |
60 | page_directory: |
- | |
61 | .space 4096, 0 |
65 | .org (0x0002 * PAGE_SIZE) |
62 | - | ||
63 | kernel_stack_bottom: |
66 | hypercall_page: |
64 | .space TEMP_STACK_SIZE |
67 | .space PAGE_SIZE |
65 | kernel_stack: |
- |