rpms/kernel/FC-5 linux-2.6-xen-uptodate-2.6.16.15.patch, 1.1, 1.2 kernel-2.6.spec, 1.2115, 1.2116 linux-2.6-crashdump-common.patch, 1.16, 1.17 linux-2.6-xen-compile-fixes.patch, 1.2, 1.3 linux-2.6-xen.patch, 1.12, 1.13

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Thu May 11 22:04:08 UTC 2006


Author: quintela

Update of /cvs/dist/rpms/kernel/FC-5
In directory cvs.devel.redhat.com:/tmp/cvs-serv5826

Modified Files:
	kernel-2.6.spec linux-2.6-crashdump-common.patch 
	linux-2.6-xen-compile-fixes.patch linux-2.6-xen.patch 
Added Files:
	linux-2.6-xen-uptodate-2.6.16.15.patch 
Log Message:
rebase 3.0.2 new xen-3.0.testing

linux-2.6-xen-uptodate-2.6.16.15.patch:
 arch/x86_64/kernel/entry-xen.S                 |   28 ++++++++-----------------
 arch/x86_64/kernel/process-xen.c               |   22 ++++++++-----------
 arch/x86_64/kernel/setup-xen.c                 |    4 +++
 include/asm-i386/mach-xen/asm/pgtable-2level.h |    2 +
 include/asm-i386/mach-xen/asm/pgtable-3level.h |   20 +++++++++++++++++
 include/asm-i386/mach-xen/asm/pgtable.h        |   13 -----------
 6 files changed, 47 insertions(+), 42 deletions(-)

Index: linux-2.6-xen-uptodate-2.6.16.15.patch
===================================================================
RCS file: linux-2.6-xen-uptodate-2.6.16.15.patch
diff -N linux-2.6-xen-uptodate-2.6.16.15.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ linux-2.6-xen-uptodate-2.6.16.15.patch	11 May 2006 22:02:40 -0000	1.2
@@ -0,0 +1,194 @@
+diff -urNp --exclude-from=/home/quintela/config/misc/dontdiff linux-2.6.16.orig/arch/x86_64/kernel/entry-xen.S linux-2.6.16.noarch/arch/x86_64/kernel/entry-xen.S
+--- linux-2.6.16.orig/arch/x86_64/kernel/entry-xen.S	2006-05-10 14:10:50.000000000 +0200
++++ linux-2.6.16.noarch/arch/x86_64/kernel/entry-xen.S	2006-05-10 14:39:53.000000000 +0200
+@@ -221,6 +221,10 @@ rff_trace:
+  *
+  * XXX	if we had a free scratch register we could save the RSP into the stack frame
+  *      and report it properly in ps. Unfortunately we haven't.
++ *
++ * When user can change the frames always force IRET. That is because
++ * it deals with uncanonical addresses better. SYSRET has trouble
++ * with them due to bugs in both AMD and Intel CPUs.
+  */ 			 		
+ 
+ ENTRY(system_call)
+@@ -289,7 +293,10 @@ sysret_signal:
+ 	xorl %esi,%esi # oldset -> arg2
+ 	call ptregscall_common
+ 1:	movl $_TIF_NEED_RESCHED,%edi
+-	jmp sysret_check
++	/* Use IRET because user could have changed frame. This
++	   works because ptregscall_common has called FIXUP_TOP_OF_STACK. */
++	cli
++	jmp int_with_check
+ 	
+ badsys:
+ 	movq $-ENOSYS,RAX-ARGOFFSET(%rsp)
+@@ -315,7 +322,8 @@ tracesys:			 
+ 	call syscall_trace_leave
+ 	RESTORE_TOP_OF_STACK %rbx
+ 	RESTORE_REST
+-	jmp ret_from_sys_call
++	/* Use IRET because user could have changed frame */
++	jmp int_ret_from_sys_call
+ 	CFI_ENDPROC
+ 		
+ /* 
+@@ -449,25 +457,9 @@ ENTRY(stub_execve)
+ 	CFI_ADJUST_CFA_OFFSET -8
+ 	CFI_REGISTER rip, r11
+ 	SAVE_REST
+-	movq %r11, %r15
+-	CFI_REGISTER rip, r15
+ 	FIXUP_TOP_OF_STACK %r11
+ 	call sys_execve
+-	GET_THREAD_INFO(%rcx)
+-	bt $TIF_IA32,threadinfo_flags(%rcx)
+-	CFI_REMEMBER_STATE
+-	jc exec_32bit
+ 	RESTORE_TOP_OF_STACK %r11
+-	movq %r15, %r11
+-	CFI_REGISTER rip, r11
+-	RESTORE_REST
+-	pushq %r11
+-	CFI_ADJUST_CFA_OFFSET 8
+-	CFI_REL_OFFSET rip, 0
+-	ret
+-
+-exec_32bit:
+-	CFI_RESTORE_STATE
+ 	movq %rax,RAX(%rsp)
+ 	RESTORE_REST
+ 	jmp int_ret_from_sys_call
+diff -urNp --exclude-from=/home/quintela/config/misc/dontdiff linux-2.6.16.orig/arch/x86_64/kernel/process-xen.c linux-2.6.16.noarch/arch/x86_64/kernel/process-xen.c
+--- linux-2.6.16.orig/arch/x86_64/kernel/process-xen.c	2006-05-10 14:10:51.000000000 +0200
++++ linux-2.6.16.noarch/arch/x86_64/kernel/process-xen.c	2006-05-10 14:49:00.000000000 +0200
+@@ -482,18 +482,6 @@ __switch_to(struct task_struct *prev_p, 
+ 	multicall_entry_t _mcl[8], *mcl = _mcl;
+ 
+ 	/*
+-	 * This is basically '__unlazy_fpu', except that we queue a
+-	 * multicall to indicate FPU task switch, rather than
+-	 * synchronously trapping to Xen.
+-	 */
+-	if (prev_p->thread_info->status & TS_USEDFPU) {
+-		__save_init_fpu(prev_p); /* _not_ save_init_fpu() */
+-		mcl->op      = __HYPERVISOR_fpu_taskswitch;
+-		mcl->args[0] = 1;
+-		mcl++;
+-	}
+-
+-	/*
+ 	 * Reload esp0, LDT and the page table pointer:
+ 	 */
+ 	mcl->op      = __HYPERVISOR_stack_switch;
+@@ -569,6 +557,16 @@ __switch_to(struct task_struct *prev_p, 
+ 	prev->userrsp = read_pda(oldrsp); 
+ 	write_pda(oldrsp, next->userrsp); 
+ 	write_pda(pcurrent, next_p); 
++	/*
++	 * This is basically '__unlazy_fpu', except that we queue a
++	 * multicall to indicate FPU task switch, rather than
++	 * synchronously trapping to Xen.
++	 */
++	if (prev_p->thread_info->status & TS_USEDFPU) {
++		__save_init_fpu(prev_p); /* _not_ save_init_fpu() */
++		HYPERVISOR_fpu_taskswitch(1);
++	}
++
+ 	write_pda(kernelstack,
+ 		  task_stack_page(next_p) + THREAD_SIZE - PDA_STACKOFFSET);
+ 
+diff -urNp --exclude-from=/home/quintela/config/misc/dontdiff linux-2.6.16.orig/arch/x86_64/kernel/setup-xen.c linux-2.6.16.noarch/arch/x86_64/kernel/setup-xen.c
+--- linux-2.6.16.orig/arch/x86_64/kernel/setup-xen.c	2006-05-10 14:10:50.000000000 +0200
++++ linux-2.6.16.noarch/arch/x86_64/kernel/setup-xen.c	2006-05-10 14:50:08.000000000 +0200
+@@ -1158,6 +1158,10 @@ static int __init init_amd(struct cpuinf
+ 	if (c->x86 == 15 && ((level >= 0x0f48 && level < 0x0f50) || level >= 0x0f58))
+ 		set_bit(X86_FEATURE_REP_GOOD, &c->x86_capability);
+ 
++	/* Enable workaround for FXSAVE leak */
++	if (c->x86 >= 6)
++		set_bit(X86_FEATURE_FXSAVE_LEAK, &c->x86_capability);
++
+ 	r = get_model_name(c);
+ 	if (!r) { 
+ 		switch (c->x86) { 
+diff -urNp --exclude-from=/home/quintela/config/misc/dontdiff linux-2.6.16.orig/include/asm-i386/mach-xen/asm/pgtable-2level.h linux-2.6.16.noarch/include/asm-i386/mach-xen/asm/pgtable-2level.h
+--- linux-2.6.16.orig/include/asm-i386/mach-xen/asm/pgtable-2level.h	2006-05-10 14:10:50.000000000 +0200
++++ linux-2.6.16.noarch/include/asm-i386/mach-xen/asm/pgtable-2level.h	2006-05-10 14:22:41.000000000 +0200
+@@ -33,6 +33,9 @@
+ 
+ #define set_pmd(pmdptr, pmdval) xen_l2_entry_update((pmdptr), (pmdval))
+ 
++#define pte_clear(mm,addr,xp)	do { set_pte_at(mm, addr, xp, __pte(0)); } while (0)
++#define pmd_clear(xp)	do { set_pmd(xp, __pmd(0)); } while (0)
+++
+ #define ptep_get_and_clear(mm,addr,xp)	__pte_ma(xchg(&(xp)->pte_low, 0))
+ #define pte_same(a, b)		((a).pte_low == (b).pte_low)
+ #define pte_mfn(_pte) ((_pte).pte_low >> PAGE_SHIFT)
+diff -urNp --exclude-from=/home/quintela/config/misc/dontdiff linux-2.6.16.orig/include/asm-i386/mach-xen/asm/pgtable-3level.h linux-2.6.16.noarch/include/asm-i386/mach-xen/asm/pgtable-3level.h
+--- linux-2.6.16.orig/include/asm-i386/mach-xen/asm/pgtable-3level.h	2006-05-10 14:10:50.000000000 +0200
++++ linux-2.6.16.noarch/include/asm-i386/mach-xen/asm/pgtable-3level.h	2006-05-10 14:25:28.000000000 +0200
+@@ -107,6 +107,26 @@ static inline void pud_clear (pud_t * pu
+ #define pmd_offset(pud, address) ((pmd_t *) pud_page(*(pud)) + \
+ 			pmd_index(address))
+ 
++/*
++ * For PTEs and PDEs, we must clear the P-bit first when clearing a page table
++ * entry, so clear the bottom half first and enforce ordering with a compiler
++ * barrier.
++ */
++static inline void pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep)
++{
++	ptep->pte_low = 0;
++	smp_wmb();
++	ptep->pte_high = 0;
++}
++
++static inline void pmd_clear(pmd_t *pmd)
++{
++	u32 *tmp = (u32 *)pmd;
++	*tmp = 0;
++	smp_wmb();
++	*(tmp + 1) = 0;
++}
++
+ static inline pte_t ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep)
+ {
+ 	pte_t res;
+diff -urNp --exclude-from=/home/quintela/config/misc/dontdiff linux-2.6.16.orig/include/asm-i386/mach-xen/asm/pgtable.h linux-2.6.16.noarch/include/asm-i386/mach-xen/asm/pgtable.h
+--- linux-2.6.16.orig/include/asm-i386/mach-xen/asm/pgtable.h	2006-05-10 14:10:50.000000000 +0200
++++ linux-2.6.16.noarch/include/asm-i386/mach-xen/asm/pgtable.h	2006-05-10 14:26:56.000000000 +0200
+@@ -205,14 +205,12 @@ extern unsigned long long __PAGE_KERNEL,
+ extern unsigned long pg0[];
+ 
+ #define pte_present(x)	((x).pte_low & (_PAGE_PRESENT | _PAGE_PROTNONE))
+-#define pte_clear(mm,addr,xp)	do { set_pte_at(mm, addr, xp, __pte(0)); } while (0)
+ 
+ /* To avoid harmful races, pmd_none(x) should check only the lower when PAE */
+ #define pmd_none(x)	(!(unsigned long)pmd_val(x))
+ /* pmd_present doesn't just test the _PAGE_PRESENT bit since wr.p.t.
+    can temporarily clear it. */
+ #define pmd_present(x)	(pmd_val(x))
+-#define pmd_clear(xp)	do { set_pmd(xp, __pmd(0)); } while (0)
+ #define pmd_bad(x)	((pmd_val(x) & (~PAGE_MASK & ~_PAGE_USER & ~_PAGE_PRESENT)) != (_KERNPG_TABLE & ~_PAGE_PRESENT))
+ 
+ 
+@@ -272,16 +270,7 @@ static inline pte_t ptep_get_and_clear_f
+ 	pte_t pte;
+ 	if (full) {
+ 		pte = *ptep;
+-#ifdef CONFIG_X86_PAE
+-		/* Cannot do this in a single step, as the compiler may
+-		   issue the two stores in either order, but the hypervisor
+-		   must not see the high part before the low one. */
+-		ptep->pte_low = 0;
+-		barrier();
+-		ptep->pte_high = 0;
+-#else
+-		*ptep = __pte(0);
+-#endif
++		pte_clear(mm, addr, ptep);
+ 	} else {
+ 		pte = ptep_get_and_clear(mm, addr, ptep);
+ 	}


Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/FC-5/kernel-2.6.spec,v
retrieving revision 1.2115
retrieving revision 1.2116
diff -u -r1.2115 -r1.2116
--- kernel-2.6.spec	11 May 2006 03:11:56 -0000	1.2115
+++ kernel-2.6.spec	11 May 2006 22:02:19 -0000	1.2116
@@ -181,7 +181,7 @@
 
 
 Source0: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-%{kversion}.tar.bz2
-Source1: xen-20060301.tar.bz2
+Source1: xen-20060510.tar.bz2
 Source2: Config.mk
 
 Source10: COPYING.modules
@@ -259,6 +259,7 @@
 Patch704: linux-2.6-xen-vsyscall_base.patch
 Patch706: linux-2.6-xen_remap_vma_flags.patch
 Patch709: linux-2.6-percpu-NR_CPUS-hotplug-fix.patch
+Patch710: linux-2.6-xen-uptodate-2.6.16.15.patch
 
 #
 # Patches 800 through 899 are reserved for bugfixes to the core system
@@ -823,6 +824,7 @@
 %patch704 -p1
 %patch706 -p1
 %patch709 -p1
+%patch710 -p1
 
 %endif
 

linux-2.6-crashdump-common.patch:
 linux-2.6.12/Documentation/sysrq.txt         |    8 
 linux-2.6.12/arch/i386/kernel/nmi.c          |    1 
 linux-2.6.12/arch/i386/kernel/traps.c        |    3 
 linux-2.6.12/arch/i386/mm/init.c             |   47 +++++
 linux-2.6.12/arch/ia64/kernel/process.c      |   30 ++-
 linux-2.6.12/arch/ia64/kernel/traps.c        |    6 
 linux-2.6.12/arch/ia64/mm/contig.c           |    3 
 linux-2.6.12/arch/ia64/mm/discontig.c        |    3 
 linux-2.6.12/arch/ia64/mm/init.c             |   90 +++++++++
 linux-2.6.12/arch/powerpc/kernel/process.c   |    1 
 linux-2.6.12/arch/powerpc/kernel/traps.c     |    3 
 linux-2.6.12/arch/powerpc/mm/mem.c           |   29 +++
 linux-2.6.12/arch/s390/kernel/traps.c        |    6 
 linux-2.6.12/arch/x86_64/kernel/process.c    |    2 
 linux-2.6.12/arch/x86_64/kernel/traps.c      |    6 
 linux-2.6.12/arch/x86_64/mm/init.c           |   32 +++
 linux-2.6.12/drivers/char/sysrq.c            |    2 
 linux-2.6.12/include/asm-generic/crashdump.h |   47 +++++
 linux-2.6.12/include/asm-i386/crashdump.h    |  123 +++++++++++++
 linux-2.6.12/include/asm-i386/kmap_types.h   |    4 
 linux-2.6.12/include/asm-ia64/crashdump.h    |   72 +++++++
 linux-2.6.12/include/asm-powerpc/crashdump.h |   61 ++++++
 linux-2.6.12/include/asm-x86_64/crashdump.h  |   86 +++++++++
 linux-2.6.12/include/linux/kernel.h          |   18 +
 linux-2.6.12/kernel/Makefile                 |    2 
 linux-2.6.12/kernel/dump.c                   |  246 +++++++++++++++++++++++++++
 linux-2.6.12/kernel/panic.c                  |    4 
 linux-2.6.12/kernel/printk.c                 |   20 ++
 linux-2.6.12/kernel/sched.c                  |    2 
 linux-2.6.13/arch/x86_64/mm/fault.c          |    1 
 linux-2.6.13/drivers/char/sysrq.c            |    5 
 linux-2.6.16.noarch/arch/i386/mm/pgtable.c   |    2 
 32 files changed, 951 insertions(+), 14 deletions(-)

Index: linux-2.6-crashdump-common.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/FC-5/linux-2.6-crashdump-common.patch,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- linux-2.6-crashdump-common.patch	4 May 2006 21:23:42 -0000	1.16
+++ linux-2.6-crashdump-common.patch	11 May 2006 22:02:37 -0000	1.17
@@ -889,14 +889,6 @@
   * valid. The argument is a physical page number.
 --- linux-2.6.16.noarch/arch/i386/mm/pgtable.c~	2006-03-24 21:29:33.000000000 -0500
 +++ linux-2.6.16.noarch/arch/i386/mm/pgtable.c	2006-03-24 21:29:42.000000000 -0500
-@@ -13,6 +13,7 @@
- #include <linux/slab.h>
- #include <linux/pagemap.h>
- #include <linux/spinlock.h>
-+#include <linux/module.h>
- 
- #include <asm/system.h>
- #include <asm/pgtable.h>
 @@ -63,6 +64,8 @@
  	printk(KERN_INFO "%lu pages pagetables\n", ps.nr_page_table_pages);
  }

linux-2.6-xen-compile-fixes.patch:
 arch/i386/kernel/acpi/boot-xen.c                             |    3 +-
 linux-2.6.15.ia64/fs/Kconfig                                 |    1 
 linux-2.6.15.xen/arch/i386/kernel/Makefile                   |    3 --
 linux-2.6.15.xen/arch/i386/kernel/smp-xen.c                  |    1 
 linux-2.6.15.xen/arch/i386/mm/init-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/mmu.h         |    7 +++++
 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 +
 net/core/dev.c                                               |    6 +---
 17 files changed, 49 insertions(+), 17 deletions(-)

Index: linux-2.6-xen-compile-fixes.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/FC-5/linux-2.6-xen-compile-fixes.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- linux-2.6-xen-compile-fixes.patch	6 Mar 2006 16:31:47 -0000	1.2
+++ linux-2.6-xen-compile-fixes.patch	11 May 2006 22:02:37 -0000	1.3
@@ -231,3 +231,34 @@
  	return 0;
  }
  
+--- linux-2.6.16.orig/net/core/dev.c	2006-05-10 16:52:15.000000000 +0200
++++ linux-2.6.16.noarch/net/core/dev.c	2006-05-10 22:13:26.000000000 +0200
+@@ -1252,8 +1252,6 @@ inline int skb_checksum_setup(struct sk_
+ out:
+ 	return -EPROTO;
+ }
+-#else
+-inline int skb_checksum_setup(struct sk_buff *skb) {}
+ #endif
+ 
+ 
+@@ -1306,9 +1304,10 @@ int dev_queue_xmit(struct sk_buff *skb)
+  	/* If a checksum-deferred packet is forwarded to a device that needs a
+  	 * checksum, correct the pointers and force checksumming.
+  	 */
++#ifdef CONFIG_XEN
+  	if(skb_checksum_setup(skb))
+  		goto out_kfree_skb;
+-  
++#endif
+ 	/* If packet is not checksummed and device does not support
+ 	 * checksumming for this protocol, complete checksumming here.
+ 	 */
+@@ -3362,7 +3361,6 @@ EXPORT_SYMBOL(unregister_netdevice_notif
+ EXPORT_SYMBOL(net_enable_timestamp);
+ EXPORT_SYMBOL(net_disable_timestamp);
+ EXPORT_SYMBOL(dev_get_flags);
+-EXPORT_SYMBOL(skb_checksum_setup);
+ 
+ #if defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE)
+ EXPORT_SYMBOL(br_handle_frame_hook);

linux-2.6-xen.patch:
 linux-2.6.16-xen/arch/i386/Kconfig                                   |   98 
 linux-2.6.16-xen/arch/i386/Kconfig.cpu                               |    2 
 linux-2.6.16-xen/arch/i386/Makefile                                  |   23 
 linux-2.6.16-xen/arch/i386/boot-xen/Makefile                         |   21 
 linux-2.6.16-xen/arch/i386/kernel/Makefile                           |   33 
 linux-2.6.16-xen/arch/i386/kernel/acpi/Makefile                      |    4 
 linux-2.6.16-xen/arch/i386/kernel/acpi/boot-xen.c                    | 1161 ++++
 linux-2.6.16-xen/arch/i386/kernel/apic-xen.c                         |  140 
 linux-2.6.16-xen/arch/i386/kernel/asm-offsets.c                      |    5 
 linux-2.6.16-xen/arch/i386/kernel/cpu/Makefile                       |    5 
 linux-2.6.16-xen/arch/i386/kernel/cpu/common-xen.c                   |  715 ++
 linux-2.6.16-xen/arch/i386/kernel/cpu/mtrr/Makefile                  |    7 
 linux-2.6.16-xen/arch/i386/kernel/cpu/mtrr/main-xen.c                |  196 
 linux-2.6.16-xen/arch/i386/kernel/early_printk-xen.c                 |    2 
 linux-2.6.16-xen/arch/i386/kernel/entry-xen.S                        |  876 +++
 linux-2.6.16-xen/arch/i386/kernel/fixup.c                            |   96 
 linux-2.6.16-xen/arch/i386/kernel/head-xen.S                         |  171 
 linux-2.6.16-xen/arch/i386/kernel/init_task-xen.c                    |   51 
 linux-2.6.16-xen/arch/i386/kernel/io_apic-xen.c                      | 2753 ++++++++++
 linux-2.6.16-xen/arch/i386/kernel/ioport-xen.c                       |  122 
 linux-2.6.16-xen/arch/i386/kernel/irq-xen.c                          |  306 +
 linux-2.6.16-xen/arch/i386/kernel/ldt-xen.c                          |  269 
 linux-2.6.16-xen/arch/i386/kernel/microcode-xen.c                    |  165 
 linux-2.6.16-xen/arch/i386/kernel/mpparse-xen.c                      | 1188 ++++
 linux-2.6.16-xen/arch/i386/kernel/pci-dma-xen.c                      |  344 +
 linux-2.6.16-xen/arch/i386/kernel/process-xen.c                      |  833 +++
 linux-2.6.16-xen/arch/i386/kernel/quirks-xen.c                       |   48 
 linux-2.6.16-xen/arch/i386/kernel/setup-xen.c                        | 1892 ++++++
 linux-2.6.16-xen/arch/i386/kernel/smp-xen.c                          |  617 ++
 linux-2.6.16-xen/arch/i386/kernel/swiotlb.c                          |  674 ++
 linux-2.6.16-xen/arch/i386/kernel/sysenter.c                         |   90 
 linux-2.6.16-xen/arch/i386/kernel/time-xen.c                         | 1097 +++
 linux-2.6.16-xen/arch/i386/kernel/traps-xen.c                        | 1094 +++
 linux-2.6.16-xen/arch/i386/kernel/vmlinux.lds.S                      |    4 
 linux-2.6.16-xen/arch/i386/kernel/vsyscall-note-xen.S                |   32 
 linux-2.6.16-xen/arch/i386/kernel/vsyscall.S                         |    2 
 linux-2.6.16-xen/arch/i386/mach-xen/Makefile                         |    5 
 linux-2.6.16-xen/arch/i386/mach-xen/setup.c                          |   37 
 linux-2.6.16-xen/arch/i386/mm/Makefile                               |    8 
 linux-2.6.16-xen/arch/i386/mm/fault-xen.c                            |  617 ++
 linux-2.6.16-xen/arch/i386/mm/highmem-xen.c                          |  123 
 linux-2.6.16-xen/arch/i386/mm/hypervisor.c                           |  424 +
 linux-2.6.16-xen/arch/i386/mm/init-xen.c                             |  854 +++
 linux-2.6.16-xen/arch/i386/mm/ioremap-xen.c                          |  464 +
 linux-2.6.16-xen/arch/i386/mm/pgtable-xen.c                          |  652 ++
 linux-2.6.16-xen/arch/i386/mm/pgtable.c                              |   63 
 linux-2.6.16-xen/arch/i386/pci/Makefile                              |    9 
 linux-2.6.16-xen/arch/i386/pci/irq-xen.c                             | 1202 ++++
 linux-2.6.16-xen/arch/i386/pci/pcifront.c                            |   55 
 linux-2.6.16-xen/arch/i386/power/Makefile                            |    4 
 linux-2.6.16-xen/arch/ia64/Kconfig                                   |   51 
 linux-2.6.16-xen/arch/ia64/Makefile                                  |   16 
 linux-2.6.16-xen/arch/ia64/hp/sim/Makefile                           |    2 
 linux-2.6.16-xen/arch/ia64/kernel/entry.S                            |   32 
 linux-2.6.16-xen/arch/ia64/kernel/head.S                             |    6 
 linux-2.6.16-xen/arch/ia64/kernel/pal.S                              |    5 
 linux-2.6.16-xen/arch/ia64/kernel/sal.c                              |    3 
 linux-2.6.16-xen/arch/ia64/kernel/setup.c                            |   32 
 linux-2.6.16-xen/arch/ia64/xen-mkbuildtree-post                      |    2 
 linux-2.6.16-xen/arch/ia64/xen-mkbuildtree-pre                       |   50 
 linux-2.6.16-xen/arch/ia64/xen/Makefile                              |    5 
 linux-2.6.16-xen/arch/ia64/xen/drivers/Makefile                      |   20 
 linux-2.6.16-xen/arch/ia64/xen/drivers/README                        |    2 
 linux-2.6.16-xen/arch/ia64/xen/drivers/coreMakefile                  |   26 
 linux-2.6.16-xen/arch/ia64/xen/drivers/evtchn_ia64.c                 |  273 
 linux-2.6.16-xen/arch/ia64/xen/drivers/patches/blkback.c.patch       |   33 
 linux-2.6.16-xen/arch/ia64/xen/drivers/patches/console.c.patch       |   11 
 linux-2.6.16-xen/arch/ia64/xen/drivers/patches/devmem.c.patch        |    2 
 linux-2.6.16-xen/arch/ia64/xen/drivers/patches/gnttab.c.patch        |   33 
 linux-2.6.16-xen/arch/ia64/xen/drivers/patches/privcmd.c.patch       |   30 
 linux-2.6.16-xen/arch/ia64/xen/drivers/xenia64_init.c                |   55 
 linux-2.6.16-xen/arch/ia64/xen/hypercall.S                           |  365 +
 linux-2.6.16-xen/arch/ia64/xen/xen_ksyms.c                           |   12 
 linux-2.6.16-xen/arch/ia64/xen/xenconsole.c                          |   19 
 linux-2.6.16-xen/arch/ia64/xen/xenentry.S                            |  850 +++
 linux-2.6.16-xen/arch/ia64/xen/xenhpski.c                            |   19 
 linux-2.6.16-xen/arch/ia64/xen/xenivt.S                              | 2032 +++++++
 linux-2.6.16-xen/arch/ia64/xen/xenminstate.h                         |  367 +
 linux-2.6.16-xen/arch/ia64/xen/xenpal.S                              |   73 
 linux-2.6.16-xen/arch/ia64/xen/xensetup.S                            |   35 
 linux-2.6.16-xen/arch/um/kernel/physmem.c                            |    4 
 linux-2.6.16-xen/arch/x86_64/Kconfig                                 |   58 
 linux-2.6.16-xen/arch/x86_64/Makefile                                |   20 
 linux-2.6.16-xen/arch/x86_64/ia32/ia32entry-xen.S                    |  721 ++
 linux-2.6.16-xen/arch/x86_64/ia32/syscall32-xen.c                    |  128 
 linux-2.6.16-xen/arch/x86_64/ia32/syscall32_syscall-xen.S            |   28 
 linux-2.6.16-xen/arch/x86_64/ia32/vsyscall-int80.S                   |   58 
 linux-2.6.16-xen/arch/x86_64/ia32/vsyscall-sigreturn.S               |    2 
 linux-2.6.16-xen/arch/x86_64/kernel/Makefile                         |   18 
 linux-2.6.16-xen/arch/x86_64/kernel/acpi/Makefile                    |    1 
 linux-2.6.16-xen/arch/x86_64/kernel/apic-xen.c                       |  198 
 linux-2.6.16-xen/arch/x86_64/kernel/asm-offsets.c                    |    2 
 linux-2.6.16-xen/arch/x86_64/kernel/e820-xen.c                       |  744 ++
 linux-2.6.16-xen/arch/x86_64/kernel/early_printk-xen.c               |  306 +
 linux-2.6.16-xen/arch/x86_64/kernel/entry-xen.S                      | 1149 ++++
 linux-2.6.16-xen/arch/x86_64/kernel/genapic-xen.c                    |  144 
 linux-2.6.16-xen/arch/x86_64/kernel/genapic_xen.c                    |  162 
 linux-2.6.16-xen/arch/x86_64/kernel/head-xen.S                       |  156 
 linux-2.6.16-xen/arch/x86_64/kernel/head64-xen.c                     |  140 
 linux-2.6.16-xen/arch/x86_64/kernel/init_task.c                      |    3 
 linux-2.6.16-xen/arch/x86_64/kernel/io_apic-xen.c                    | 2231 ++++++++
 linux-2.6.16-xen/arch/x86_64/kernel/ioport-xen.c                     |   58 
 linux-2.6.16-xen/arch/x86_64/kernel/irq-xen.c                        |  168 
 linux-2.6.16-xen/arch/x86_64/kernel/ldt-xen.c                        |  282 +
 linux-2.6.16-xen/arch/x86_64/kernel/mpparse-xen.c                    | 1005 +++
 linux-2.6.16-xen/arch/x86_64/kernel/pci-swiotlb-xen.c                |   54 
 linux-2.6.16-xen/arch/x86_64/kernel/process-xen.c                    |  810 ++
 linux-2.6.16-xen/arch/x86_64/kernel/setup-xen.c                      | 1661 ++++++
 linux-2.6.16-xen/arch/x86_64/kernel/setup64-xen.c                    |  360 +
 linux-2.6.16-xen/arch/x86_64/kernel/smp-xen.c                        |  596 ++
 linux-2.6.16-xen/arch/x86_64/kernel/traps-xen.c                      | 1023 +++
 linux-2.6.16-xen/arch/x86_64/kernel/vsyscall-xen.c                   |  239 
 linux-2.6.16-xen/arch/x86_64/kernel/x8664_ksyms-xen.c                |  163 
 linux-2.6.16-xen/arch/x86_64/kernel/xen_entry.S                      |   40 
 linux-2.6.16-xen/arch/x86_64/mm/Makefile                             |   10 
 linux-2.6.16-xen/arch/x86_64/mm/fault-xen.c                          |  595 ++
 linux-2.6.16-xen/arch/x86_64/mm/init-xen.c                           | 1101 +++
 linux-2.6.16-xen/arch/x86_64/mm/pageattr-xen.c                       |  401 +
 linux-2.6.16-xen/arch/x86_64/pci/Makefile                            |   12 
 linux-2.6.16-xen/drivers/Makefile                                    |    1 
 linux-2.6.16-xen/drivers/acpi/Kconfig                                |    3 
 linux-2.6.16-xen/drivers/acpi/tables.c                               |    7 
 linux-2.6.16-xen/drivers/char/mem.c                                  |    6 
 linux-2.6.16-xen/drivers/char/tpm/Kconfig                            |   14 
 linux-2.6.16-xen/drivers/char/tpm/Makefile                           |    1 
 linux-2.6.16-xen/drivers/char/tpm/tpm.c                              |   44 
 linux-2.6.16-xen/drivers/char/tpm/tpm.h                              |    7 
 linux-2.6.16-xen/drivers/char/tpm/tpm_xen.c                          |  536 +
 linux-2.6.16-xen/drivers/char/tty_io.c                               |    7 
 linux-2.6.16-xen/drivers/firmware/Kconfig                            |    2 
 linux-2.6.16-xen/drivers/pci/Kconfig                                 |    1 
 linux-2.6.16-xen/drivers/serial/Kconfig                              |    1 
 linux-2.6.16-xen/drivers/video/Kconfig                               |    2 
 linux-2.6.16-xen/drivers/xen/Kconfig                                 |  223 
 linux-2.6.16-xen/drivers/xen/Makefile                                |   22 
 linux-2.6.16-xen/drivers/xen/balloon/Makefile                        |    2 
 linux-2.6.16-xen/drivers/xen/balloon/balloon.c                       |  592 ++
 linux-2.6.16-xen/drivers/xen/blkback/Makefile                        |    3 
 linux-2.6.16-xen/drivers/xen/blkback/blkback.c                       |  596 ++
 linux-2.6.16-xen/drivers/xen/blkback/common.h                        |  148 
 linux-2.6.16-xen/drivers/xen/blkback/interface.c                     |  188 
 linux-2.6.16-xen/drivers/xen/blkback/vbd.c                           |  126 
 linux-2.6.16-xen/drivers/xen/blkback/xenbus.c                        |  425 +
 linux-2.6.16-xen/drivers/xen/blkfront/Makefile                       |    5 
 linux-2.6.16-xen/drivers/xen/blkfront/blkfront.c                     |  819 ++
 linux-2.6.16-xen/drivers/xen/blkfront/block.h                        |  165 
 linux-2.6.16-xen/drivers/xen/blkfront/vbd.c                          |  327 +
 linux-2.6.16-xen/drivers/xen/blktap/Makefile                         |    3 
 linux-2.6.16-xen/drivers/xen/blktap/blktap.c                         |  910 +++
 linux-2.6.16-xen/drivers/xen/blktap/common.h                         |  110 
 linux-2.6.16-xen/drivers/xen/blktap/interface.c                      |  146 
 linux-2.6.16-xen/drivers/xen/blktap/xenbus.c                         |  233 
 linux-2.6.16-xen/drivers/xen/char/Makefile                           |    2 
 linux-2.6.16-xen/drivers/xen/char/mem.c                              |  192 
 linux-2.6.16-xen/drivers/xen/console/Makefile                        |    2 
 linux-2.6.16-xen/drivers/xen/console/console.c                       |  648 ++
 linux-2.6.16-xen/drivers/xen/console/xencons_ring.c                  |  151 
 linux-2.6.16-xen/drivers/xen/core/Makefile                           |   11 
 linux-2.6.16-xen/drivers/xen/core/evtchn.c                           |  869 +++
 linux-2.6.16-xen/drivers/xen/core/features.c                         |   30 
 linux-2.6.16-xen/drivers/xen/core/gnttab.c                           |  464 +
 linux-2.6.16-xen/drivers/xen/core/hypervisor_sysfs.c                 |   57 
 linux-2.6.16-xen/drivers/xen/core/reboot.c                           |  381 +
 linux-2.6.16-xen/drivers/xen/core/skbuff.c                           |  144 
 linux-2.6.16-xen/drivers/xen/core/smpboot.c                          |  581 ++
 linux-2.6.16-xen/drivers/xen/core/xen_proc.c                         |   29 
 linux-2.6.16-xen/drivers/xen/core/xen_sysfs.c                        |  311 +
 linux-2.6.16-xen/drivers/xen/evtchn/Makefile                         |    2 
 linux-2.6.16-xen/drivers/xen/evtchn/evtchn.c                         |  464 +
 linux-2.6.16-xen/drivers/xen/net_driver_util.c                       |   68 
 linux-2.6.16-xen/drivers/xen/netback/Makefile                        |    5 
 linux-2.6.16-xen/drivers/xen/netback/common.h                        |  133 
 linux-2.6.16-xen/drivers/xen/netback/interface.c                     |  334 +
 linux-2.6.16-xen/drivers/xen/netback/loopback.c                      |  254 
 linux-2.6.16-xen/drivers/xen/netback/netback.c                       |  868 +++
 linux-2.6.16-xen/drivers/xen/netback/xenbus.c                        |  366 +
 linux-2.6.16-xen/drivers/xen/netfront/Makefile                       |    4 
 linux-2.6.16-xen/drivers/xen/netfront/netfront.c                     | 1519 +++++
 linux-2.6.16-xen/drivers/xen/pciback/Makefile                        |   10 
 linux-2.6.16-xen/drivers/xen/pciback/conf_space.c                    |  345 +
 linux-2.6.16-xen/drivers/xen/pciback/conf_space.h                    |   97 
 linux-2.6.16-xen/drivers/xen/pciback/conf_space_header.c             |  267 
 linux-2.6.16-xen/drivers/xen/pciback/passthrough.c                   |  157 
 linux-2.6.16-xen/drivers/xen/pciback/pci_stub.c                      |  695 ++
 linux-2.6.16-xen/drivers/xen/pciback/pciback.h                       |   79 
 linux-2.6.16-xen/drivers/xen/pciback/pciback_ops.c                   |   74 
 linux-2.6.16-xen/drivers/xen/pciback/vpci.c                          |  204 
 linux-2.6.16-xen/drivers/xen/pciback/xenbus.c                        |  446 +
 linux-2.6.16-xen/drivers/xen/pcifront/Makefile                       |    7 
 linux-2.6.16-xen/drivers/xen/pcifront/pci.c                          |   46 
 linux-2.6.16-xen/drivers/xen/pcifront/pci_op.c                       |  272 
 linux-2.6.16-xen/drivers/xen/pcifront/pcifront.h                     |   40 
 linux-2.6.16-xen/drivers/xen/pcifront/xenbus.c                       |  294 +
 linux-2.6.16-xen/drivers/xen/privcmd/Makefile                        |    2 
 linux-2.6.16-xen/drivers/xen/privcmd/privcmd.c                       |  302 +
 linux-2.6.16-xen/drivers/xen/tpmback/Makefile                        |    4 
 linux-2.6.16-xen/drivers/xen/tpmback/common.h                        |   91 
 linux-2.6.16-xen/drivers/xen/tpmback/interface.c                     |  194 
 linux-2.6.16-xen/drivers/xen/tpmback/tpmback.c                       | 1060 +++
 linux-2.6.16-xen/drivers/xen/tpmback/xenbus.c                        |  328 +
 linux-2.6.16-xen/drivers/xen/tpmfront/Makefile                       |    2 
 linux-2.6.16-xen/drivers/xen/tpmfront/tpmfront.c                     |  731 ++
 linux-2.6.16-xen/drivers/xen/tpmfront/tpmfront.h                     |   40 
 linux-2.6.16-xen/drivers/xen/util.c                                  |   80 
 linux-2.6.16-xen/drivers/xen/xenbus/Makefile                         |   12 
 linux-2.6.16-xen/drivers/xen/xenbus/xenbus_backend_client.c          |  152 
 linux-2.6.16-xen/drivers/xen/xenbus/xenbus_client.c                  |  284 +
 linux-2.6.16-xen/drivers/xen/xenbus/xenbus_comms.c                   |  218 
 linux-2.6.16-xen/drivers/xen/xenbus/xenbus_comms.h                   |   53 
 linux-2.6.16-xen/drivers/xen/xenbus/xenbus_dev.c                     |  255 
 linux-2.6.16-xen/drivers/xen/xenbus/xenbus_probe.c                   | 1093 +++
 linux-2.6.16-xen/drivers/xen/xenbus/xenbus_xs.c                      |  856 +++
 linux-2.6.16-xen/fs/Kconfig                                          |    1 
 linux-2.6.16-xen/include/asm-i386/a.out.h                            |    2 
 linux-2.6.16-xen/include/asm-i386/apic.h                             |    2 
 linux-2.6.16-xen/include/asm-i386/elf.h                              |    7 
 linux-2.6.16-xen/include/asm-i386/fixmap.h                           |   13 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/agp.h                 |   37 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/desc.h                |  164 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/dma-mapping.h         |  156 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/fixmap.h              |  156 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/floppy.h              |  147 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/highmem.h             |   81 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/hw_irq.h              |   73 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/hypercall.h           |  342 +
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/hypervisor.h          |  224 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/io.h                  |  401 +
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/kmap_types.h          |   32 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/mmu.h                 |   21 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/mmu_context.h         |  105 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/page.h                |  327 +
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/param.h               |   24 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/pci.h                 |  154 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/pgalloc.h             |   64 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/pgtable-2level-defs.h |   21 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/pgtable-2level.h      |   83 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/pgtable-3level-defs.h |   25 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/pgtable-3level.h      |  181 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/pgtable.h             |  521 +
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/processor.h           |  753 ++
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/ptrace.h              |   90 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/scatterlist.h         |   22 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/segment.h             |  117 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/setup.h               |   66 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/smp.h                 |  103 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/spinlock.h            |  217 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/swiotlb.h             |   43 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/synch_bitops.h        |  141 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/system.h              |  679 ++
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/tlbflush.h            |  102 
 linux-2.6.16-xen/include/asm-i386/mach-xen/asm/vga.h                 |   20 
 linux-2.6.16-xen/include/asm-i386/mach-xen/irq_vectors.h             |  125 
 linux-2.6.16-xen/include/asm-i386/mach-xen/mach_traps.h              |   33 
 linux-2.6.16-xen/include/asm-i386/mach-xen/setup_arch_post.h         |   45 
 linux-2.6.16-xen/include/asm-i386/mach-xen/setup_arch_pre.h          |    5 
 linux-2.6.16-xen/include/asm-i386/page.h                             |    4 
 linux-2.6.16-xen/include/asm-i386/spinlock.h                         |    6 
 linux-2.6.16-xen/include/asm-i386/system.h                           |    2 
 linux-2.6.16-xen/include/asm-ia64/fixmap.h                           |    2 
 linux-2.6.16-xen/include/asm-ia64/gcc_intrin.h                       |   60 
 linux-2.6.16-xen/include/asm-ia64/hypercall.h                        |  274 
 linux-2.6.16-xen/include/asm-ia64/hypervisor.h                       |  138 
 linux-2.6.16-xen/include/asm-ia64/intel_intrin.h                     |   68 
 linux-2.6.16-xen/include/asm-ia64/meminit.h                          |    5 
 linux-2.6.16-xen/include/asm-ia64/pal.h                              |    1 
 linux-2.6.16-xen/include/asm-ia64/privop.h                           |   59 
 linux-2.6.16-xen/include/asm-ia64/processor.h                        |    1 
 linux-2.6.16-xen/include/asm-ia64/synch_bitops.h                     |   61 
 linux-2.6.16-xen/include/asm-ia64/system.h                           |    4 
 linux-2.6.16-xen/include/asm-ia64/xen/privop.h                       |  277 +
 linux-2.6.16-xen/include/asm-um/page.h                               |    2 
 linux-2.6.16-xen/include/asm-x86_64/apic.h                           |    2 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/arch_hooks.h        |   27 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/bootsetup.h         |   42 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/desc.h              |  263 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/dma-mapping.h       |  191 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/fixmap.h            |  109 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/floppy.h            |  206 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/hw_irq.h            |  141 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/hypercall.h         |  343 +
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/hypervisor.h        |    2 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/io.h                |  359 +
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/irq.h               |   39 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/mmu.h               |   33 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/mmu_context.h       |  134 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/msr.h               |  399 +
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/nmi.h               |   75 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/page.h              |  318 +
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/pci.h               |  174 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/pgalloc.h           |  198 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/pgtable.h           |  560 ++
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/processor.h         |  493 +
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/ptrace.h            |  125 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/smp.h               |  152 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/synch_bitops.h      |    2 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/system.h            |  434 +
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/timer.h             |   67 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/tlbflush.h          |  104 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/vga.h               |   20 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/asm/xor.h               |  328 +
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/irq_vectors.h           |  123 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/mach_time.h             |  122 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/mach_timer.h            |   48 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/setup_arch_post.h       |   28 
 linux-2.6.16-xen/include/asm-x86_64/mach-xen/setup_arch_pre.h        |    5 
 linux-2.6.16-xen/include/linux/gfp.h                                 |    6 
 linux-2.6.16-xen/include/linux/highmem.h                             |    6 
 linux-2.6.16-xen/include/linux/mm.h                                  |   10 
 linux-2.6.16-xen/include/linux/skbuff.h                              |   13 
 linux-2.6.16-xen/include/xen/balloon.h                               |   73 
 linux-2.6.16-xen/include/xen/driver_util.h                           |   26 
 linux-2.6.16-xen/include/xen/evtchn.h                                |  126 
 linux-2.6.16-xen/include/xen/features.h                              |   20 
 linux-2.6.16-xen/include/xen/foreign_page.h                          |   40 
 linux-2.6.16-xen/include/xen/gnttab.h                                |  126 
 linux-2.6.16-xen/include/xen/hypervisor_sysfs.h                      |   32 
 linux-2.6.16-xen/include/xen/interface/COPYING                       |   28 
 linux-2.6.16-xen/include/xen/interface/acm.h                         |  181 
 linux-2.6.16-xen/include/xen/interface/acm_ops.h                     |   98 
 linux-2.6.16-xen/include/xen/interface/arch-ia64.h                   |  337 +
 linux-2.6.16-xen/include/xen/interface/arch-x86_32.h                 |  195 
 linux-2.6.16-xen/include/xen/interface/arch-x86_64.h                 |  271 
 linux-2.6.16-xen/include/xen/interface/dom0_ops.h                    |  533 +
 linux-2.6.16-xen/include/xen/interface/event_channel.h               |  205 
 linux-2.6.16-xen/include/xen/interface/features.h                    |   53 
 linux-2.6.16-xen/include/xen/interface/grant_table.h                 |  311 +
 linux-2.6.16-xen/include/xen/interface/hvm/hvm_info_table.h          |   24 
 linux-2.6.16-xen/include/xen/interface/hvm/ioreq.h                   |   94 
 linux-2.6.16-xen/include/xen/interface/hvm/vmx_assist.h              |   97 
 linux-2.6.16-xen/include/xen/interface/io/blkif.h                    |   85 
 linux-2.6.16-xen/include/xen/interface/io/console.h                  |   33 
 linux-2.6.16-xen/include/xen/interface/io/netif.h                    |   84 
 linux-2.6.16-xen/include/xen/interface/io/pciif.h                    |   55 
 linux-2.6.16-xen/include/xen/interface/io/ring.h                     |  265 
 linux-2.6.16-xen/include/xen/interface/io/tpmif.h                    |   56 
 linux-2.6.16-xen/include/xen/interface/io/xenbus.h                   |   42 
 linux-2.6.16-xen/include/xen/interface/io/xs_wire.h                  |   97 
 linux-2.6.16-xen/include/xen/interface/memory.h                      |  155 
 linux-2.6.16-xen/include/xen/interface/nmi.h                         |   59 
 linux-2.6.16-xen/include/xen/interface/physdev.h                     |   71 
 linux-2.6.16-xen/include/xen/interface/sched.h                       |   87 
 linux-2.6.16-xen/include/xen/interface/sched_ctl.h                   |   64 
 linux-2.6.16-xen/include/xen/interface/trace.h                       |   86 
 linux-2.6.16-xen/include/xen/interface/vcpu.h                        |  119 
 linux-2.6.16-xen/include/xen/interface/version.h                     |   64 
 linux-2.6.16-xen/include/xen/interface/xen-compat.h                  |   31 
 linux-2.6.16-xen/include/xen/interface/xen.h                         |  451 +
 linux-2.6.16-xen/include/xen/net_driver_util.h                       |   58 
 linux-2.6.16-xen/include/xen/pcifront.h                              |   39 
 linux-2.6.16-xen/include/xen/public/evtchn.h                         |  101 
 linux-2.6.16-xen/include/xen/public/privcmd.h                        |   94 
 linux-2.6.16-xen/include/xen/tpmfe.h                                 |   40 
 linux-2.6.16-xen/include/xen/xen_proc.h                              |   23 
 linux-2.6.16-xen/include/xen/xenbus.h                                |  306 +
 linux-2.6.16-xen/include/xen/xencons.h                               |   14 
 linux-2.6.16-xen/kernel/Kconfig.preempt                              |    1 
 linux-2.6.16-xen/lib/Makefile                                        |    3 
 linux-2.6.16-xen/mm/Kconfig                                          |    3 
 linux-2.6.16-xen/mm/highmem.c                                        |   11 
 linux-2.6.16-xen/mm/memory.c                                         |  116 
 linux-2.6.16-xen/mm/mmap.c                                           |    4 
 linux-2.6.16-xen/mm/page_alloc.c                                     |    6 
 linux-2.6.16-xen/net/core/dev.c                                      |   63 
 linux-2.6.16-xen/net/core/skbuff.c                                   |   41 
 linux-2.6.16-xen/scripts/Makefile.xen                                |   14 
 linux-2.6.16.noarch/arch/i386/kernel/vm86.c                          |    8 
 linux-2.6.16.noarch/arch/x86_64/ia32/Makefile                        |   20 
 367 files changed, 79425 insertions(+), 223 deletions(-)

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.12 -r 1.13 linux-2.6-xen.patch
Index: linux-2.6-xen.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/FC-5/linux-2.6-xen.patch,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- linux-2.6-xen.patch	4 May 2006 18:40:57 -0000	1.12
+++ linux-2.6-xen.patch	11 May 2006 22:02:56 -0000	1.13
@@ -1,6 +1,6 @@
-diff -Nru -p --exclude='.*' ref-linux-2.6.16-rc5/arch/i386/boot-xen/Makefile linux-2.6.16-rc5-xen0/arch/i386/boot-xen/Makefile
---- ref-linux-2.6.16-rc5/arch/i386/boot-xen/Makefile	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.16-rc5-xen0/arch/i386/boot-xen/Makefile	2006-03-01 11:09:36.000000000 -0500
+diff -Nru -p --exclude='.*' ref-linux-2.6.16/arch/i386/boot-xen/Makefile linux-2.6.16-xen/arch/i386/boot-xen/Makefile
+--- ref-linux-2.6.16/arch/i386/boot-xen/Makefile	1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-xen/arch/i386/boot-xen/Makefile	2006-05-10 13:01:34.000000000 +0200
 @@ -0,0 +1,21 @@
 +
 +OBJCOPYFLAGS := -g --strip-unneeded
@@ -23,9 +23,9 @@
 +	install -m0664 .config $(INSTALL_ROOT)/boot/config-$(XINSTALL_NAME)$(INSTALL_SUFFIX)
 +	install -m0664 System.map $(INSTALL_ROOT)/boot/System.map-$(XINSTALL_NAME)$(INSTALL_SUFFIX)
 +	ln -f -s vmlinuz-$(XINSTALL_NAME)$(INSTALL_SUFFIX) $(INSTALL_ROOT)/boot/vmlinuz-$(VERSION).$(PATCHLEVEL)$(XENGUEST)$(INSTALL_SUFFIX)
-diff -Nru -p --exclude='.*' ref-linux-2.6.16-rc5/arch/i386/Kconfig linux-2.6.16-rc5-xen0/arch/i386/Kconfig
---- ref-linux-2.6.16-rc5/arch/i386/Kconfig	2006-03-01 11:12:36.000000000 -0500
-+++ linux-2.6.16-rc5-xen0/arch/i386/Kconfig	2006-03-01 11:09:36.000000000 -0500
+diff -Nru -p --exclude='.*' ref-linux-2.6.16/arch/i386/Kconfig linux-2.6.16-xen/arch/i386/Kconfig
+--- ref-linux-2.6.16/arch/i386/Kconfig	2006-05-10 13:22:17.000000000 +0200
++++ linux-2.6.16-xen/arch/i386/Kconfig	2006-05-10 13:01:34.000000000 +0200
 @@ -58,6 +58,15 @@ config X86_PC
  	help
  	  Choose this option if your computer is a standard PC or compatible.
@@ -329,9 +329,9 @@
  config KTIME_SCALAR
  	bool
  	default y
-diff -Nru -p --exclude='.*' ref-linux-2.6.16-rc5/arch/i386/Kconfig.cpu linux-2.6.16-rc5-xen0/arch/i386/Kconfig.cpu
---- ref-linux-2.6.16-rc5/arch/i386/Kconfig.cpu	2006-03-01 11:12:26.000000000 -0500
-+++ linux-2.6.16-rc5-xen0/arch/i386/Kconfig.cpu	2006-03-01 11:09:36.000000000 -0500
+diff -Nru -p --exclude='.*' ref-linux-2.6.16/arch/i386/Kconfig.cpu linux-2.6.16-xen/arch/i386/Kconfig.cpu
+--- ref-linux-2.6.16/arch/i386/Kconfig.cpu	2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-xen/arch/i386/Kconfig.cpu	2006-05-10 13:01:34.000000000 +0200
 @@ -251,7 +251,7 @@ config X86_PPRO_FENCE
  
  config X86_F00F_BUG
@@ -341,9 +341,9 @@
  	default y
  
  config X86_WP_WORKS_OK
-diff -Nru -p --exclude='.*' ref-linux-2.6.16-rc5/arch/i386/kernel/acpi/boot-xen.c linux-2.6.16-rc5-xen0/arch/i386/kernel/acpi/boot-xen.c
---- ref-linux-2.6.16-rc5/arch/i386/kernel/acpi/boot-xen.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.16-rc5-xen0/arch/i386/kernel/acpi/boot-xen.c	2006-03-01 11:09:36.000000000 -0500
+diff -Nru -p --exclude='.*' ref-linux-2.6.16/arch/i386/kernel/acpi/boot-xen.c linux-2.6.16-xen/arch/i386/kernel/acpi/boot-xen.c
+--- ref-linux-2.6.16/arch/i386/kernel/acpi/boot-xen.c	1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-xen/arch/i386/kernel/acpi/boot-xen.c	2006-05-10 13:01:34.000000000 +0200
 @@ -0,0 +1,1161 @@
 +/*
 + *  boot.c - Architecture-Specific Low-Level ACPI Boot Support
@@ -391,6 +391,9 @@
 +extern int gsi_irq_sharing(int gsi);
 +#include <asm/proto.h>
 +
++static inline int acpi_madt_oem_check(char *oem_id, char *oem_table_id) { return 0; }
++
++
 +#else				/* X86 */
 +
 +#ifdef	CONFIG_X86_LOCAL_APIC
@@ -1458,9 +1461,6 @@
 +		disable_acpi();
 +		return error;
 +	}
-+#ifdef __i386__
-+	check_acpi_pci();
-+#endif
 +
 +	acpi_table_parse(ACPI_BOOT, acpi_parse_sbf);
 +
@@ -1506,9 +1506,9 @@
 +
 +	return 0;
 +}
-diff -Nru -p --exclude='.*' ref-linux-2.6.16-rc5/arch/i386/kernel/acpi/Makefile linux-2.6.16-rc5-xen0/arch/i386/kernel/acpi/Makefile
---- ref-linux-2.6.16-rc5/arch/i386/kernel/acpi/Makefile	2006-03-01 11:12:26.000000000 -0500
-+++ linux-2.6.16-rc5-xen0/arch/i386/kernel/acpi/Makefile	2006-03-01 11:09:36.000000000 -0500
+diff -Nru -p --exclude='.*' ref-linux-2.6.16/arch/i386/kernel/acpi/Makefile linux-2.6.16-xen/arch/i386/kernel/acpi/Makefile
+--- ref-linux-2.6.16/arch/i386/kernel/acpi/Makefile	2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-xen/arch/i386/kernel/acpi/Makefile	2006-05-10 13:01:34.000000000 +0200
 @@ -6,3 +6,7 @@ ifneq ($(CONFIG_ACPI_PROCESSOR),)
  obj-y				+= cstate.o processor.o
  endif
@@ -1517,9 +1517,9 @@
 +include $(srctree)/scripts/Makefile.xen
 +obj-y := $(call cherrypickxen, $(obj-y), $(src))
 +endif
-diff -Nru -p --exclude='.*' ref-linux-2.6.16-rc5/arch/i386/kernel/apic-xen.c linux-2.6.16-rc5-xen0/arch/i386/kernel/apic-xen.c
---- ref-linux-2.6.16-rc5/arch/i386/kernel/apic-xen.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.16-rc5-xen0/arch/i386/kernel/apic-xen.c	2006-03-01 11:09:36.000000000 -0500
+diff -Nru -p --exclude='.*' ref-linux-2.6.16/arch/i386/kernel/apic-xen.c linux-2.6.16-xen/arch/i386/kernel/apic-xen.c
+--- ref-linux-2.6.16/arch/i386/kernel/apic-xen.c	1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-xen/arch/i386/kernel/apic-xen.c	2006-05-10 13:01:34.000000000 +0200
 @@ -0,0 +1,140 @@
 +/*
 + *	Local APIC handling, local APIC timers
@@ -1661,9 +1661,9 @@
 +
 +	return 0;
 +}
-diff -Nru -p --exclude='.*' ref-linux-2.6.16-rc5/arch/i386/kernel/asm-offsets.c linux-2.6.16-rc5-xen0/arch/i386/kernel/asm-offsets.c
---- ref-linux-2.6.16-rc5/arch/i386/kernel/asm-offsets.c	2006-01-02 22:21:10.000000000 -0500
-+++ linux-2.6.16-rc5-xen0/arch/i386/kernel/asm-offsets.c	2006-03-01 11:09:36.000000000 -0500
+diff -Nru -p --exclude='.*' ref-linux-2.6.16/arch/i386/kernel/asm-offsets.c linux-2.6.16-xen/arch/i386/kernel/asm-offsets.c
+--- ref-linux-2.6.16/arch/i386/kernel/asm-offsets.c	2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-xen/arch/i386/kernel/asm-offsets.c	2006-05-10 13:01:34.000000000 +0200
 @@ -13,6 +13,7 @@
  #include <asm/fixmap.h>
  #include <asm/processor.h>
@@ -1686,10 +1686,10 @@
 -	DEFINE(VSYSCALL_BASE, __fix_to_virt(FIX_VSYSCALL));
 +	DEFINE(VSYSCALL_BASE, VSYSCALL_BASE);
  }
-diff -Nru -p --exclude='.*' ref-linux-2.6.16-rc5/arch/i386/kernel/cpu/common-xen.c linux-2.6.16-rc5-xen0/arch/i386/kernel/cpu/common-xen.c
---- ref-linux-2.6.16-rc5/arch/i386/kernel/cpu/common-xen.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.16-rc5-xen0/arch/i386/kernel/cpu/common-xen.c	2006-03-01 11:09:36.000000000 -0500
-@@ -0,0 +1,719 @@
+diff -Nru -p --exclude='.*' ref-linux-2.6.16/arch/i386/kernel/cpu/common-xen.c linux-2.6.16-xen/arch/i386/kernel/cpu/common-xen.c
+--- ref-linux-2.6.16/arch/i386/kernel/cpu/common-xen.c	1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-xen/arch/i386/kernel/cpu/common-xen.c	2006-05-10 13:01:34.000000000 +0200
+@@ -0,0 +1,715 @@
 +#include <linux/init.h>
 +#include <linux/string.h>
 +#include <linux/delay.h>
@@ -1726,8 +1726,6 @@
 +
 +struct cpu_dev * cpu_devs[X86_VENDOR_NUM] = {};
 +
-+extern void machine_specific_modify_cpu_capabilities(struct cpuinfo_x86 *c);
-+
 +extern int disable_pse;
 +
 +static void default_init(struct cpuinfo_x86 * c)
@@ -1975,10 +1973,10 @@
 +			c->x86_capability[4] = excap;
 +			c->x86 = (tfms >> 8) & 15;
 +			c->x86_model = (tfms >> 4) & 15;
-+			if (c->x86 == 0xf) {
++			if (c->x86 == 0xf)
 +				c->x86 += (tfms >> 20) & 0xff;
++			if (c->x86 >= 0x6)
 +				c->x86_model += ((tfms >> 16) & 0xF) << 4;
-+			} 
 +			c->x86_mask = tfms & 15;
 +		} else {
 +			/* Have CPUID level 0 only - unheard of */
