ia64/xen-unstable

changeset 4130:e76dec027ccb

bitkeeper revision 1.1236.28.4 (423473d0O3r-0SRlX-XuEl-7GMNm2A)

Merge freefall.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-unstable.bk
into freefall.cl.cam.ac.uk:/auto/groups/xeno/users/iap10/xeno-clone/xen-unstable.bk
author iap10@freefall.cl.cam.ac.uk
date Sun Mar 13 17:09:36 2005 +0000 (2005-03-13)
parents abb49ca4cc51 5badd947172d
children fcc50aa20ce4
files linux-2.6.11-xen-sparse/arch/xen/i386/kernel/setup.c
line diff
     1.1 --- a/linux-2.6.11-xen-sparse/arch/xen/i386/kernel/setup.c	Sun Mar 13 14:55:34 2005 +0000
     1.2 +++ b/linux-2.6.11-xen-sparse/arch/xen/i386/kernel/setup.c	Sun Mar 13 17:09:36 2005 +0000
     1.3 @@ -41,6 +41,7 @@
     1.4  #include <linux/init.h>
     1.5  #include <linux/edd.h>
     1.6  #include <linux/percpu.h>
     1.7 +#include <linux/notifier.h>
     1.8  #include <video/edid.h>
     1.9  #include <asm/e820.h>
    1.10  #include <asm/mpspec.h>
    1.11 @@ -57,6 +58,15 @@
    1.12  /* Allows setting of maximum possible memory size  */
    1.13  static unsigned long xen_override_max_pfn;
    1.14  
    1.15 +extern struct notifier_block *panic_notifier_list;
    1.16 +static int xen_panic_event(struct notifier_block *, unsigned long, void *);
    1.17 +static struct notifier_block xen_panic_block = {
    1.18 +	xen_panic_event,
    1.19 +        NULL,
    1.20 +        0 /* try to go last */
    1.21 +};
    1.22 +
    1.23 +
    1.24  int disable_pse __initdata = 0;
    1.25  
    1.26  /*
    1.27 @@ -1398,6 +1408,9 @@ void __init setup_arch(char **cmdline_p)
    1.28  	if ( panic_timeout == 0 )
    1.29  		panic_timeout = 1;
    1.30  
    1.31 +	/* Register a call for panic conditions. */
    1.32 +	notifier_chain_register(&panic_notifier_list, &xen_panic_block);
    1.33 +
    1.34  	HYPERVISOR_vm_assist(VMASST_CMD_enable,
    1.35  			     VMASST_TYPE_4gb_segments);
    1.36  
    1.37 @@ -1598,6 +1611,16 @@ void __init setup_arch(char **cmdline_p)
    1.38  	}
    1.39  }
    1.40  
    1.41 +
    1.42 +static int
    1.43 +xen_panic_event(struct notifier_block *this, unsigned long event, void *ptr)
    1.44 +{
    1.45 +     HYPERVISOR_crash();    
    1.46 +     /* we're never actually going to get here... */
    1.47 +     return NOTIFY_DONE;
    1.48 +}
    1.49 +
    1.50 +
    1.51  #include "setup_arch_post.h"
    1.52  /*
    1.53   * Local Variables: