/trunk/kernel/arch/xen32/src/xen32.c |
---|
55,6 → 55,7 |
#include <arch/bios/bios.h> |
#include <arch/boot/boot.h> |
#include <arch/mm/memory_init.h> |
#include <interrupt.h> |
#include <arch/debugger.h> |
62,6 → 63,8 |
#include <syscall/syscall.h> |
#include <console/console.h> |
start_info_t start_info; |
void arch_pre_mm_init(void) |
{ |
// pm_init(); |
/trunk/kernel/arch/xen32/src/boot/boot.S |
---|
34,7 → 34,7 |
.section __xen_guest |
.ascii "GUEST_OS=HelenOS," |
.ascii "XEN_VER=xen-3.0," |
.ascii "HYPERCALL_PAGE=0x2," |
.ascii "HYPERCALL_PAGE=0x0002," |
.ascii "LOADER=generic," |
.ascii "PT_MODE_WRITABLE" |
.byte 0 |
47,19 → 47,21 |
kernel_image_start: |
cld |
movl $kernel_stack, %esp # initialize stack pointer |
# copy start_info (esi initialized by Xen) |
movl $start_info, %edi |
movl $START_INFO_SIZE >> 2, %ecx |
cld |
rep movsb |
call main_bsp # never returns |
cli |
hlt |
.data |
.global hypercall_page |
.align 4096 |
page_directory: |
.space 4096, 0 |
kernel_stack_bottom: |
.space TEMP_STACK_SIZE |
kernel_stack: |
.org (0x0002 * PAGE_SIZE) |
hypercall_page: |
.space PAGE_SIZE |
/trunk/kernel/arch/xen32/src/mm/memory_init.c |
---|
34,11 → 34,12 |
#include <arch/mm/memory_init.h> |
#include <arch/mm/page.h> |
#include <arch/boot/boot.h> |
#include <print.h> |
size_t get_memory_size(void) |
{ |
return 0; |
return start_info.nr_pages * PAGE_SIZE; |
} |
void memory_print_map(void) |