@@ -2117,8 +2115,6 @@
 +				c->x86_vendor, c->x86_model);
 +	}
 +
-+	machine_specific_modify_cpu_capabilities(c);
-+
 +	/* Now the feature flags better reflect actual CPU features! */
 +
 +	printk(KERN_DEBUG "CPU: After all inits, caps:");
@@ -2409,9 +2405,9 @@
 +	per_cpu(cpu_tlbstate, cpu).active_mm = &init_mm;
 +}
 +#endif
-diff -Nru -p --exclude='.*' ref-linux-2.6.16-rc5/arch/i386/kernel/cpu/Makefile linux-2.6.16-rc5-xen0/arch/i386/kernel/cpu/Makefile
---- ref-linux-2.6.16-rc5/arch/i386/kernel/cpu/Makefile	2006-01-02 22:21:10.000000000 -0500
-+++ linux-2.6.16-rc5-xen0/arch/i386/kernel/cpu/Makefile	2006-03-01 11:09:36.000000000 -0500
+diff -Nru -p --exclude='.*' ref-linux-2.6.16/arch/i386/kernel/cpu/Makefile linux-2.6.16-xen/arch/i386/kernel/cpu/Makefile
+--- ref-linux-2.6.16/arch/i386/kernel/cpu/Makefile	2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-xen/arch/i386/kernel/cpu/Makefile	2006-05-10 13:01:34.000000000 +0200
 @@ -17,3 +17,8 @@ obj-$(CONFIG_X86_MCE)	+=	mcheck/
  
  obj-$(CONFIG_MTRR)	+= 	mtrr/
