[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [MINIOS] Move initialisation of events (masking event channels)
# HG changeset patch # User kfraser@xxxxxxxxxxxxxxxxxxxxx # Node ID e343f1850be0229a6cd5dbcbc71a421f4ecc8906 # Parent 73ef90055339056c6f84aa6da24b61ae748c6302 [MINIOS] Move initialisation of events (masking event channels) earlier during the boot process. Otherwise 64bit guests would sometimes crash. Signed-off-by: Grzegorz Milos <gm281@xxxxxxxxx> --- extras/mini-os/include/x86/os.h | 2 ++ extras/mini-os/kernel.c | 6 +++--- extras/mini-os/mm.c | 7 ++----- 3 files changed, 7 insertions(+), 8 deletions(-) diff -r 73ef90055339 -r e343f1850be0 extras/mini-os/include/x86/os.h --- a/extras/mini-os/include/x86/os.h Thu Nov 16 18:29:06 2006 +0000 +++ b/extras/mini-os/include/x86/os.h Fri Nov 17 09:16:27 2006 +0000 @@ -18,6 +18,8 @@ #ifndef __ASSEMBLY__ #include <types.h> #include <hypervisor.h> + +#define USED __attribute__ ((used)) extern void do_exit(void); #define BUG do_exit diff -r 73ef90055339 -r e343f1850be0 extras/mini-os/kernel.c --- a/extras/mini-os/kernel.c Thu Nov 16 18:29:06 2006 +0000 +++ b/extras/mini-os/kernel.c Fri Nov 17 09:16:27 2006 +0000 @@ -116,6 +116,9 @@ void start_kernel(start_info_t *si) printk(" cmd_line: %s\n", si->cmd_line ? (const char *)si->cmd_line : "NULL"); + /* Set up events. */ + init_events(); + arch_print_info(); setup_xen_features(); @@ -123,9 +126,6 @@ void start_kernel(start_info_t *si) /* Init memory management. */ init_mm(); - /* Set up events. */ - init_events(); - /* Init time and timers. */ init_time(); diff -r 73ef90055339 -r e343f1850be0 extras/mini-os/mm.c --- a/extras/mini-os/mm.c Thu Nov 16 18:29:06 2006 +0000 +++ b/extras/mini-os/mm.c Fri Nov 17 09:16:27 2006 +0000 @@ -148,7 +148,7 @@ static chunk_head_t free_tail[FREELIST_ * Prints allocation[0/1] for @nr_pages, starting at @start * address (virtual). */ -static void print_allocation(void *start, int nr_pages) +USED static void print_allocation(void *start, int nr_pages) { unsigned long pfn_start = virt_to_pfn(start); int count; @@ -163,7 +163,7 @@ static void print_allocation(void *start * Prints chunks (making them with letters) for @nr_pages starting * at @start (virtual). */ -static void print_chunks(void *start, int nr_pages) +USED static void print_chunks(void *start, int nr_pages) { char chunks[1001], current='A'; int order, count; @@ -408,7 +408,6 @@ void new_pt_frame(unsigned long *pt_pfn, do_exit(); break; } - /* Update the entry */ #if defined(__x86_64__) tab = pte_to_virt(tab[l4_table_offset(pt_page)]); @@ -446,7 +445,6 @@ void new_pt_frame(unsigned long *pt_pfn, printk("ERROR: mmu_update failed\n"); do_exit(); } - *pt_pfn += 1; } @@ -581,7 +579,6 @@ void build_pagetable(unsigned long *star } start_address += PAGE_SIZE; } - *start_pfn = pt_pfn; } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |