rpms/kernel/devel linux-2.6-xen-compile-fixes.patch,1.11,1.12
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Wed Jul 19 20:15:50 UTC 2006
Author: quintela
Update of /cvs/dist/rpms/kernel/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv23508
Modified Files:
linux-2.6-xen-compile-fixes.patch
Log Message:
fix the i586 build problem with new xen pach
linux-2.6-xen-compile-fixes.patch:
arch/i386/kernel/acpi/boot-xen.c | 3 +-
arch/i386/kernel/asm-offsets.c | 2 +
arch/i386/kernel/entry-xen.S | 4 +++
arch/i386/kernel/entry.S | 4 +++
arch/i386/kernel/sysenter.c | 6 ++++
include/asm-i386/elf.h | 9 +++++++
include/asm-i386/fixmap.h | 2 +
include/asm-i386/mach-xen/asm/fixmap.h | 2 +
linux-2.6.15.xen/arch/i386/kernel/smp-xen.c | 1
linux-2.6.15.xen/arch/x86_64/kernel/pmtimer.c | 2 +
linux-2.6.15.xen/arch/x86_64/kernel/process-xen.c | 6 ----
linux-2.6.15.xen/arch/x86_64/mm/fault-xen.c | 2 -
linux-2.6.15.xen/include/asm-i386/mach-xen/asm/desc.h | 14 +++++++++++
linux-2.6.15.xen/include/asm-i386/mach-xen/asm/pgalloc.h | 1
linux-2.6.15.xen/include/asm-i386/mach-xen/asm/processor.h | 7 ++++-
linux-2.6.15.xen/include/asm-i386/mach-xen/asm/swiotlb.h | 1
linux-2.6.15.xen/include/asm-x86_64/mach-xen/asm/pgalloc.h | 7 +++++
linux-2.6.15.xen/include/asm-x86_64/mach-xen/asm/pgtable.h | 2 -
linux-2.6.15.xen/include/asm-x86_64/mach-xen/asm/processor.h | 2 +
linux-2.6.16.noarch/include/asm-x86_64/ipi.h | 2 +
linux-2.6.17.noarch/arch/i386/kernel/Makefile | 3 --
linux-2.6.17.noarch/arch/i386/kernel/time-xen.c | 2 +
linux-2.6.17.noarch/arch/i386/kernel/tsc.c | 2 +
23 files changed, 74 insertions(+), 12 deletions(-)
Index: linux-2.6-xen-compile-fixes.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-xen-compile-fixes.patch,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- linux-2.6-xen-compile-fixes.patch 19 Jul 2006 17:25:03 -0000 1.11
+++ linux-2.6-xen-compile-fixes.patch 19 Jul 2006 20:15:48 -0000 1.12
@@ -193,3 +193,188 @@
+#endif
#endif /* __ASM_IPI_H */
+diff -urNp linux-2.6.17.previous/arch/i386/kernel/Makefile linux-2.6.17.noarch/arch/i386/kernel/Makefile
+--- linux-2.6.17.previous/arch/i386/kernel/Makefile 2006-07-19 16:27:09.000000000 +0200
++++ linux-2.6.17.noarch/arch/i386/kernel/Makefile 2006-07-19 21:45:09.000000000 +0200
+@@ -7,7 +7,7 @@ extra-y := head.o init_task.o vmlinux.ld
+ obj-y := process.o semaphore.o signal.o entry.o traps.o irq.o \
+ ptrace.o time.o ioport.o ldt.o setup.o i8259.o sys_i386.o \
+ pci-dma.o i386_ksyms.o i387.o bootflag.o \
+- quirks.o i8237.o topology.o alternative.o i8253.o
++ quirks.o i8237.o topology.o alternative.o i8253.o tsc.o
+
+ obj-$(CONFIG_STACKTRACE) += stacktrace.o
+ obj-y += cpu/
+@@ -37,7 +37,6 @@ obj-$(CONFIG_EFI) += efi.o efi_stub.o
+ obj-$(CONFIG_DOUBLEFAULT) += doublefault.o
+ obj-$(CONFIG_VM86) += vm86.o
+ obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
+-obj-$(CONFIG_X86_TSC) += tsc.o
+ obj-$(CONFIG_HPET_TIMER) += hpet.o
+ obj-$(CONFIG_K8_NB) += k8.o
+ obj-$(CONFIG_AUDIT) += audit.o
+diff -urNp linux-2.6.17.previous/arch/i386/kernel/time-xen.c linux-2.6.17.noarch/arch/i386/kernel/time-xen.c
+--- linux-2.6.17.previous/arch/i386/kernel/time-xen.c 2006-07-19 16:27:09.000000000 +0200
++++ linux-2.6.17.noarch/arch/i386/kernel/time-xen.c 2006-07-19 21:49:54.000000000 +0200
+@@ -164,7 +164,9 @@ static int __init __permitted_clock_jitt
+ }
+ __setup("permitted_clock_jitter=", __permitted_clock_jitter);
+
++#ifndef CONFIG_X86
+ int tsc_disable __devinitdata = 0;
++#endif
+
+ static void delay_tsc(unsigned long loops)
+ {
+diff -urNp linux-2.6.17.previous/arch/i386/kernel/tsc.c linux-2.6.17.noarch/arch/i386/kernel/tsc.c
+--- linux-2.6.17.previous/arch/i386/kernel/tsc.c 2006-07-19 16:27:02.000000000 +0200
++++ linux-2.6.17.noarch/arch/i386/kernel/tsc.c 2006-07-19 21:49:03.000000000 +0200
+@@ -101,6 +101,7 @@ static inline unsigned long long cycles_
+ return (cyc * cyc2ns_scale) >> CYC2NS_SCALE_FACTOR;
+ }
+
++#ifndef CONFIG_XEN
+ /*
+ * Scheduler clock - returns current time in nanosec units.
+ */
+@@ -124,6 +125,7 @@ unsigned long long sched_clock(void)
+ /* return the value in ns */
+ return cycles_2_ns(this_offset);
+ }
++#endif
+
+ static unsigned long calculate_cpu_khz(void)
+ {
+diff -r 9ffbaea14aad arch/i386/kernel/asm-offsets.c
+--- a/arch/i386/kernel/asm-offsets.c Wed Jul 19 15:55:00 2006 +0200
++++ b/arch/i386/kernel/asm-offsets.c Fri Jul 21 06:34:30 2006 -0400
+@@ -55,7 +55,9 @@ void foo(void)
+ OFFSET(TI_preempt_count, thread_info, preempt_count);
+ OFFSET(TI_addr_limit, thread_info, addr_limit);
+ OFFSET(TI_restart_block, thread_info, restart_block);
++#ifndef CONFIG_XEN
+ OFFSET(TI_sysenter_return, thread_info, sysenter_return);
++#endif
+ BLANK();
+
+ OFFSET(EXEC_DOMAIN_handler, exec_domain, handler);
+diff -r 9ffbaea14aad arch/i386/kernel/entry-xen.S
+--- a/arch/i386/kernel/entry-xen.S Wed Jul 19 15:55:00 2006 +0200
++++ b/arch/i386/kernel/entry-xen.S Fri Jul 21 06:34:30 2006 -0400
+@@ -313,12 +313,16 @@ sysenter_past_esp:
+ pushl $(__USER_CS)
+ CFI_ADJUST_CFA_OFFSET 4
+ /*CFI_REL_OFFSET cs, 0*/
++#ifndef CONFIG_XEN
+ /*
+ * Push current_thread_info()->sysenter_return to the stack.
+ * A tiny bit of offset fixup is necessary - 4*4 means the 4 words
+ * pushed above; +8 corresponds to copy_thread's esp0 setting.
+ */
+ pushl (TI_sysenter_return-THREAD_SIZE+8+4*4)(%esp)
++#else
++ pushl $SYSENTER_RETURN
++#endif
+ CFI_ADJUST_CFA_OFFSET 4
+ CFI_REL_OFFSET eip, 0
+
+diff -r 9ffbaea14aad arch/i386/kernel/entry.S
+--- a/arch/i386/kernel/entry.S Wed Jul 19 15:55:00 2006 +0200
++++ b/arch/i386/kernel/entry.S Fri Jul 21 06:34:30 2006 -0400
+@@ -288,7 +288,11 @@ sysenter_past_esp:
+ * A tiny bit of offset fixup is necessary - 4*4 means the 4 words
+ * pushed above; +8 corresponds to copy_thread's esp0 setting.
+ */
++#ifndef CONFIG_XEN
+ pushl (TI_sysenter_return-THREAD_SIZE+8+4*4)(%esp)
++#else
++ pusl $SYSENTER_RETURN
++#endif
+ CFI_ADJUST_CFA_OFFSET 4
+ CFI_REL_OFFSET eip, 0
+
+diff -r 9ffbaea14aad arch/i386/kernel/sysenter.c
+--- a/arch/i386/kernel/sysenter.c Wed Jul 19 15:55:00 2006 +0200
++++ b/arch/i386/kernel/sysenter.c Fri Jul 21 06:34:30 2006 -0400
+@@ -90,6 +90,7 @@ int __init sysenter_setup(void)
+ }
+ #endif
+
++#ifndef CONFIG_XEN
+ #ifdef CONFIG_COMPAT_VDSO
+ __set_fixmap(FIX_VDSO, __pa(syscall_page), PAGE_READONLY);
+ printk("Compat vDSO mapped to %08lx.\n", __fix_to_virt(FIX_VDSO));
+@@ -99,6 +100,7 @@ int __init sysenter_setup(void)
+ */
+ __set_fixmap(FIX_VDSO, __pa(syscall_page), PAGE_KERNEL_RO);
+ #endif
++#endif
+
+ if (!boot_cpu_has(X86_FEATURE_SEP)) {
+ memcpy(syscall_page,
+@@ -144,7 +146,11 @@ int arch_setup_additional_pages(struct l
+ int ret;
+
+ down_write(&mm->mmap_sem);
++#ifndef CONFIG_XEN
+ addr = get_unmapped_area(NULL, 0, PAGE_SIZE, 0, 0);
++#else
++ addr = VDSO_BASE;
++#endif
+ if (IS_ERR_VALUE(addr)) {
+ ret = addr;
+ goto up_fail;
+diff -r 9ffbaea14aad include/asm-i386/elf.h
+--- a/include/asm-i386/elf.h Wed Jul 19 15:55:00 2006 +0200
++++ b/include/asm-i386/elf.h Fri Jul 21 06:34:30 2006 -0400
+@@ -130,15 +130,24 @@ extern int dump_task_extended_fpu (struc
+ #define ELF_CORE_COPY_FPREGS(tsk, elf_fpregs) dump_task_fpu(tsk, elf_fpregs)
+ #define ELF_CORE_COPY_XFPREGS(tsk, elf_xfpregs) dump_task_extended_fpu(tsk, elf_xfpregs)
+
++#ifndef CONFIG_XEN
+ #define VDSO_HIGH_BASE (__fix_to_virt(FIX_VDSO))
+ #define VDSO_BASE ((unsigned long)current->mm->context.vdso)
++#else
++#define VDSO_HIGH_BASE VDSO_BASE
++#define VDSO_BASE (PAGE_OFFSET - 2*PAGE_SIZE)
++#endif
+
+ #ifdef CONFIG_COMPAT_VDSO
+ # define VDSO_COMPAT_BASE VDSO_HIGH_BASE
+ # define VDSO_PRELINK VDSO_HIGH_BASE
+ #else
+ # define VDSO_COMPAT_BASE VDSO_BASE
++#ifndef CONFIG_XEN
+ # define VDSO_PRELINK 0
++#else
++# define VDSO_PRELINK VDSO_BASE
++#endif
+ #endif
+
+ #define VDSO_COMPAT_SYM(x) \
+diff -r 9ffbaea14aad include/asm-i386/fixmap.h
+--- a/include/asm-i386/fixmap.h Wed Jul 19 15:55:00 2006 +0200
++++ b/include/asm-i386/fixmap.h Fri Jul 21 06:34:30 2006 -0400
+@@ -51,7 +51,9 @@ extern unsigned long __FIXADDR_TOP;
+ */
+ enum fixed_addresses {
+ FIX_HOLE,
++#ifndef CONFIG_XEN
+ FIX_VDSO,
++#endif
+ #ifdef CONFIG_X86_LOCAL_APIC
+ FIX_APIC_BASE, /* local (CPU) APIC) -- required for SMP or not */
+ #endif
+diff -r 9ffbaea14aad include/asm-i386/mach-xen/asm/fixmap.h
+--- a/include/asm-i386/mach-xen/asm/fixmap.h Wed Jul 19 15:55:00 2006 +0200
++++ b/include/asm-i386/mach-xen/asm/fixmap.h Fri Jul 21 06:34:30 2006 -0400
+@@ -52,7 +52,9 @@ extern unsigned long __FIXADDR_TOP;
+ */
+ enum fixed_addresses {
+ FIX_HOLE,
++#ifndef CONFIG_XEN
+ FIX_VDSO,
++#endif
+ #ifdef CONFIG_X86_LOCAL_APIC
+ FIX_APIC_BASE, /* local (CPU) APIC) -- required for SMP or not */
+ #endif
More information about the fedora-cvs-commits
mailing list