@@ -2421,10 +2417,10 @@
 +include $(srctree)/scripts/Makefile.xen
 +obj-y := $(call cherrypickxen, $(obj-y), $(src))
 +endif
-diff -Nru -p --exclude='.*' ref-linux-2.6.16-rc5/arch/i386/kernel/cpu/mtrr/main-xen.c linux-2.6.16-rc5-xen0/arch/i386/kernel/cpu/mtrr/main-xen.c
---- ref-linux-2.6.16-rc5/arch/i386/kernel/cpu/mtrr/main-xen.c	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.16-rc5-xen0/arch/i386/kernel/cpu/mtrr/main-xen.c	2006-03-01 11:09:36.000000000 -0500
-@@ -0,0 +1,187 @@
+diff -Nru -p --exclude='.*' ref-linux-2.6.16/arch/i386/kernel/cpu/mtrr/main-xen.c linux-2.6.16-xen/arch/i386/kernel/cpu/mtrr/main-xen.c
+--- ref-linux-2.6.16/arch/i386/kernel/cpu/mtrr/main-xen.c	1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-xen/arch/i386/kernel/cpu/mtrr/main-xen.c	2006-05-10 13:01:34.000000000 +0200
+@@ -0,0 +1,196 @@
 +#include <linux/init.h>
 +#include <linux/proc_fs.h>
 +#include <linux/ctype.h>
@@ -2435,6 +2431,8 @@
 +#include <asm/mtrr.h>
 +#include "mtrr.h"
 +
++static DECLARE_MUTEX(mtrr_sem);
++
 +void generic_get_mtrr(unsigned int reg, unsigned long *base,
 +		      unsigned int *size, mtrr_type * type)
 +{
@@ -2490,12 +2488,15 @@
[...18799 lines suppressed...]
 +	}
++	return 0;
++out:
++	return -EPROTO;
++}
++#else
++inline int skb_checksum_setup(struct sk_buff *skb) {}
 +#endif
 +
++
+ /**
+  *	dev_queue_xmit - transmit a buffer
+  *	@skb: buffer to transmit
+@@ -1260,6 +1303,12 @@ int dev_queue_xmit(struct sk_buff *skb)
+ 	    __skb_linearize(skb, GFP_ATOMIC))
+ 		goto out_kfree_skb;
+ 
++ 	/* If a checksum-deferred packet is forwarded to a device that needs a
++ 	 * checksum, correct the pointers and force checksumming.
++ 	 */
++ 	if(skb_checksum_setup(skb))
++ 		goto out_kfree_skb;
++  
  	/* If packet is not checksummed and device does not support
  	 * checksumming for this protocol, complete checksumming here.
  	 */
