ia64/xen-unstable

changeset 6432:b54144915ae6

merge?
author cl349@firebug.cl.cam.ac.uk
date Thu Aug 25 16:26:30 2005 +0000 (2005-08-25)
parents 4f73a7bde7b1 b88c5350de57
children 0610add7c3fe
files Config.mk linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_x86_64 linux-2.6-xen-sparse/arch/xen/i386/kernel/cpu/common.c linux-2.6-xen-sparse/arch/xen/i386/kernel/smpboot.c linux-2.6-xen-sparse/arch/xen/i386/kernel/traps.c linux-2.6-xen-sparse/arch/xen/kernel/gnttab.c linux-2.6-xen-sparse/arch/xen/kernel/reboot.c linux-2.6-xen-sparse/arch/xen/x86_64/ia32/syscall32.c linux-2.6-xen-sparse/arch/xen/x86_64/kernel/early_printk.c linux-2.6-xen-sparse/arch/xen/x86_64/kernel/head.S linux-2.6-xen-sparse/arch/xen/x86_64/kernel/head64.c linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup.c linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup64.c linux-2.6-xen-sparse/arch/xen/x86_64/kernel/smpboot.c linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c linux-2.6-xen-sparse/drivers/xen/blkback/xenbus.c linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c linux-2.6-xen-sparse/drivers/xen/blkfront/block.h linux-2.6-xen-sparse/drivers/xen/console/console.c linux-2.6-xen-sparse/drivers/xen/netback/Makefile linux-2.6-xen-sparse/drivers/xen/netback/common.h linux-2.6-xen-sparse/drivers/xen/netback/interface.c linux-2.6-xen-sparse/drivers/xen/netback/netback.c linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c linux-2.6-xen-sparse/include/asm-xen/asm-i386/mach-xen/setup_arch_post.h linux-2.6-xen-sparse/include/asm-xen/asm-i386/page.h linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/page.h linux-2.6-xen-sparse/include/asm-xen/gnttab.h tools/blktap/blktaplib.h tools/blktap/parallax/block-async.h tools/blktap/parallax/blockstore.h tools/console/Makefile tools/console/client/main.c tools/console/daemon/io.c tools/console/daemon/main.c tools/console/daemon/utils.c tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/linux-xen-low.c tools/debugger/libxendebug/Makefile tools/debugger/libxendebug/xendebug.c tools/debugger/libxendebug/xendebug.h tools/debugger/pdb/pdb_caml_domain.c tools/debugger/pdb/pdb_caml_evtchn.c tools/debugger/pdb/pdb_caml_process.c tools/debugger/pdb/pdb_caml_xc.c tools/debugger/pdb/pdb_caml_xcs.c tools/debugger/pdb/pdb_xen.c tools/examples/README tools/examples/vif-bridge tools/firmware/acpi/acpi2_0.h tools/ioemu/hw/i8254.c tools/ioemu/hw/i8259.c tools/ioemu/hw/ioapic.h tools/ioemu/target-i386-dm/Makefile tools/ioemu/target-i386-dm/helper2.c tools/ioemu/vl.c tools/libxc/Makefile tools/libxc/xc_core.c tools/libxc/xc_domain.c tools/libxc/xc_linux_build.c tools/libxc/xc_linux_restore.c tools/libxc/xc_linux_save.c tools/libxc/xc_load_aout9.c tools/libxc/xc_load_bin.c tools/libxc/xc_load_elf.c tools/libxc/xc_private.c tools/libxc/xc_private.h tools/libxc/xc_vmx_build.c tools/libxc/xenctrl.h tools/libxc/xenguest.h tools/libxc/xg_private.c tools/libxc/xg_private.h tools/misc/Makefile tools/misc/cpuperf/Makefile tools/misc/cpuperf/cpuperf_xeno.h tools/misc/xc_shadow.c tools/misc/xenperf.c tools/python/setup.py tools/python/xen/lowlevel/xc/xc.c tools/python/xen/lowlevel/xu/xu.c tools/python/xen/xend/XendDomainInfo.py tools/python/xen/xm/main.py tools/xcs/Makefile tools/xcs/dump.h tools/xcs/xcs.h tools/xcs/xcsdump.c tools/xcutils/Makefile tools/xcutils/xc_restore.c tools/xcutils/xc_save.c tools/xenstore/Makefile tools/xenstore/xs_dom0_test.c tools/xenstore/xs_lib.h tools/xentrace/Makefile tools/xentrace/xenctx.c xen/arch/x86/cpu/amd.c xen/arch/x86/mm.c xen/arch/x86/x86_64/mm.c
line diff
     1.1 --- a/linux-2.6-xen-sparse/include/asm-xen/asm-i386/page.h	Thu Aug 25 16:24:51 2005 +0000
     1.2 +++ b/linux-2.6-xen-sparse/include/asm-xen/asm-i386/page.h	Thu Aug 25 16:26:30 2005 +0000
     1.3 @@ -65,8 +65,26 @@
     1.4  extern unsigned int *phys_to_machine_mapping;
     1.5  #define pfn_to_mfn(pfn)	\
     1.6  ((unsigned long)phys_to_machine_mapping[(unsigned int)(pfn)] & 0x7FFFFFFFUL)
     1.7 -#define mfn_to_pfn(mfn)	\
     1.8 -((unsigned long)machine_to_phys_mapping[(unsigned int)(mfn)])
     1.9 +static inline unsigned long mfn_to_pfn(unsigned long mfn)
    1.10 +{
    1.11 +	unsigned int pfn;
    1.12 +
    1.13 +	/*
    1.14 +	 * The array access can fail (e.g., device space beyond end of RAM).
    1.15 +	 * In such cases it doesn't matter what we return (we return garbage),
    1.16 +	 * but we must handle the fault without crashing!
    1.17 +	 */
    1.18 +	asm (
    1.19 +		"1:	movl %1,%0\n"
    1.20 +		"2:\n"
    1.21 +		".section __ex_table,\"a\"\n"
    1.22 +		"	.align 4\n"
    1.23 +		"	.long 1b,2b\n"
    1.24 +		".previous"
    1.25 +		: "=r" (pfn) : "m" (machine_to_phys_mapping[mfn]) );
    1.26 +
    1.27 +	return (unsigned long)pfn;
    1.28 +}
    1.29  
    1.30  /* Definitions for machine and pseudophysical addresses. */
    1.31  #ifdef CONFIG_X86_PAE
     2.1 --- a/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/page.h	Thu Aug 25 16:24:51 2005 +0000
     2.2 +++ b/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/page.h	Thu Aug 25 16:26:30 2005 +0000
     2.3 @@ -67,8 +67,26 @@ void copy_page(void *, void *);
     2.4  extern u32 *phys_to_machine_mapping;
     2.5  #define pfn_to_mfn(pfn)	\
     2.6  ((unsigned long)phys_to_machine_mapping[(unsigned int)(pfn)] & 0x7FFFFFFFUL)
     2.7 -#define mfn_to_pfn(mfn)	\
     2.8 -((unsigned long)machine_to_phys_mapping[(unsigned int)(mfn)])
     2.9 +static inline unsigned long mfn_to_pfn(unsigned long mfn)
    2.10 +{
    2.11 +	unsigned int pfn;
    2.12 +
    2.13 +	/*
    2.14 +	 * The array access can fail (e.g., device space beyond end of RAM).
    2.15 +	 * In such cases it doesn't matter what we return (we return garbage),
    2.16 +	 * but we must handle the fault without crashing!
    2.17 +	 */
    2.18 +	asm (
    2.19 +		"1:	movl %1,%k0\n"
    2.20 +		"2:\n"
    2.21 +		".section __ex_table,\"a\"\n"
    2.22 +		"	.align 8\n"
    2.23 +		"	.quad 1b,2b\n"
    2.24 +		".previous"
    2.25 +		: "=r" (pfn) : "m" (machine_to_phys_mapping[mfn]) );
    2.26 +
    2.27 +	return (unsigned long)pfn;
    2.28 +}
    2.29  
    2.30  /* Definitions for machine and pseudophysical addresses. */
    2.31  typedef unsigned long paddr_t;
     3.1 --- a/tools/examples/vif-bridge	Thu Aug 25 16:24:51 2005 +0000
     3.2 +++ b/tools/examples/vif-bridge	Thu Aug 25 16:26:30 2005 +0000
     3.3 @@ -74,8 +74,10 @@ if [ "${bridge}" == "null" ] ; then
     3.4      exit
     3.5  fi
     3.6  
     3.7 -# Add/remove vif to/from bridge.
     3.8 -brctl ${brcmd} ${bridge} ${vif}
     3.9 +# Add vif to bridge. vifs are auto-removed from bridge.
    3.10 +if [ "${brcmd}" == "addif" ] ; then
    3.11 +    brctl ${brcmd} ${bridge} ${vif}
    3.12 +fi
    3.13  ifconfig ${vif} $OP
    3.14  
    3.15  if [ ${ip} ] ; then
     4.1 --- a/xen/arch/x86/x86_64/mm.c	Thu Aug 25 16:24:51 2005 +0000
     4.2 +++ b/xen/arch/x86/x86_64/mm.c	Thu Aug 25 16:26:30 2005 +0000
     4.3 @@ -98,7 +98,7 @@ void __init paging_init(void)
     4.4       * Allocate and map the machine-to-phys table.
     4.5       * This also ensures L3 is present for fixmaps.
     4.6       */
     4.7 -    for ( i = 0; i < max_page; i += ((1UL << L2_PAGETABLE_SHIFT) / 8) )
     4.8 +    for ( i = 0; i < max_page; i += ((1UL << L2_PAGETABLE_SHIFT) / 4) )
     4.9      {
    4.10          pg = alloc_domheap_pages(NULL, PAGETABLE_ORDER, 0);
    4.11          if ( pg == NULL )