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