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
     9.1 --- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/smpboot.c	Mon Aug 22 10:20:58 2005 +0000
     9.2 +++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/smpboot.c	Mon Aug 22 10:21:18 2005 +0000
     9.3 @@ -923,7 +923,8 @@ static int __init do_boot_cpu(int apicid
     9.4  	ctxt.ctrlreg[3] = virt_to_mfn(swapper_pg_dir) << PAGE_SHIFT;
     9.5  
     9.6  	boot_error = HYPERVISOR_boot_vcpu(cpu, &ctxt);
     9.7 -	printk("boot error: %ld\n", boot_error);
     9.8 +	if (boot_error)
     9.9 +		printk("boot error: %ld\n", boot_error);
    9.10  
    9.11  	if (!boot_error) {
    9.12  		/*
    10.1 --- a/linux-2.6-xen-sparse/arch/xen/i386/pci/Makefile	Mon Aug 22 10:20:58 2005 +0000
    10.2 +++ b/linux-2.6-xen-sparse/arch/xen/i386/pci/Makefile	Mon Aug 22 10:21:18 2005 +0000
    10.3 @@ -17,7 +17,7 @@ l-pci-y				+= irq.o
    10.4  c-pci-$(CONFIG_X86_VISWS)	:= visws.o fixup.o
    10.5  pci-$(CONFIG_X86_VISWS)		:=
    10.6  c-pci-$(CONFIG_X86_NUMAQ)	:= numa.o
    10.7 -pci-$(CONFIG_X86_NUMAQ)		:= irq.o
    10.8 +l-pci-$(CONFIG_X86_NUMAQ)	:= irq.o
    10.9  
   10.10  obj-y				+= $(pci-y)
   10.11  c-obj-y				+= $(c-pci-y) common.o
   10.12 @@ -27,6 +27,7 @@ c-link	:=
   10.13  $(patsubst %.o,$(obj)/%.c,$(c-obj-y) $(c-link)):
   10.14  	@ln -fsn $(srctree)/arch/i386/pci/$(notdir $@) $@
   10.15  
   10.16 -obj-y	+= $(c-obj-y) $(l-pci-y)
   10.17 +# Make sure irq.o gets linked in before common.o
   10.18 +obj-y	+= $(patsubst common.o,$(l-pci-y) common.o,$(c-obj-y))
   10.19  
   10.20  clean-files += $(patsubst %.o,%.c,$(c-obj-y) $(c-obj-) $(c-link))
    12.1 --- a/linux-2.6-xen-sparse/arch/xen/x86_64/ia32/Makefile	Mon Aug 22 10:20:58 2005 +0000
    12.2 +++ b/linux-2.6-xen-sparse/arch/xen/x86_64/ia32/Makefile	Mon Aug 22 10:21:18 2005 +0000
    12.3 @@ -36,8 +36,8 @@ quiet_cmd_syscall = SYSCALL $@
    12.4  	$(call if_changed,syscall)
    12.5  
    12.6  AFLAGS_vsyscall-int80.o = -m32 -I$(obj)
    12.7 -AFLAGS_vsyscall-sysenter.o = -m32
    12.8 -AFLAGS_vsyscall-syscall.o = -m32
    12.9 +AFLAGS_vsyscall-sysenter.o = -m32 -I$(obj)
   12.10 +AFLAGS_vsyscall-syscall.o = -m32 -I$(obj)
   12.11  CFLAGS_ia32_ioctl.o += -Ifs/
   12.12  
   12.13  s-link	:= vsyscall-syscall.o vsyscall-sysenter.o vsyscall-sigreturn.o
   12.14 @@ -48,13 +48,11 @@ s-link	:= vsyscall-syscall.o vsyscall-sy
   12.15  $(patsubst %.o,$(obj)/%.c,$(c-obj-y) $(c-link)) $(patsubst %.o,$(obj)/%.S,$(s-obj-y) $(s-link)):
   12.16  	@ln -fsn $(srctree)/arch/x86_64/ia32/$(notdir $@) $@
   12.17  
   12.18 -$(obj)/vsyscall-int80.S: $(obj)/vsyscall-sigreturn.S ../../i386/kernel/vsyscall-note.S
   12.19 -$(obj)/vsyscall-sysenter.S: $(obj)/vsyscall-sigreturn.S
   12.20 -$(obj)/vsyscall-syscall.S: $(obj)/vsyscall-sigreturn.S
   12.21 +$(obj)/vsyscall-int80.o $(obj)/vsyscall-sysenter.o $(obj)/vsyscall-syscall.o: \
   12.22 +	$(obj)/vsyscall-sigreturn.S $(obj)/../../i386/kernel/vsyscall-note.S
   12.23  
   12.24 -../../i386/kernel/vsyscall-note.S:
   12.25 -	@ln -fsn $(srctree)/arch/i386/kernel/$(notdir $@) $(srctree)/arch/xen/i386/kernel/$(notdir $@)
   12.26 -	make -C arch/xen/i386/kernel vsyscall-note.S
   12.27 +$(obj)/../../i386/kernel/vsyscall-note.S:
   12.28 +	@ln -fsn $(srctree)/arch/i386/kernel/$(notdir $@) $@
   12.29  
   12.30  obj-y	+= $(c-obj-y) $(s-obj-y)
   12.31  
    13.1 --- a/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/vsyscall.c	Mon Aug 22 10:20:58 2005 +0000
    13.2 +++ b/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/vsyscall.c	Mon Aug 22 10:21:18 2005 +0000
    13.3 @@ -210,15 +210,16 @@ static void __init map_vsyscall(void)
    13.4  	__set_fixmap(VSYSCALL_FIRST_PAGE, physaddr_page0, PAGE_KERNEL_VSYSCALL);
    13.5  }
    13.6  
    13.7 -extern void __set_fixmap_user (enum fixed_addresses, unsigned long, pgprot_t);
    13.8 -
    13.9 +#ifdef CONFIG_XEN
   13.10  static void __init map_vsyscall_user(void)
   13.11  {
   13.12 +	extern void __set_fixmap_user(enum fixed_addresses, unsigned long, pgprot_t);
   13.13  	extern char __vsyscall_0;
   13.14  	unsigned long physaddr_page0 = __pa_symbol(&__vsyscall_0);
   13.15  
   13.16  	__set_fixmap_user(VSYSCALL_FIRST_PAGE, physaddr_page0, PAGE_KERNEL_VSYSCALL);
   13.17  }
   13.18 +#endif
   13.19  
   13.20  static int __init vsyscall_init(void)
   13.21  {
   13.22 @@ -227,7 +228,10 @@ static int __init vsyscall_init(void)
   13.23  	BUG_ON((unsigned long) &vtime != VSYSCALL_ADDR(__NR_vtime));
   13.24  	BUG_ON((VSYSCALL_ADDR(0) != __fix_to_virt(VSYSCALL_FIRST_PAGE)));
   13.25  	map_vsyscall();
   13.26 -        map_vsyscall_user();    /* establish tranlation for user address space */
   13.27 +#ifdef CONFIG_XEN
   13.28 +	map_vsyscall_user();
   13.29 +	sysctl_vsyscall = 0; /* disable vgettimeofay() */
   13.30 +#endif
   13.31  #ifdef CONFIG_SYSCTL
   13.32  	register_sysctl_table(kernel_root_table2, 0);
   13.33  #endif
    14.1 --- a/linux-2.6-xen-sparse/arch/xen/x86_64/pci/Makefile	Mon Aug 22 10:20:58 2005 +0000
    14.2 +++ b/linux-2.6-xen-sparse/arch/xen/x86_64/pci/Makefile	Mon Aug 22 10:21:18 2005 +0000
    14.3 @@ -30,8 +30,9 @@ c-link	:=
    14.4  $(patsubst %.o,$(obj)/%.c,$(c-i386-obj-y)):
    14.5  	@ln -fsn $(srctree)/arch/i386/pci/$(notdir $@) $@
    14.6  
    14.7 -obj-y	+= $(c-i386-obj-y) $(c-obj-y)
    14.8 -obj-y	+= $(c-xen-obj-y)
    14.9 +# Make sure irq.o gets linked in before common.o
   14.10 +obj-y	+= $(patsubst common.o,$(c-xen-obj-y) common.o,$(c-i386-obj-y))
   14.11 +obj-y	+= $(c-obj-y)
   14.12  
   14.13  clean-files += $(patsubst %.o,%.c,$(c-obj-y) $(c-obj-) $(c-link))
   14.14  clean-files += $(patsubst %.o,%.c,$(c-i386-obj-y) $(c-i386-obj-))
    20.1 --- a/xen/include/asm-x86/x86_32/uaccess.h	Mon Aug 22 10:20:58 2005 +0000
    20.2 +++ b/xen/include/asm-x86/x86_32/uaccess.h	Mon Aug 22 10:21:18 2005 +0000
    20.3 @@ -22,7 +22,11 @@
    20.4  #define array_access_ok(addr,count,size) \
    20.5      (likely(count < (~0UL/size)) && access_ok(addr,count*size))
    20.6  
    20.7 +/* Undefined function to catch size mismatches on 64-bit get_user/put_user. */
    20.8 +extern void __uaccess_var_not_u64(void);
    20.9 +
   20.10  #define __put_user_u64(x, addr, retval, errret)			\
   20.11 +	if (sizeof(x) != 8) __uaccess_var_not_u64();		\
   20.12  	__asm__ __volatile__(					\
   20.13  		"1:	movl %%eax,0(%2)\n"			\
   20.14  		"2:	movl %%edx,4(%2)\n"			\
   20.15 @@ -52,6 +56,7 @@ do {									\
   20.16  } while (0)
   20.17  
   20.18  #define __get_user_u64(x, addr, retval, errret)			\
   20.19 +	if (sizeof(x) != 8) __uaccess_var_not_u64();		\
   20.20  	__asm__ __volatile__(					\
   20.21  		"1:	movl 0(%2),%%eax\n"			\
   20.22  		"2:	movl 4(%2),%%edx\n"			\