-@@ -1609,6 +1646,19 @@ int netif_receive_skb(struct sk_buff *sk
+@@ -1609,6 +1658,19 @@ int netif_receive_skb(struct sk_buff *sk
  	}
  #endif
  
 +#ifdef CONFIG_XEN
 +	switch (skb->ip_summed) {
 +	case CHECKSUM_UNNECESSARY:
-+		skb->proto_csum_valid = 1;
++		skb->proto_data_valid = 1;
 +		break;
 +	case CHECKSUM_HW:
 +		/* XXX Implement me. */
 +	default:
-+		skb->proto_csum_valid = 0;
++		skb->proto_data_valid = 0;
 +		break;
 +	}
 +#endif
@@ -80674,9 +82550,17 @@
  	list_for_each_entry_rcu(ptype, &ptype_all, list) {
  		if (!ptype->dev || ptype->dev == skb->dev) {
  			if (pt_prev) 
-diff -Nru -p --exclude='.*' ref-linux-2.6.16-rc5/net/core/skbuff.c linux-2.6.16-rc5-xen0/net/core/skbuff.c
---- ref-linux-2.6.16-rc5/net/core/skbuff.c	2006-03-01 11:12:32.000000000 -0500
-+++ linux-2.6.16-rc5-xen0/net/core/skbuff.c	2006-03-01 11:09:39.000000000 -0500
+@@ -3300,6 +3362,7 @@ EXPORT_SYMBOL(unregister_netdevice_notif
+ EXPORT_SYMBOL(net_enable_timestamp);
+ EXPORT_SYMBOL(net_disable_timestamp);
+ EXPORT_SYMBOL(dev_get_flags);
++EXPORT_SYMBOL(skb_checksum_setup);
+ 
+ #if defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE)
+ EXPORT_SYMBOL(br_handle_frame_hook);
+diff -Nru -p --exclude='.*' ref-linux-2.6.16/net/core/skbuff.c linux-2.6.16-xen/net/core/skbuff.c
+--- ref-linux-2.6.16/net/core/skbuff.c	2006-03-20 06:53:29.000000000 +0100
++++ linux-2.6.16-xen/net/core/skbuff.c	2006-05-10 13:01:40.000000000 +0200
 @@ -132,6 +132,7 @@ void skb_under_panic(struct sk_buff *skb
   *	Buffers may only be allocated from interrupts using a @gfp_mask of
   *	%GFP_ATOMIC.
@@ -80756,15 +82640,15 @@
  	n->cloned = 1;
  	n->nohdr = 0;
 +#ifdef CONFIG_XEN
-+	C(proto_csum_valid);
++	C(proto_data_valid);
 +	C(proto_csum_blank);
 +#endif
  	C(pkt_type);
  	C(ip_summed);
  	C(priority);
-diff -Nru -p --exclude='.*' ref-linux-2.6.16-rc5/scripts/Makefile.xen linux-2.6.16-rc5-xen0/scripts/Makefile.xen
---- ref-linux-2.6.16-rc5/scripts/Makefile.xen	1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.16-rc5-xen0/scripts/Makefile.xen	2006-03-01 11:09:39.000000000 -0500
+diff -Nru -p --exclude='.*' ref-linux-2.6.16/scripts/Makefile.xen linux-2.6.16-xen/scripts/Makefile.xen
+--- ref-linux-2.6.16/scripts/Makefile.xen	1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.16-xen/scripts/Makefile.xen	2006-05-10 13:01:40.000000000 +0200
 @@ -0,0 +1,14 @@
 +
 +# cherrypickxen($1 = allobj)
@@ -80780,45 +82664,77 @@
 +	  )
 +# filterxen($1 = allobj, $2 = noobjs)
 +filterxen = $(filter-out $(2), $(1))
---- linux-2.6.16.noarch/arch/i386/kernel/io_apic-xen.c~	2006-05-04 13:54:46.000000000 -0400
-+++ linux-2.6.16.noarch/arch/i386/kernel/io_apic-xen.c	2006-05-04 13:56:43.000000000 -0400
-@@ -93,6 +93,8 @@ static struct { int pin, apic; } ioapic_
+diff -uNp linux-2.6.16.noarch/arch/x86_64/ia32/Makefile.orig linux-2.6.16.noarch/arch/x86_64/ia32/Makefile
+--- linux-2.6.16.noarch/arch/x86_64/ia32/Makefile.orig	2006-05-10 13:33:51.000000000 +0200
++++ linux-2.6.16.noarch/arch/x86_64/ia32/Makefile	2006-05-10 14:03:16.000000000 +0200
+@@ -23,9 +23,25 @@ quiet_cmd_syscall = SYSCALL $@
+ 			   -Wl,-soname=linux-gate.so.1 -o $@ \
+ 			   -Wl,-T,$(filter-out FORCE,$^)
  
- static DEFINE_SPINLOCK(ioapic_lock);
++$(obj)/vsyscall-int80.so \
+ $(obj)/vsyscall-sysenter.so $(obj)/vsyscall-syscall.so: \
+ $(obj)/vsyscall-%.so: $(src)/vsyscall.lds $(obj)/vsyscall-%.o FORCE
+ 	$(call if_changed,syscall)
  
-+int timer_over_8254 __initdata = 1;
+-AFLAGS_vsyscall-sysenter.o = -m32 -Wa,-32
+-AFLAGS_vsyscall-syscall.o = -m32 -Wa,-32
++AFLAGS_vsyscall-sysenter.o = -m32 -Wa,-32 -Iarch/i386/kernel
++AFLAGS_vsyscall-syscall.o = -m32 -Wa,-32 -Iarch/i386/kernel
 +
- /*
-  *	Is the SiS APIC rmw bug present ?
-  *	-1 = don't know, 0 = no, 1 = yes
-@@ -2329,7 +2331,8 @@ static inline void check_timer(void)
- 	apic_write_around(APIC_LVT0, APIC_LVT_MASKED | APIC_DM_EXTINT);
- 	init_8259A(1);
- 	timer_ack = 1;
--	enable_8259A_irq(0);
-+	if (timer_over_8254 > 0)
-+		enable_8259A_irq(0);
- 
- 	pin1  = find_isa_irq_pin(0, mp_INT);
- 	apic1 = find_isa_irq_apic(0, mp_INT);
-@@ -2459,6 +2462,20 @@ void __init setup_IO_APIC(void)
- 		print_IO_APIC();
- }
- 
-+static int __init setup_disable_8254_timer(char *s)
-+{
-+	timer_over_8254 = -1;
-+	return 1;
-+}
-+static int __init setup_enable_8254_timer(char *s)
-+{
-+	timer_over_8254 = 2;
-+	return 1;
-+}
++ifdef CONFIG_XEN
++AFLAGS_vsyscall-int80.o = -m32 -Wa,-32 -Iarch/i386/kernel
++CFLAGS_syscall32-xen.o += -DUSE_INT80
++AFLAGS_syscall32_syscall-xen.o += -DUSE_INT80
 +
-+__setup("disable_8254_timer", setup_disable_8254_timer);
-+__setup("enable_8254_timer", setup_enable_8254_timer);
++$(obj)/syscall32_syscall-xen.o: \
++	$(foreach F,int80 sysenter syscall,$(obj)/vsyscall-$F.so)
++
++targets := $(foreach F,int80 sysenter syscall,vsyscall-$F.o vsyscall-$F.so)
++
++include $(srctree)/scripts/Makefile.xen
 +
++obj-y := $(call cherrypickxen, $(obj-y))
++endif
+diff -uNp linux-2.6.16.noarch/arch/i386/kernel/vm86.c.orig linux-2.6.16.noarch/arch/i386/kernel/vm86.c
+--- linux-2.6.16.noarch/arch/i386/kernel/vm86.c.orig	2006-05-10 13:33:51.000000000 +0200
++++ linux-2.6.16.noarch/arch/i386/kernel/vm86.c	2006-05-10 14:01:24.000000000 +0200
+@@ -98,7 +98,9 @@
+ struct pt_regs * FASTCALL(save_v86_state(struct kernel_vm86_regs * regs));
+ struct pt_regs * fastcall save_v86_state(struct kernel_vm86_regs * regs)
+ {
++#ifndef CONFIG_X86_NO_TSS
+ 	struct tss_struct *tss;
++#endif
+ 	struct pt_regs *ret;
+ 	unsigned long tmp;
+ 
+@@ -123,7 +125,9 @@ struct pt_regs * fastcall save_v86_state
+ 		do_exit(SIGSEGV);
+ 	}
+ 
++#ifndef CONFIG_X86_NO_TSS
+ 	tss = &per_cpu(init_tss, get_cpu());
++#endif
+ 	current->thread.esp0 = current->thread.saved_esp0;
+ 	current->thread.sysenter_cs = __KERNEL_CS;
+ 	load_esp0(tss, &current->thread);
+@@ -252,7 +256,9 @@ out:
+ 
+ static void do_sys_vm86(struct kernel_vm86_struct *info, struct task_struct *tsk)
+ {
++#ifndef CONFIG_X86_NO_TSS
+ 	struct tss_struct *tss;
++#endif
+ 	long eax;
  /*
-  *	Called after all the initialization is done. If we didnt find any
-  *	APIC bugs then we can allow the modify fast path
+  * make sure the vm86() system call doesn't try to do anything silly
+@@ -297,7 +303,9 @@ static void do_sys_vm86(struct kernel_vm
+ 	savesegment(fs, tsk->thread.saved_fs);
+ 	savesegment(gs, tsk->thread.saved_gs);
+ 
++#ifndef CONFIG_X86_NO_TSS
+ 	tss = &per_cpu(init_tss, get_cpu());
++#endif
+ 	tsk->thread.esp0 = (unsigned long) &info->VM86_TSS_ESP0;
+ 	if (cpu_has_sep)
+ 		tsk->thread.sysenter_cs = 0;




More information about the fedora-cvs-commits mailing list