[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Merge freefall.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-2.0-testing.bk
ChangeSet 1.1334, 2005/03/21 08:22:32+00:00, iap10@xxxxxxxxxxxxxxxxxxxxx Merge freefall.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-2.0-testing.bk into freefall.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-unstable.bk setup.c | 32 ++++++++++++++++++++++++++++---- 1 files changed, 28 insertions(+), 4 deletions(-) diff -Nru a/linux-2.6.11-xen-sparse/arch/xen/i386/kernel/setup.c b/linux-2.6.11-xen-sparse/arch/xen/i386/kernel/setup.c --- a/linux-2.6.11-xen-sparse/arch/xen/i386/kernel/setup.c 2005-03-21 11:03:59 -05:00 +++ b/linux-2.6.11-xen-sparse/arch/xen/i386/kernel/setup.c 2005-03-21 11:03:59 -05:00 @@ -40,6 +40,8 @@ #include <linux/efi.h> #include <linux/init.h> #include <linux/edd.h> +#include <linux/percpu.h> +#include <linux/notifier.h> #include <video/edid.h> #include <asm/e820.h> #include <asm/mpspec.h> @@ -56,6 +58,15 @@ /* Allows setting of maximum possible memory size */ static unsigned long xen_override_max_pfn; +extern struct notifier_block *panic_notifier_list; +static int xen_panic_event(struct notifier_block *, unsigned long, void *); +static struct notifier_block xen_panic_block = { + xen_panic_event, + NULL, + 0 /* try to go last */ +}; + + int disable_pse __initdata = 0; /* @@ -347,11 +358,11 @@ shared_info_t *HYPERVISOR_shared_info = (shared_info_t *)empty_zero_page; EXPORT_SYMBOL(HYPERVISOR_shared_info); -unsigned long *phys_to_machine_mapping, *pfn_to_mfn_frame_list; +unsigned int *phys_to_machine_mapping, *pfn_to_mfn_frame_list; EXPORT_SYMBOL(phys_to_machine_mapping); -multicall_entry_t multicall_list[8]; -int nr_multicall_ents = 0; +DEFINE_PER_CPU(multicall_entry_t, multicall_list[8]); +DEFINE_PER_CPU(int, nr_multicall_ents); /* Raw start-of-day parameters from the hypervisor. */ union xen_start_info_union xen_start_info_union; @@ -1151,7 +1162,7 @@ } #endif - phys_to_machine_mapping = (unsigned long *)xen_start_info.mfn_list; + phys_to_machine_mapping = (unsigned int *)xen_start_info.mfn_list; return max_low_pfn; } @@ -1397,6 +1408,9 @@ if ( panic_timeout == 0 ) panic_timeout = 1; + /* Register a call for panic conditions. */ + notifier_chain_register(&panic_notifier_list, &xen_panic_block); + HYPERVISOR_vm_assist(VMASST_CMD_enable, VMASST_TYPE_4gb_segments); @@ -1609,6 +1623,16 @@ #endif } } + + +static int +xen_panic_event(struct notifier_block *this, unsigned long event, void *ptr) +{ + HYPERVISOR_crash(); + /* we're never actually going to get here... */ + return NOTIFY_DONE; +} + #include "setup_arch_post.h" /* ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |