ia64/xen-unstable

changeset 6330:531ad4bde8f2

merge?
author cl349@firebug.cl.cam.ac.uk
date Mon Aug 22 10:21:18 2005 +0000 (2005-08-22)
parents 473af43ac65b d8fd24b43080
children 2052ce3345c1 317db130cbbf
files buildconfigs/Rules.mk linux-2.6-xen-sparse/arch/xen/Kconfig linux-2.6-xen-sparse/arch/xen/configs/xen0_defconfig_x86_32 linux-2.6-xen-sparse/arch/xen/configs/xen0_defconfig_x86_64 linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_x86_32 linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_x86_64 linux-2.6-xen-sparse/arch/xen/configs/xen_defconfig_x86_32 linux-2.6-xen-sparse/arch/xen/configs/xen_defconfig_x86_64 linux-2.6-xen-sparse/arch/xen/i386/kernel/smpboot.c linux-2.6-xen-sparse/arch/xen/i386/pci/Makefile linux-2.6-xen-sparse/arch/xen/kernel/reboot.c linux-2.6-xen-sparse/arch/xen/x86_64/ia32/Makefile linux-2.6-xen-sparse/arch/xen/x86_64/kernel/vsyscall.c linux-2.6-xen-sparse/arch/xen/x86_64/pci/Makefile linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c linux-2.6-xen-sparse/drivers/xen/blkback/common.h linux-2.6-xen-sparse/drivers/xen/blkback/interface.c linux-2.6-xen-sparse/drivers/xen/blkback/xenbus.c linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c xen/include/asm-x86/x86_32/uaccess.h xen/include/public/io/blkif.h
line diff
     1.1 --- a/buildconfigs/Rules.mk	Mon Aug 22 10:20:58 2005 +0000
     1.2 +++ b/buildconfigs/Rules.mk	Mon Aug 22 10:21:18 2005 +0000
     1.3 @@ -66,6 +66,7 @@ pristine-%/.valid-pristine: %.tar.bz2
     1.4  
     1.5  PATCHDIRS := $(wildcard patches/*-*)
     1.6  
     1.7 +ifneq ($(PATCHDIRS),)
     1.8  -include $(patsubst %,%/.makedep,$(PATCHDIRS))
     1.9  
    1.10  $(patsubst patches/%,patches/%/.makedep,$(PATCHDIRS)): patches/%/.makedep: 
    1.11 @@ -80,6 +81,7 @@ ref-%/.valid-ref: pristine-%/.valid-pris
    1.12  	([ -d patches/$* ] && \
    1.13  	  for i in patches/$*/*.patch ; do ( cd $(@D) ; patch -p1 <../$$i || exit 1 ) ; done) || true
    1.14  	touch $@ # update timestamp to avoid rebuild
    1.15 +endif
    1.16  
    1.17  %-build:
    1.18  	$(MAKE) -f buildconfigs/mk.$* build
     2.1 --- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/smpboot.c	Mon Aug 22 10:20:58 2005 +0000
     2.2 +++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/smpboot.c	Mon Aug 22 10:21:18 2005 +0000
     2.3 @@ -923,7 +923,8 @@ static int __init do_boot_cpu(int apicid
     2.4  	ctxt.ctrlreg[3] = virt_to_mfn(swapper_pg_dir) << PAGE_SHIFT;
     2.5  
     2.6  	boot_error = HYPERVISOR_boot_vcpu(cpu, &ctxt);
     2.7 -	printk("boot error: %ld\n", boot_error);
     2.8 +	if (boot_error)
     2.9 +		printk("boot error: %ld\n", boot_error);
    2.10  
    2.11  	if (!boot_error) {
    2.12  		/*
     3.1 --- a/linux-2.6-xen-sparse/arch/xen/i386/pci/Makefile	Mon Aug 22 10:20:58 2005 +0000
     3.2 +++ b/linux-2.6-xen-sparse/arch/xen/i386/pci/Makefile	Mon Aug 22 10:21:18 2005 +0000
     3.3 @@ -17,7 +17,7 @@ l-pci-y				+= irq.o
     3.4  c-pci-$(CONFIG_X86_VISWS)	:= visws.o fixup.o
     3.5  pci-$(CONFIG_X86_VISWS)		:=
     3.6  c-pci-$(CONFIG_X86_NUMAQ)	:= numa.o
     3.7 -pci-$(CONFIG_X86_NUMAQ)		:= irq.o
     3.8 +l-pci-$(CONFIG_X86_NUMAQ)	:= irq.o
     3.9  
    3.10  obj-y				+= $(pci-y)
    3.11  c-obj-y				+= $(c-pci-y) common.o
    3.12 @@ -27,6 +27,7 @@ c-link	:=
    3.13  $(patsubst %.o,$(obj)/%.c,$(c-obj-y) $(c-link)):
    3.14  	@ln -fsn $(srctree)/arch/i386/pci/$(notdir $@) $@
    3.15  
    3.16 -obj-y	+= $(c-obj-y) $(l-pci-y)
    3.17 +# Make sure irq.o gets linked in before common.o
    3.18 +obj-y	+= $(patsubst common.o,$(l-pci-y) common.o,$(c-obj-y))
    3.19  
    3.20  clean-files += $(patsubst %.o,%.c,$(c-obj-y) $(c-obj-) $(c-link))
     4.1 --- a/linux-2.6-xen-sparse/arch/xen/x86_64/ia32/Makefile	Mon Aug 22 10:20:58 2005 +0000
     4.2 +++ b/linux-2.6-xen-sparse/arch/xen/x86_64/ia32/Makefile	Mon Aug 22 10:21:18 2005 +0000
     4.3 @@ -36,8 +36,8 @@ quiet_cmd_syscall = SYSCALL $@
     4.4  	$(call if_changed,syscall)
     4.5  
     4.6  AFLAGS_vsyscall-int80.o = -m32 -I$(obj)
     4.7 -AFLAGS_vsyscall-sysenter.o = -m32
     4.8 -AFLAGS_vsyscall-syscall.o = -m32
     4.9 +AFLAGS_vsyscall-sysenter.o = -m32 -I$(obj)
    4.10 +AFLAGS_vsyscall-syscall.o = -m32 -I$(obj)
    4.11  CFLAGS_ia32_ioctl.o += -Ifs/
    4.12  
    4.13  s-link	:= vsyscall-syscall.o vsyscall-sysenter.o vsyscall-sigreturn.o
    4.14 @@ -48,13 +48,11 @@ s-link	:= vsyscall-syscall.o vsyscall-sy
    4.15  $(patsubst %.o,$(obj)/%.c,$(c-obj-y) $(c-link)) $(patsubst %.o,$(obj)/%.S,$(s-obj-y) $(s-link)):
    4.16  	@ln -fsn $(srctree)/arch/x86_64/ia32/$(notdir $@) $@
    4.17  
    4.18 -$(obj)/vsyscall-int80.S: $(obj)/vsyscall-sigreturn.S ../../i386/kernel/vsyscall-note.S
    4.19 -$(obj)/vsyscall-sysenter.S: $(obj)/vsyscall-sigreturn.S
    4.20 -$(obj)/vsyscall-syscall.S: $(obj)/vsyscall-sigreturn.S
    4.21 +$(obj)/vsyscall-int80.o $(obj)/vsyscall-sysenter.o $(obj)/vsyscall-syscall.o: \
    4.22 +	$(obj)/vsyscall-sigreturn.S $(obj)/../../i386/kernel/vsyscall-note.S
    4.23  
    4.24 -../../i386/kernel/vsyscall-note.S:
    4.25 -	@ln -fsn $(srctree)/arch/i386/kernel/$(notdir $@) $(srctree)/arch/xen/i386/kernel/$(notdir $@)
    4.26 -	make -C arch/xen/i386/kernel vsyscall-note.S
    4.27 +$(obj)/../../i386/kernel/vsyscall-note.S:
    4.28 +	@ln -fsn $(srctree)/arch/i386/kernel/$(notdir $@) $@
    4.29  
    4.30  obj-y	+= $(c-obj-y) $(s-obj-y)
    4.31  
     5.1 --- a/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/vsyscall.c	Mon Aug 22 10:20:58 2005 +0000
     5.2 +++ b/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/vsyscall.c	Mon Aug 22 10:21:18 2005 +0000
     5.3 @@ -210,15 +210,16 @@ static void __init map_vsyscall(void)
     5.4  	__set_fixmap(VSYSCALL_FIRST_PAGE, physaddr_page0, PAGE_KERNEL_VSYSCALL);
     5.5  }
     5.6  
     5.7 -extern void __set_fixmap_user (enum fixed_addresses, unsigned long, pgprot_t);
     5.8 -
     5.9 +#ifdef CONFIG_XEN
    5.10  static void __init map_vsyscall_user(void)
    5.11  {
    5.12 +	extern void __set_fixmap_user(enum fixed_addresses, unsigned long, pgprot_t);
    5.13  	extern char __vsyscall_0;
    5.14  	unsigned long physaddr_page0 = __pa_symbol(&__vsyscall_0);
    5.15  
    5.16  	__set_fixmap_user(VSYSCALL_FIRST_PAGE, physaddr_page0, PAGE_KERNEL_VSYSCALL);
    5.17  }
    5.18 +#endif
    5.19  
    5.20  static int __init vsyscall_init(void)
    5.21  {
    5.22 @@ -227,7 +228,10 @@ static int __init vsyscall_init(void)
    5.23  	BUG_ON((unsigned long) &vtime != VSYSCALL_ADDR(__NR_vtime));
    5.24  	BUG_ON((VSYSCALL_ADDR(0) != __fix_to_virt(VSYSCALL_FIRST_PAGE)));
    5.25  	map_vsyscall();
    5.26 -        map_vsyscall_user();    /* establish tranlation for user address space */
    5.27 +#ifdef CONFIG_XEN
    5.28 +	map_vsyscall_user();
    5.29 +	sysctl_vsyscall = 0; /* disable vgettimeofay() */
    5.30 +#endif
    5.31  #ifdef CONFIG_SYSCTL
    5.32  	register_sysctl_table(kernel_root_table2, 0);
    5.33  #endif
     6.1 --- a/linux-2.6-xen-sparse/arch/xen/x86_64/pci/Makefile	Mon Aug 22 10:20:58 2005 +0000
     6.2 +++ b/linux-2.6-xen-sparse/arch/xen/x86_64/pci/Makefile	Mon Aug 22 10:21:18 2005 +0000
     6.3 @@ -30,8 +30,9 @@ c-link	:=
     6.4  $(patsubst %.o,$(obj)/%.c,$(c-i386-obj-y)):
     6.5  	@ln -fsn $(srctree)/arch/i386/pci/$(notdir $@) $@
     6.6  
     6.7 -obj-y	+= $(c-i386-obj-y) $(c-obj-y)
     6.8 -obj-y	+= $(c-xen-obj-y)
     6.9 +# Make sure irq.o gets linked in before common.o
    6.10 +obj-y	+= $(patsubst common.o,$(c-xen-obj-y) common.o,$(c-i386-obj-y))
    6.11 +obj-y	+= $(c-obj-y)
    6.12  
    6.13  clean-files += $(patsubst %.o,%.c,$(c-obj-y) $(c-obj-) $(c-link))
    6.14  clean-files += $(patsubst %.o,%.c,$(c-i386-obj-y) $(c-i386-obj-))
     7.1 --- a/xen/include/asm-x86/x86_32/uaccess.h	Mon Aug 22 10:20:58 2005 +0000
     7.2 +++ b/xen/include/asm-x86/x86_32/uaccess.h	Mon Aug 22 10:21:18 2005 +0000
     7.3 @@ -22,7 +22,11 @@
     7.4  #define array_access_ok(addr,count,size) \
     7.5      (likely(count < (~0UL/size)) && access_ok(addr,count*size))
     7.6  
     7.7 +/* Undefined function to catch size mismatches on 64-bit get_user/put_user. */
     7.8 +extern void __uaccess_var_not_u64(void);
     7.9 +
    7.10  #define __put_user_u64(x, addr, retval, errret)			\
    7.11 +	if (sizeof(x) != 8) __uaccess_var_not_u64();		\
    7.12  	__asm__ __volatile__(					\
    7.13  		"1:	movl %%eax,0(%2)\n"			\
    7.14  		"2:	movl %%edx,4(%2)\n"			\
    7.15 @@ -52,6 +56,7 @@ do {									\
    7.16  } while (0)
    7.17  
    7.18  #define __get_user_u64(x, addr, retval, errret)			\
    7.19 +	if (sizeof(x) != 8) __uaccess_var_not_u64();		\
    7.20  	__asm__ __volatile__(					\
    7.21  		"1:	movl 0(%2),%%eax\n"			\
    7.22  		"2:	movl 4(%2),%%edx\n"			\