# HG changeset patch
# User cl349@xxxxxxxxxxxxxxxxxxxx
# Node ID 531ad4bde8f249c318588f41bdbb72d0b0e0ea9c
# Parent 473af43ac65b1a872b058469d01acc6cfa21505d
# Parent d8fd24b4308078f6d20aa8a306e540c5833ca5a2
merge?
diff -r 473af43ac65b -r 531ad4bde8f2 buildconfigs/Rules.mk
--- a/buildconfigs/Rules.mk Mon Aug 22 10:20:58 2005
+++ b/buildconfigs/Rules.mk Mon Aug 22 10:21:18 2005
@@ -66,6 +66,7 @@
PATCHDIRS := $(wildcard patches/*-*)
+ifneq ($(PATCHDIRS),)
-include $(patsubst %,%/.makedep,$(PATCHDIRS))
$(patsubst patches/%,patches/%/.makedep,$(PATCHDIRS)): patches/%/.makedep:
@@ -80,6 +81,7 @@
([ -d patches/$* ] && \
for i in patches/$*/*.patch ; do ( cd $(@D) ; patch -p1 <../$$i ||
exit 1 ) ; done) || true
touch $@ # update timestamp to avoid rebuild
+endif
%-build:
$(MAKE) -f buildconfigs/mk.$* build
diff -r 473af43ac65b -r 531ad4bde8f2
linux-2.6-xen-sparse/arch/xen/i386/kernel/smpboot.c
--- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/smpboot.c Mon Aug 22
10:20:58 2005
+++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/smpboot.c Mon Aug 22
10:21:18 2005
@@ -923,7 +923,8 @@
ctxt.ctrlreg[3] = virt_to_mfn(swapper_pg_dir) << PAGE_SHIFT;
boot_error = HYPERVISOR_boot_vcpu(cpu, &ctxt);
- printk("boot error: %ld\n", boot_error);
+ if (boot_error)
+ printk("boot error: %ld\n", boot_error);
if (!boot_error) {
/*
diff -r 473af43ac65b -r 531ad4bde8f2
linux-2.6-xen-sparse/arch/xen/i386/pci/Makefile
--- a/linux-2.6-xen-sparse/arch/xen/i386/pci/Makefile Mon Aug 22 10:20:58 2005
+++ b/linux-2.6-xen-sparse/arch/xen/i386/pci/Makefile Mon Aug 22 10:21:18 2005
@@ -17,7 +17,7 @@
c-pci-$(CONFIG_X86_VISWS) := visws.o fixup.o
pci-$(CONFIG_X86_VISWS) :=
c-pci-$(CONFIG_X86_NUMAQ) := numa.o
-pci-$(CONFIG_X86_NUMAQ) := irq.o
+l-pci-$(CONFIG_X86_NUMAQ) := irq.o
obj-y += $(pci-y)
c-obj-y += $(c-pci-y) common.o
@@ -27,6 +27,7 @@
$(patsubst %.o,$(obj)/%.c,$(c-obj-y) $(c-link)):
@ln -fsn $(srctree)/arch/i386/pci/$(notdir $@) $@
-obj-y += $(c-obj-y) $(l-pci-y)
+# Make sure irq.o gets linked in before common.o
+obj-y += $(patsubst common.o,$(l-pci-y) common.o,$(c-obj-y))
clean-files += $(patsubst %.o,%.c,$(c-obj-y) $(c-obj-) $(c-link))
diff -r 473af43ac65b -r 531ad4bde8f2
linux-2.6-xen-sparse/arch/xen/x86_64/ia32/Makefile
--- a/linux-2.6-xen-sparse/arch/xen/x86_64/ia32/Makefile Mon Aug 22
10:20:58 2005
+++ b/linux-2.6-xen-sparse/arch/xen/x86_64/ia32/Makefile Mon Aug 22
10:21:18 2005
@@ -36,8 +36,8 @@
$(call if_changed,syscall)
AFLAGS_vsyscall-int80.o = -m32 -I$(obj)
-AFLAGS_vsyscall-sysenter.o = -m32
-AFLAGS_vsyscall-syscall.o = -m32
+AFLAGS_vsyscall-sysenter.o = -m32 -I$(obj)
+AFLAGS_vsyscall-syscall.o = -m32 -I$(obj)
CFLAGS_ia32_ioctl.o += -Ifs/
s-link := vsyscall-syscall.o vsyscall-sysenter.o vsyscall-sigreturn.o
@@ -48,13 +48,11 @@
$(patsubst %.o,$(obj)/%.c,$(c-obj-y) $(c-link)) $(patsubst
%.o,$(obj)/%.S,$(s-obj-y) $(s-link)):
@ln -fsn $(srctree)/arch/x86_64/ia32/$(notdir $@) $@
-$(obj)/vsyscall-int80.S: $(obj)/vsyscall-sigreturn.S
../../i386/kernel/vsyscall-note.S
-$(obj)/vsyscall-sysenter.S: $(obj)/vsyscall-sigreturn.S
-$(obj)/vsyscall-syscall.S: $(obj)/vsyscall-sigreturn.S
+$(obj)/vsyscall-int80.o $(obj)/vsyscall-sysenter.o $(obj)/vsyscall-syscall.o: \
+ $(obj)/vsyscall-sigreturn.S $(obj)/../../i386/kernel/vsyscall-note.S
-../../i386/kernel/vsyscall-note.S:
- @ln -fsn $(srctree)/arch/i386/kernel/$(notdir $@)
$(srctree)/arch/xen/i386/kernel/$(notdir $@)
- make -C arch/xen/i386/kernel vsyscall-note.S
+$(obj)/../../i386/kernel/vsyscall-note.S:
+ @ln -fsn $(srctree)/arch/i386/kernel/$(notdir $@) $@
obj-y += $(c-obj-y) $(s-obj-y)
diff -r 473af43ac65b -r 531ad4bde8f2
linux-2.6-xen-sparse/arch/xen/x86_64/kernel/vsyscall.c
--- a/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/vsyscall.c Mon Aug 22
10:20:58 2005
+++ b/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/vsyscall.c Mon Aug 22
10:21:18 2005
@@ -210,15 +210,16 @@
__set_fixmap(VSYSCALL_FIRST_PAGE, physaddr_page0, PAGE_KERNEL_VSYSCALL);
}
-extern void __set_fixmap_user (enum fixed_addresses, unsigned long, pgprot_t);
-
+#ifdef CONFIG_XEN
static void __init map_vsyscall_user(void)
{
+ extern void __set_fixmap_user(enum fixed_addresses, unsigned long,
pgprot_t);
extern char __vsyscall_0;
unsigned long physaddr_page0 = __pa_symbol(&__vsyscall_0);
__set_fixmap_user(VSYSCALL_FIRST_PAGE, physaddr_page0,
PAGE_KERNEL_VSYSCALL);
}
+#endif
static int __init vsyscall_init(void)
{
@@ -227,7 +228,10 @@
BUG_ON((unsigned long) &vtime != VSYSCALL_ADDR(__NR_vtime));
BUG_ON((VSYSCALL_ADDR(0) != __fix_to_virt(VSYSCALL_FIRST_PAGE)));
map_vsyscall();
- map_vsyscall_user(); /* establish tranlation for user address space
*/
+#ifdef CONFIG_XEN
+ map_vsyscall_user();
+ sysctl_vsyscall = 0; /* disable vgettimeofay() */
+#endif
#ifdef CONFIG_SYSCTL
register_sysctl_table(kernel_root_table2, 0);
#endif
diff -r 473af43ac65b -r 531ad4bde8f2
linux-2.6-xen-sparse/arch/xen/x86_64/pci/Makefile
--- a/linux-2.6-xen-sparse/arch/xen/x86_64/pci/Makefile Mon Aug 22 10:20:58 2005
+++ b/linux-2.6-xen-sparse/arch/xen/x86_64/pci/Makefile Mon Aug 22 10:21:18 2005
@@ -30,8 +30,9 @@
$(patsubst %.o,$(obj)/%.c,$(c-i386-obj-y)):
@ln -fsn $(srctree)/arch/i386/pci/$(notdir $@) $@
-obj-y += $(c-i386-obj-y) $(c-obj-y)
-obj-y += $(c-xen-obj-y)
+# Make sure irq.o gets linked in before common.o
+obj-y += $(patsubst common.o,$(c-xen-obj-y) common.o,$(c-i386-obj-y))
+obj-y += $(c-obj-y)
clean-files += $(patsubst %.o,%.c,$(c-obj-y) $(c-obj-) $(c-link))
clean-files += $(patsubst %.o,%.c,$(c-i386-obj-y) $(c-i386-obj-))
diff -r 473af43ac65b -r 531ad4bde8f2 xen/include/asm-x86/x86_32/uaccess.h
--- a/xen/include/asm-x86/x86_32/uaccess.h Mon Aug 22 10:20:58 2005
+++ b/xen/include/asm-x86/x86_32/uaccess.h Mon Aug 22 10:21:18 2005
@@ -22,7 +22,11 @@
#define array_access_ok(addr,count,size) \
(likely(count < (~0UL/size)) && access_ok(addr,count*size))
+/* Undefined function to catch size mismatches on 64-bit get_user/put_user. */
+extern void __uaccess_var_not_u64(void);
+
#define __put_user_u64(x, addr, retval, errret) \
+ if (sizeof(x) != 8) __uaccess_var_not_u64(); \
__asm__ __volatile__( \
"1: movl %%eax,0(%2)\n" \
"2: movl %%edx,4(%2)\n" \
@@ -52,6 +56,7 @@
} while (0)
#define __get_user_u64(x, addr, retval, errret) \
+ if (sizeof(x) != 8) __uaccess_var_not_u64(); \
__asm__ __volatile__( \
"1: movl 0(%2),%%eax\n" \
"2: movl 4(%2),%%edx\n" \
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|