rpms/kernel/devel kernel-2.6.spec, 1.2131, 1.2132 linux-2.6-debug-oops-pause.patch, 1.10, 1.11 linux-2.6-devmem-xen.patch, 1.1, 1.2 linux-2.6-execshield-xen.patch, 1.4, 1.5 linux-2.6-xen-compile-fixes.patch, 1.4, 1.5 linux-2.6-xen.patch, 1.6, 1.7 sources, 1.346, 1.347 linux-2.6-crash-xen.patch, 1.2, NONE linux-2.6-percpu-NR_CPUS-hotplug-fix.patch, 1.2, NONE linux-2.6-vdso-xen.patch, 1.1, NONE linux-2.6-xen-i386-mach-io-check-nmi.patch, 1.2, NONE linux-2.6-xen-net-csum.patch, 1.2, NONE linux-2.6-xen-pmd-shared.patch, 1.2, NONE linux-2.6-xen-smp-alts.patch, 1.2, NONE

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Fri Apr 14 18:11:55 UTC 2006


Author: quintela

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

Modified Files:
	kernel-2.6.spec linux-2.6-debug-oops-pause.patch 
	linux-2.6-devmem-xen.patch linux-2.6-execshield-xen.patch 
	linux-2.6-xen-compile-fixes.patch linux-2.6-xen.patch sources 
Removed Files:
	linux-2.6-crash-xen.patch 
	linux-2.6-percpu-NR_CPUS-hotplug-fix.patch 
	linux-2.6-vdso-xen.patch 
	linux-2.6-xen-i386-mach-io-check-nmi.patch 
	linux-2.6-xen-net-csum.patch linux-2.6-xen-pmd-shared.patch 
	linux-2.6-xen-smp-alts.patch 
Log Message:
rebase xen & all its friends


Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/kernel-2.6.spec,v
retrieving revision 1.2131
retrieving revision 1.2132
diff -u -r1.2131 -r1.2132
--- kernel-2.6.spec	12 Apr 2006 23:10:38 -0000	1.2131
+++ kernel-2.6.spec	14 Apr 2006 18:11:38 -0000	1.2132
@@ -7,7 +7,7 @@
 %define buildsmp 0
 %define buildpae 0
 # Whether to apply the Xen patches, leave this enabled.
-%define includexen 0
+%define includexen 1
 # Whether to build the Xen kernels, disable if you want.
 %define buildxen 1
 %define buildxenPAE 0
@@ -180,7 +180,7 @@
 
 
 Source0: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-%{kversion}.tar.bz2
-Source1: xen-20060320.tar.bz2
+Source1: xen-20060413.tar.bz2
 Source2: Config.mk
 
 Source10: COPYING.modules
@@ -242,12 +242,6 @@
 # 500 - 599   s390(x)
 # 600 - 699   sparc(64)
 
-# 690 - 699 xen patches already split in their system
-Patch690: linux-2.6-xen-i386-mach-io-check-nmi.patch
-Patch691: linux-2.6-xen-net-csum.patch
-Patch692: linux-2.6-xen-pmd-shared.patch
-Patch693: linux-2.6-xen-smp-alts.patch
-
 # 700 - 799 Xen
 Patch700: linux-2.6-xen.patch
 Patch701: linux-2.6-xen-compile-fixes.patch
@@ -255,7 +249,6 @@
 Patch703: linux-2.6-xen-move-vdso-fixmap.patch
 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
 
 #
 # Patches 800 through 899 are reserved for bugfixes to the core system
@@ -268,7 +261,6 @@
 Patch810: linux-2.6-execshield.patch
 Patch811: linux-2.6-execshield-xen.patch
 Patch812: linux-2.6-xen-vdso-note.patch
-Patch813: linux-2.6-vdso-xen.patch
 
 # Module signing infrastructure.
 Patch900: linux-2.6-modsign-core.patch
@@ -312,7 +304,6 @@
 
 # Provide read only /dev/crash driver.
 Patch1060: linux-2.6-crash-driver.patch
-Patch1061: linux-2.6-crash-xen.patch
 
 Patch1070: linux-2.6-sleepon.patch
 
@@ -781,13 +772,6 @@
 # Xen
 #
 %if %{includexen}
-# Base Xen patch from linux-2.6-merge.hg
-%patch690 -p1
-# Conflict with non-xen kernels
-#%patch691 -p1
-%patch692 -p1
-%patch693 -p1
-
 #
 # Apply the main xen patch...
 #
@@ -819,7 +803,6 @@
 %patch702 -p1
 %patch704 -p1
 %patch706 -p1
-%patch709 -p1
 
 %endif
 
@@ -843,7 +826,6 @@
 %if %{includexen}
 %patch811 -p1
 %patch812 -p1
-#%patch813 -p1
 %endif
 
 
@@ -896,17 +878,13 @@
 #
 %patch1050 -p1
 %if %{includexen}
-#TODO! --sct @@@
-#%patch1051 -p1
+%patch1051 -p1
 %endif
 
 #
 # /dev/crash driver for the crashdump analysis tool
 #
 %patch1060 -p1
-%if %{includexen}
-%patch1061 -p1
-%endif
 
 #
 # Most^WAll users of sleep_on are broken; fix a bunch
@@ -1670,6 +1648,13 @@
 %endif
 
 %changelog
+* Fri Apr 14 2006 Juan Quintela <quintela at redhat.com>
+- Enable xen again.
+- Update xen hypervisor to cset 9638.
+- Update xen patch to linux-2.6.tip-xen.hg cset 26602.
+- Remove/rediff lots of patches.
+- x86_64 xen don't work, fixing that.
+
 * Wed Apr 12 2006 David Woodhouse <dwmw2 at redhat.com>
 - Add include/{mtd,rdma,keys} directories to kernel-devel package
 

linux-2.6-debug-oops-pause.patch:
 traps.c |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletion(-)

Index: linux-2.6-debug-oops-pause.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-debug-oops-pause.patch,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- linux-2.6-debug-oops-pause.patch	9 Feb 2006 21:45:32 -0000	1.10
+++ linux-2.6-debug-oops-pause.patch	14 Apr 2006 18:11:39 -0000	1.11
@@ -6,9 +6,9 @@
 
 (Wow, I'm really getting desperate for better debug data).
 
-diff -urpN --exclude-from=/home/devel/davej/.exclude linux-2.6.15.noarch/arch/i386/kernel/traps.c oops-pause/arch/i386/kernel/traps.c
---- linux-2.6.15.noarch/arch/i386/kernel/traps.c	2006-02-03 23:31:55.000000000 -0500
-+++ oops-pause/arch/i386/kernel/traps.c	2006-02-03 23:35:44.000000000 -0500
+diff -uNp linux-2.6.16.noarch/arch/i386/kernel/traps.c.orig linux-2.6.16.noarch/arch/i386/kernel/traps.c
+--- linux-2.6.16.noarch/arch/i386/kernel/traps.c.orig	2006-03-24 14:10:02.000000000 +0100
++++ linux-2.6.16.noarch/arch/i386/kernel/traps.c	2006-03-24 14:14:01.000000000 +0100
 @@ -28,6 +28,7 @@
  #include <linux/utsname.h>
  #include <linux/kprobes.h>
@@ -17,7 +17,7 @@
  
  #ifdef CONFIG_EISA
  #include <linux/ioport.h>
-@@ -151,6 +152,18 @@ static inline unsigned long print_contex
+@@ -168,6 +169,18 @@ static inline unsigned long print_contex
  	return ebp;
  }
  
@@ -36,15 +36,15 @@
  static void show_trace_log_lvl(struct task_struct *task,
  			       unsigned long *stack, char *log_lvl)
  {
-@@ -190,6 +190,7 @@ static void show_trace_log_lvl(struct ta
+@@ -193,6 +206,7 @@ static void show_trace_log_lvl(struct ta
+ 		if (!stack)
  			break;
- 		printk(log_lvl);
- 		printk(" =======================\n");
+ 		printk("%s =======================\n", log_lvl);
 +		//pause_for_two_minutes();
  	}
  }
  
-@@ -287,7 +300,8 @@ void show_registers(struct pt_regs *regs
+@@ -302,7 +316,8 @@ void show_registers(struct pt_regs *regs
  		}
  	}
  	printk("\n");

linux-2.6-devmem-xen.patch:
 arch/i386/mm/init-xen.c                |   13 +++++++++++++
 arch/x86_64/mm/init-xen.c              |   26 ++++++++++++++++++++++++++
 include/asm-i386/mach-xen/asm/page.h   |    1 +
 include/asm-x86_64/mach-xen/asm/page.h |    4 ++++
 4 files changed, 44 insertions(+)

Index: linux-2.6-devmem-xen.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-devmem-xen.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-devmem-xen.patch	15 Oct 2005 01:07:29 -0000	1.1
+++ linux-2.6-devmem-xen.patch	14 Apr 2006 18:11:39 -0000	1.2
@@ -1,31 +1,105 @@
---- linux-2.6.8/include/asm-xen/asm-i386/page.h.devmem	2004-10-15 15:24:02.000000000 -0400
-+++ linux-2.6.8/include/asm-xen/asm-i386/page.h	2004-10-15 15:24:31.000000000 -0400
-@@ -207,6 +207,8 @@ static __inline__ int get_order(unsigned
- #define virt_to_machine(_a)	(phys_to_machine(__pa(_a)))
- #define machine_to_virt(_m)	(__va(machine_to_phys(_m)))
+diff -uNp linux-2.6.16.noarch/arch/i386/mm/init-xen.c.orig linux-2.6.16.noarch/arch/i386/mm/init-xen.c
+--- linux-2.6.16.noarch/arch/i386/mm/init-xen.c.orig	2006-04-13 19:37:24.000000000 +0200
++++ linux-2.6.16.noarch/arch/i386/mm/init-xen.c	2006-04-13 19:39:38.000000000 +0200
+@@ -280,6 +280,17 @@ int page_is_ram(unsigned long pagenr)
  
-+#define devmem_is_allowed(x) 1
+ #endif
+ 
++int devmem_is_allowed(unsigned long pagenr)
++{
++   if (pagenr <= 256)
++       return 1;
++   if (!page_is_ram(pagenr))
++       return 1;
++   return 0;
++}
 +
- #endif /* __KERNEL__ */
++EXPORT_SYMBOL_GPL(page_is_ram);
++
+ #ifdef CONFIG_HIGHMEM
+ pte_t *kmap_pte;
+ pgprot_t kmap_prot;
+@@ -734,6 +745,7 @@ void __init mem_init(void)
+  * Specifically, in the case of x86, we will always add
+  * memory to the highmem for now.
+  */
++#ifdef CONFIG_HOTPLUG_MEMORY
+ #ifndef CONFIG_NEED_MULTIPLE_NODES
+ int add_memory(u64 start, u64 size)
+ {
+@@ -750,6 +762,7 @@ int remove_memory(u64 start, u64 size)
+ 	return -EINVAL;
+ }
+ #endif
++#endif
+ 
+ kmem_cache_t *pgd_cache;
+ kmem_cache_t *pmd_cache;
+diff -urNp --exclude-from=/home/mitica/quintela/config/misc/dontdiff linux-2.6.16.orig/arch/x86_64/mm/init-xen.c linux-2.6.16.noarch/arch/x86_64/mm/init-xen.c
+--- linux-2.6.16.orig/arch/x86_64/mm/init-xen.c	2006-04-13 14:19:58.000000000 +0200
++++ linux-2.6.16.noarch/arch/x86_64/mm/init-xen.c	2006-04-13 16:16:23.000000000 +0200
+@@ -847,6 +847,10 @@ void __init clear_kernel_mapping(unsigne
+ 	__flush_tlb_all();
+ } 
+ 
++static inline int page_is_ram (unsigned long pagenr)
++{
++	return 1;
++}
+ /*
+  * Memory hotplug specific functions
+  * These are only for non-NUMA machines right now.
+@@ -891,6 +895,28 @@ EXPORT_SYMBOL_GPL(remove_memory);
  
- #endif /* _I386_PAGE_H */
---- linux-2.6.11/include/asm-xen/asm-i386/io.h.rc4	2005-05-16 16:30:29.000000000 -0400
-+++ linux-2.6.11/include/asm-xen/asm-i386/io.h	2005-05-16 16:31:41.000000000 -0400
-@@ -50,6 +50,17 @@
- #include <linux/vmalloc.h>
- #include <asm/fixmap.h>
+ #endif
  
 +/*
-+ * Convert a physical pointer to a virtual kernel pointer for /dev/mem
-+ * access
++ * devmem_is_allowed() checks to see if /dev/mem access to a certain address is
++ * valid. The argument is a physical page number.
++ *
++ *
++ * On x86-64, access has to be given to the first megabyte of ram because that area
++ * contains bios code and data regions used by X and dosemu and similar apps.
++ * Access has to be given to non-kernel-ram areas as well, these contain the PCI
++ * mmio resources as well as potential bios/acpi data regions.
 + */
-+#define xlate_dev_mem_ptr(p)    __va(p)
++int devmem_is_allowed(unsigned long pagenr)
++{
++	if (pagenr <= 256)
++		return 1;
++	if (!page_is_ram(pagenr))
++		return 1;
++	return 0;
++}
 +
-+/*
-+ * Convert a virtual cached pointer to an uncached pointer
-+ */
-+#define xlate_dev_kmem_ptr(p)   p
 +
- /**
-  *	virt_to_phys	-	map virtual addresses to physical
-  *	@address: address to remap
++EXPORT_SYMBOL_GPL(devmem_is_allowed);
++
+ static struct kcore_list kcore_mem, kcore_vmalloc, kcore_kernel, kcore_modules,
+ 			 kcore_vsyscall;
+ 
+diff -urNp --exclude-from=/home/mitica/quintela/config/misc/dontdiff linux-2.6.16.orig/include/asm-i386/mach-xen/asm/page.h linux-2.6.16.noarch/include/asm-i386/mach-xen/asm/page.h
+--- linux-2.6.16.orig/include/asm-i386/mach-xen/asm/page.h	2006-04-13 14:19:59.000000000 +0200
++++ linux-2.6.16.noarch/include/asm-i386/mach-xen/asm/page.h	2006-04-13 16:19:23.000000000 +0200
+@@ -276,6 +276,7 @@ extern unsigned int __VMALLOC_RESERVE;
+ 
+ extern int sysctl_legacy_va_layout;
+ 
++extern int devmem_is_allowed(unsigned long pagenr);
+ extern int page_is_ram(unsigned long pagenr);
+ 
+ #endif /* __ASSEMBLY__ */
+diff -urNp --exclude-from=/home/mitica/quintela/config/misc/dontdiff linux-2.6.16.orig/include/asm-x86_64/mach-xen/asm/page.h linux-2.6.16.noarch/include/asm-x86_64/mach-xen/asm/page.h
+--- linux-2.6.16.orig/include/asm-x86_64/mach-xen/asm/page.h	2006-04-13 14:19:58.000000000 +0200
++++ linux-2.6.16.noarch/include/asm-x86_64/mach-xen/asm/page.h	2006-04-13 16:20:50.000000000 +0200
+@@ -309,6 +309,10 @@ static inline pgd_t __pgd(unsigned long 
+ 
+ #define __HAVE_ARCH_GATE_AREA 1	
+ 
++#ifndef __ASSEMBLY__
++extern int devmem_is_allowed(unsigned long pagenr);
++#endif
++
+ #endif /* __KERNEL__ */
+ 
+ #include <asm-generic/memory_model.h>

linux-2.6-execshield-xen.patch:
 arch/i386/kernel/entry-xen.S                                |    8 -
 arch/i386/kernel/process-xen.c                              |   58 +++++++
 arch/i386/kernel/smp-xen.c                                  |    2 
 arch/i386/kernel/traps-xen.c                                |   92 +++++++++++-
 arch/i386/mm/init-xen.c                                     |   11 +
 linux-2.6.15.i686/include/asm-x86_64/mach-xen/asm/pgtable.h |    2 
 linux-2.6.16.i686/arch/i386/kernel/sysenter.c               |    2 
 linux-2.6.16.noarch/arch/x86_64/kernel/setup64-xen.c        |   23 ---
 8 files changed, 168 insertions(+), 30 deletions(-)

Index: linux-2.6-execshield-xen.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-execshield-xen.patch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- linux-2.6-execshield-xen.patch	21 Mar 2006 16:57:38 -0000	1.4
+++ linux-2.6-execshield-xen.patch	14 Apr 2006 18:11:39 -0000	1.5
@@ -267,10 +267,10 @@
  
  	pagetable_init();
  
-diff -urNp --exclude-from=/home/mitica/quintela/config/misc/dontdiff linux-2.6.15.orig/arch/x86_64/kernel/setup64-xen.c linux-2.6.15.noarch/arch/x86_64/kernel/setup64-xen.c
---- linux-2.6.15.orig/arch/x86_64/kernel/setup64-xen.c	2006-02-10 20:25:28.000000000 +0100
-+++ linux-2.6.15.noarch/arch/x86_64/kernel/setup64-xen.c	2006-02-10 21:27:22.000000000 +0100
-@@ -51,7 +51,7 @@ Control non executable mappings for 64bi
+diff -uNp linux-2.6.16.noarch/arch/x86_64/kernel/setup64-xen.c.orig linux-2.6.16.noarch/arch/x86_64/kernel/setup64-xen.c
+--- linux-2.6.16.noarch/arch/x86_64/kernel/setup64-xen.c.orig	2006-04-13 14:02:32.000000000 +0200
++++ linux-2.6.16.noarch/arch/x86_64/kernel/setup64-xen.c	2006-04-13 14:05:07.000000000 +0200
+@@ -55,7 +55,7 @@ Control non executable mappings for 64bi
  on	Enable(default)
  off	Disable
  */ 
@@ -279,15 +279,13 @@
  {
  	if (!strncmp(str, "on", 2)) {
                  __supported_pte_mask |= _PAGE_NX; 
-@@ -60,28 +60,7 @@ int __init nonx_setup(char *str)
- 		do_not_nx = 1;
- 		__supported_pte_mask &= ~_PAGE_NX;
+@@ -66,27 +66,6 @@ int __init nonx_setup(char *str)
          }
--	return 0;
--} 
+ 	return 1;
+ } 
 -__setup("noexec=", nonx_setup);	/* parsed early actually */
 -
--int force_personality32 = READ_IMPLIES_EXEC;
+-int force_personality32 = 0; 
 -
 -/* noexec32=on|off
 -Control non executable heap for 32bit processes.
@@ -302,12 +300,13 @@
 -		force_personality32 &= ~READ_IMPLIES_EXEC;
 -	else if (!strcmp(str, "off"))
 -		force_personality32 |= READ_IMPLIES_EXEC;
--	return 0;
- }
+-	return 1;
+-}
 -__setup("noexec32=", nonx32_setup);
- 
+-
  /*
   * Great future plan:
+  * Declare PDA itself and support (irqstack,tss,pgd) as per cpu data.
 diff -uNp linux-2.6.15.i686/include/asm-x86_64/mach-xen/asm/pgtable.h.orig linux-2.6.15.i686/include/asm-x86_64/mach-xen/asm/pgtable.h
 --- linux-2.6.15.i686/include/asm-x86_64/mach-xen/asm/pgtable.h.orig	2006-02-23 16:50:14.000000000 +0100
 +++ linux-2.6.15.i686/include/asm-x86_64/mach-xen/asm/pgtable.h	2006-02-23 16:59:04.000000000 +0100

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 +
 linux-2.6.16.noarch/arch/x86_64/ia32/ia32entry-xen.S         |   17 +++++------
 linux-2.6.16.noarch/net/ipv4/netfilter/ip_nat_proto_tcp.c    |    5 ---
 linux-2.6.16.noarch/net/ipv4/netfilter/ip_nat_proto_udp.c    |    5 ---
 19 files changed, 57 insertions(+), 30 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.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- linux-2.6-xen-compile-fixes.patch	23 Mar 2006 23:51:08 -0000	1.4
+++ linux-2.6-xen-compile-fixes.patch	14 Apr 2006 18:11:39 -0000	1.5
@@ -231,242 +231,89 @@
  	return 0;
  }
  
-diff -urNp --exclude-from=/home/quintela/config/misc/dontdiff linux-2.6.16.orig/arch/i386/mm/init-xen.c linux-2.6.16.noarch/arch/i386/mm/init-xen.c
---- linux-2.6.16.orig/arch/i386/mm/init-xen.c	2006-03-23 16:45:01.000000000 +0100
-+++ linux-2.6.16.noarch/arch/i386/mm/init-xen.c	2006-03-23 19:03:36.000000000 +0100
-@@ -317,7 +317,7 @@ static void __init permanent_kmaps_init(
- 
- static void __meminit free_new_highpage(struct page *page, int pfn)
- {
--	set_page_count(page, 1);
-+	init_page_count(page);
- 	if (pfn < xen_start_info->nr_pages)
- 		__free_page(page);
- 	totalhigh_pages++;
-@@ -676,7 +676,7 @@ void __init mem_init(void)
- 	/* XEN: init and count low-mem pages outside initial allocation. */
- 	for (pfn = xen_start_info->nr_pages; pfn < max_low_pfn; pfn++) {
- 		ClearPageReserved(&mem_map[pfn]);
--		set_page_count(&mem_map[pfn], 1);
-+		init_page_count(&mem_map[pfn]);
- 		totalram_pages++;
- 	}
- 
-@@ -814,7 +814,7 @@ void free_initmem(void)
- 	addr = (unsigned long)(&__init_begin);
- 	for (; addr < (unsigned long)(&__init_end); addr += PAGE_SIZE) {
- 		ClearPageReserved(virt_to_page(addr));
--		set_page_count(virt_to_page(addr), 1);
-+		init_page_count(virt_to_page(addr));
- 		memset((void *)addr, 0xcc, PAGE_SIZE);
- 		free_page(addr);
- 		totalram_pages++;
-@@ -853,7 +853,7 @@ void free_initrd_mem(unsigned long start
- 		printk (KERN_INFO "Freeing initrd memory: %ldk freed\n", (end - start) >> 10);
- 	for (; start < end; start += PAGE_SIZE) {
- 		ClearPageReserved(virt_to_page(start));
--		set_page_count(virt_to_page(start), 1);
-+		init_page_count(virt_to_page(start));
- 		free_page(start);
- 		totalram_pages++;
- 	}
-diff -urNp --exclude-from=/home/quintela/config/misc/dontdiff linux-2.6.16.orig/arch/i386/mm/pgtable-xen.c linux-2.6.16.noarch/arch/i386/mm/pgtable-xen.c
---- linux-2.6.16.orig/arch/i386/mm/pgtable-xen.c	2006-03-23 16:44:59.000000000 +0100
-+++ linux-2.6.16.noarch/arch/i386/mm/pgtable-xen.c	2006-03-23 19:04:29.000000000 +0100
-@@ -236,7 +236,7 @@ struct page *pte_alloc_one(struct mm_str
- 	pte = alloc_pages(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO, 0);
- 	if (pte) {
- 		SetPageForeign(pte, pte_free);
--		set_page_count(pte, 1);
-+		init_page_count(pte);
- 	}
- #endif
- 	return pte;
-@@ -251,7 +251,7 @@ void pte_free(struct page *pte)
- 			va, pfn_pte(page_to_pfn(pte), PAGE_KERNEL), 0));
- 
- 	ClearPageForeign(pte);
--	set_page_count(pte, 1);
-+	init_page_count(pte);
- 
- 	__free_page(pte);
- }
-diff -urNp --exclude-from=/home/quintela/config/misc/dontdiff linux-2.6.16.orig/arch/x86_64/mm/init-xen.c linux-2.6.16.noarch/arch/x86_64/mm/init-xen.c
---- linux-2.6.16.orig/arch/x86_64/mm/init-xen.c	2006-03-23 16:44:53.000000000 +0100
-+++ linux-2.6.16.noarch/arch/x86_64/mm/init-xen.c	2006-03-23 19:02:17.000000000 +0100
-@@ -812,7 +812,7 @@ void __init clear_kernel_mapping(unsigne
- void online_page(struct page *page)
- {
- 	ClearPageReserved(page);
--	set_page_count(page, 1);
-+	init_page_count(page);
- 	__free_page(page);
- 	totalram_pages++;
- 	num_physpages++;
-@@ -930,7 +930,7 @@ void free_initmem(void)
- 	addr = (unsigned long)(&__init_begin);
- 	for (; addr < (unsigned long)(&__init_end); addr += PAGE_SIZE) {
- 		ClearPageReserved(virt_to_page(addr));
--		set_page_count(virt_to_page(addr), 1);
-+		init_page_count(virt_to_page(addr));
- 		memset((void *)(addr & ~(PAGE_SIZE-1)), 0xcc, PAGE_SIZE); 
- 		make_page_writable(
- 			__va(__pa(addr)), XENFEAT_writable_page_tables);
-@@ -978,7 +978,7 @@ void free_initrd_mem(unsigned long start
- 	printk ("Freeing initrd memory: %ldk freed\n", (end - start) >> 10);
- 	for (; start < end; start += PAGE_SIZE) {
- 		ClearPageReserved(virt_to_page(start));
--		set_page_count(virt_to_page(start), 1);
-+		init_page_count(virt_to_page(start));
- 		free_page(start);
- 		totalram_pages++;
- 	}
-diff -urNp --exclude-from=/home/quintela/config/misc/dontdiff linux-2.6.16.orig/drivers/xen/balloon/balloon.c linux-2.6.16.noarch/drivers/xen/balloon/balloon.c
---- linux-2.6.16.orig/drivers/xen/balloon/balloon.c	2006-03-23 16:44:53.000000000 +0100
-+++ linux-2.6.16.noarch/drivers/xen/balloon/balloon.c	2006-03-23 19:00:45.000000000 +0100
-@@ -231,7 +231,7 @@ static int increase_reservation(unsigned
- 
- 		/* Relinquish the page back to the allocator. */
- 		ClearPageReserved(page);
--		set_page_count(page, 1);
-+		init_page_count(page);
- 		__free_page(page);
- 	}
- 
-diff -urNp --exclude-from=/home/quintela/config/misc/dontdiff linux-2.6.16.orig/drivers/xen/netback/netback.c linux-2.6.16.noarch/drivers/xen/netback/netback.c
---- linux-2.6.16.orig/drivers/xen/netback/netback.c	2006-03-23 16:44:53.000000000 +0100
-+++ linux-2.6.16.noarch/drivers/xen/netback/netback.c	2006-03-23 19:00:32.000000000 +0100
-@@ -665,7 +665,7 @@ static void netif_page_release(struct pa
- 	u16 pending_idx = page - virt_to_page(mmap_vstart);
- 
- 	/* Ready for next use. */
--	set_page_count(page, 1);
-+	init_page_count(page);
- 
- 	netif_idx_release(pending_idx);
- }
-@@ -785,7 +785,7 @@ static int __init netback_init(void)
- 
- 	for (i = 0; i < MAX_PENDING_REQS; i++) {
- 		page = virt_to_page(MMAP_VADDR(i));
--		set_page_count(page, 1);
-+		init_page_count(page);
- 		SetPageForeign(page, netif_page_release);
- 	}
- 
-diff -uNp linux-2.6.16.noarch/arch/x86_64/mm/pageattr-xen.c.orig linux-2.6.16.noarch/arch/x86_64/mm/pageattr-xen.c
---- linux-2.6.16.noarch/arch/x86_64/mm/pageattr-xen.c.orig	2006-03-23 22:18:23.000000000 +0100
-+++ linux-2.6.16.noarch/arch/x86_64/mm/pageattr-xen.c	2006-03-24 00:15:24.000000000 +0100
-@@ -199,6 +199,13 @@ static struct page *split_large_page(uns
- 	pte_t *pbase;
- 	if (!base) 
- 		return NULL;
-+	/*
-+	 * page_private is used to track the number of entries in
-+	 * the page table page have non standard attributes.
-+	 */
-+	SetPagePrivate(base);
-+	page_private(base) = 0;
-+
- 	address = __pa(address);
- 	addr = address & LARGE_PAGE_MASK; 
- 	pbase = (pte_t *)page_address(base);
-@@ -231,26 +238,12 @@ static inline void flush_map(unsigned lo
- 	on_each_cpu(flush_kernel_map, (void *)address, 1, 1);
- }
- 
--struct deferred_page { 
--	struct deferred_page *next; 
--	struct page *fpage;
--	unsigned long address;
--}; 
--static struct deferred_page *df_list; /* protected by init_mm.mmap_sem */
-+static struct page *deferred_pages; /* protected by init_mm.mmap_sem */
- 
--static inline void save_page(unsigned long address, struct page *fpage)
-+static inline void save_page(struct page *fpage)
- {
--	struct deferred_page *df;
--	df = kmalloc(sizeof(struct deferred_page), GFP_KERNEL); 
--	if (!df) {
--		flush_map(address);
--		__free_page(fpage);
--	} else { 
--		df->next = df_list;
--		df->fpage = fpage;
--		df->address = address;
--		df_list = df;
--	} 			
-+	fpage->lru.next = (struct list_head *)deferred_pages;
-+	deferred_pages = fpage;
- }
- 
- /* 
-@@ -292,8 +285,8 @@ __change_page_attr(unsigned long address
- 			set_pte(kpte, pfn_pte(pfn, prot));
- 		} else {
-  			/*
-- 			 * split_large_page will take the reference for this change_page_attr
-- 			 * on the split page.
-+			 * split_large_page will take the reference for this
-+			 * change_page_attr on the split page.
-  			 */
- 
- 			struct page *split;
-@@ -305,10 +298,11 @@ __change_page_attr(unsigned long address
- 			set_pte(kpte,mk_pte(split, ref_prot2));
- 			kpte_page = split;
- 		}	
--		get_page(kpte_page);
-+		page_private(kpte_page)++;
- 	} else if ((kpte_flags & _PAGE_PSE) == 0) { 
- 		set_pte(kpte, pfn_pte(pfn, ref_prot));
--		__put_page(kpte_page);
-+		BUG_ON(page_private(kpte_page) == 0);
-+		page_private(kpte_page)--;
- 	} else
- 		BUG();
- 
-@@ -324,13 +318,9 @@ __change_page_attr(unsigned long address
- #else
- 	if (!PageReserved(kpte_page))
- #endif
--		switch (page_count(kpte_page)) {
--		case 1:
--			save_page(address, kpte_page); 		     
-+		if (page_private(kpte_page) == 0) {
-+			save_page(kpte_page);
- 			revert_page(address, ref_prot);
--			break;
--		case 0:
--			BUG(); /* memleak and failed 2M page regeneration */
- 	 	}
- 	return 0;
- } 
-@@ -383,17 +373,18 @@ int change_page_attr(struct page *page, 
- 
- void global_flush_tlb(void)
- { 
--	struct deferred_page *df, *next_df;
-+	struct page *dpage;
- 
- 	down_read(&init_mm.mmap_sem);
--	df = xchg(&df_list, NULL);
-+	dpage = xchg(&deferred_pages, NULL);
- 	up_read(&init_mm.mmap_sem);
--	flush_map((df && !df->next) ? df->address : 0);
--	for (; df; df = next_df) { 
--		next_df = df->next;
--		if (df->fpage) 
--			__free_page(df->fpage);
--		kfree(df);
+diff -urNp --exclude-from=/home/mitica/quintela/config/misc/dontdiff linux-2.6.16.works/arch/x86_64/ia32/ia32entry-xen.S linux-2.6.16.noarch/arch/x86_64/ia32/ia32entry-xen.S
+--- linux-2.6.16.works/arch/x86_64/ia32/ia32entry-xen.S	2006-04-13 14:19:58.000000000 +0200
++++ linux-2.6.16.noarch/arch/x86_64/ia32/ia32entry-xen.S	2006-04-13 20:12:17.000000000 +0200
+@@ -17,6 +17,8 @@
+ 
+ #define __XEN_X86_64 1
+ 	
++#define IA32_NR_syscalls ((ia32_syscall_end - ia32_sys_call_table)/8)
 +
-+	flush_map((dpage && !dpage->lru.next) ? (unsigned long)page_address(dpage) : 0);
-+	while (dpage) {
-+		struct page *tmp = dpage;
-+		dpage = (struct page *)dpage->lru.next;
-+		ClearPagePrivate(tmp);
-+		__free_page(tmp);
- 	} 
- } 
- 
+ 	.macro IA32_ARG_FIXUP noebp=0
+ 	movl	%edi,%r8d
+ 	.if \noebp
+@@ -127,8 +129,8 @@ ENTRY(ia32_sysenter_target)
+ 	CFI_REMEMBER_STATE
+ 	jnz  sysenter_tracesys
+ sysenter_do_call:	
+-	cmpl	$(IA32_NR_syscalls),%eax
+-	jae	ia32_badsys
++	cmpl	$(IA32_NR_syscalls-1),%eax
++	ja	ia32_badsys
+ 	IA32_ARG_FIXUP 1
+ 	call	*ia32_sys_call_table(,%rax,8)
+ 	movq	%rax,RAX-ARGOFFSET(%rsp)
+@@ -231,8 +233,8 @@ ENTRY(ia32_cstar_target)
+ 	CFI_REMEMBER_STATE
+ 	jnz   cstar_tracesys
+ cstar_do_call:	
+-	cmpl $IA32_NR_syscalls,%eax
+-	jae  ia32_badsys
++	cmpl $IA32_NR_syscalls-1,%eax
++	ja  ia32_badsys
+ 	IA32_ARG_FIXUP 1
+ 	call *ia32_sys_call_table(,%rax,8)
+ 	movq %rax,RAX-ARGOFFSET(%rsp)
+@@ -323,8 +325,8 @@ ENTRY(ia32_syscall)
+ 	testl $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP),threadinfo_flags(%r10)
+ 	jnz ia32_tracesys
+ ia32_do_syscall:	
+-	cmpl $(IA32_NR_syscalls),%eax
+-	jae  ia32_badsys
++	cmpl $(IA32_NR_syscalls-1),%eax
++	ja  ia32_badsys
+ 	IA32_ARG_FIXUP
+ 	call *ia32_sys_call_table(,%rax,8) # xxx: rip relative
+ ia32_sysret:
+@@ -718,6 +720,3 @@ ia32_sys_call_table:
+ 	.quad compat_sys_set_robust_list
+ 	.quad compat_sys_get_robust_list
+ ia32_syscall_end:		
+-	.rept IA32_NR_syscalls-(ia32_syscall_end-ia32_sys_call_table)/8
+-		.quad ni_syscall
+-	.endr
+diff -urNp --exclude-from=/home/mitica/quintela/config/misc/dontdiff linux-2.6.16.i686/net/ipv4/netfilter/ip_nat_proto_tcp.c linux-2.6.16.noarch/net/ipv4/netfilter/ip_nat_proto_tcp.c
+--- linux-2.6.16.i686/net/ipv4/netfilter/ip_nat_proto_tcp.c	2006-04-13 23:58:07.000000000 +0200
++++ linux-2.6.16.noarch/net/ipv4/netfilter/ip_nat_proto_tcp.c	2006-04-14 19:39:59.000000000 +0200
+@@ -129,12 +129,9 @@ tcp_manip_pkt(struct sk_buff **pskb,
+ 	if (hdrsize < sizeof(*hdr))
+ 		return 1;
+ 
+-#ifdef CONFIG_XEN
+ 	if ((*pskb)->proto_csum_blank) {
+ 		hdr->check = ip_nat_cheat_check(oldip, ~newip, hdr->check);
+-	} else 
+-#endif
+-	{
++	} else {
+ 		hdr->check = ip_nat_cheat_check(~oldip, newip,
+ 					ip_nat_cheat_check(oldport ^ 0xFFFF,
+ 							   newport,
+diff -urNp --exclude-from=/home/mitica/quintela/config/misc/dontdiff linux-2.6.16.i686/net/ipv4/netfilter/ip_nat_proto_udp.c linux-2.6.16.noarch/net/ipv4/netfilter/ip_nat_proto_udp.c
+--- linux-2.6.16.i686/net/ipv4/netfilter/ip_nat_proto_udp.c	2006-04-13 23:58:39.000000000 +0200
++++ linux-2.6.16.noarch/net/ipv4/netfilter/ip_nat_proto_udp.c	2006-04-14 19:39:59.000000000 +0200
+@@ -114,12 +114,9 @@ udp_manip_pkt(struct sk_buff **pskb,
+ 		portptr = &hdr->dest;
+ 	}
+ 	if (hdr->check) { /* 0 is a special case meaning no checksum */
+-#ifdef CONFIG_XEN
+ 		if ((*pskb)->proto_csum_blank) {
+ 			hdr->check = ip_nat_cheat_check(oldip, ~newip, hdr->check);
+-		} else 
+-#endif
+-		{
++		} else {
+ 			hdr->check = ip_nat_cheat_check(~oldip, newip,
+ 					ip_nat_cheat_check(*portptr ^ 0xFFFF,
+ 							   newport,

linux-2.6-xen.patch:
 linux-2.6.16.noarch/arch/x86_64/Makefile                 |   20 
 linux-2.6.16.noarch/arch/x86_64/ia32/Makefile            |   20 
 tip2/arch/i386/Kconfig                                   |  100 
 tip2/arch/i386/Kconfig.cpu                               |    2 
 tip2/arch/i386/Makefile                                  |   24 
 tip2/arch/i386/boot-xen/Makefile                         |   21 
 tip2/arch/i386/kernel/Makefile                           |   31 
 tip2/arch/i386/kernel/acpi/Makefile                      |    4 
 tip2/arch/i386/kernel/acpi/boot-xen.c                    | 1161 ++++++
 tip2/arch/i386/kernel/apic-xen.c                         |  141 
 tip2/arch/i386/kernel/asm-offsets.c                      |    5 
 tip2/arch/i386/kernel/cpu/Makefile                       |    5 
 tip2/arch/i386/kernel/cpu/common-xen.c                   |  732 ++++
 tip2/arch/i386/kernel/cpu/mtrr/Makefile                  |    7 
 tip2/arch/i386/kernel/cpu/mtrr/main-xen.c                |  197 +
 tip2/arch/i386/kernel/early_printk-xen.c                 |    2 
 tip2/arch/i386/kernel/entry-xen.S                        |  880 ++++
 tip2/arch/i386/kernel/entry.S                            |    4 
 tip2/arch/i386/kernel/fixup.c                            |   95 
 tip2/arch/i386/kernel/head-xen.S                         |  171 
 tip2/arch/i386/kernel/init_task-xen.c                    |   51 
 tip2/arch/i386/kernel/io_apic-xen.c                      | 2744 +++++++++++++++
 tip2/arch/i386/kernel/ioport-xen.c                       |  122 
 tip2/arch/i386/kernel/irq-xen.c                          |  306 +
 tip2/arch/i386/kernel/irq.c                              |    4 
 tip2/arch/i386/kernel/ldt-xen.c                          |  269 +
 tip2/arch/i386/kernel/microcode-xen.c                    |  148 
 tip2/arch/i386/kernel/mpparse-xen.c                      | 1189 ++++++
 tip2/arch/i386/kernel/pci-dma-xen.c                      |  344 +
 tip2/arch/i386/kernel/process-xen.c                      |  824 ++++
 tip2/arch/i386/kernel/quirks-xen.c                       |   48 
 tip2/arch/i386/kernel/setup-xen.c                        | 1826 +++++++++
 tip2/arch/i386/kernel/smp-xen.c                          |  613 +++
 tip2/arch/i386/kernel/swiotlb.c                          |  674 +++
 tip2/arch/i386/kernel/sysenter.c                         |   90 
 tip2/arch/i386/kernel/time-xen.c                         | 1097 +++++
 tip2/arch/i386/kernel/traps-xen.c                        | 1123 ++++++
 tip2/arch/i386/kernel/traps.c                            |    9 
 tip2/arch/i386/kernel/vm86.c                             |    8 
 tip2/arch/i386/kernel/vsyscall-note-xen.S                |   32 
 tip2/arch/i386/kernel/vsyscall.S                         |    2 
 tip2/arch/i386/mach-xen/Makefile                         |    5 
 tip2/arch/i386/mach-xen/setup.c                          |   49 
 tip2/arch/i386/mm/Makefile                               |    8 
 tip2/arch/i386/mm/fault-xen.c                            |  683 +++
 tip2/arch/i386/mm/highmem-xen.c                          |  123 
 tip2/arch/i386/mm/hypervisor.c                           |  424 ++
 tip2/arch/i386/mm/init-xen.c                             |  853 ++++
 tip2/arch/i386/mm/ioremap-xen.c                          |  486 ++
 tip2/arch/i386/mm/pageattr.c                             |    2 
 tip2/arch/i386/mm/pgtable-xen.c                          |  652 +++
 tip2/arch/i386/mm/pgtable.c                              |   12 
 tip2/arch/i386/oprofile/Makefile                         |    4 
 tip2/arch/i386/oprofile/xenoprof.c                       |  395 ++
 tip2/arch/i386/pci/Makefile                              |    9 
 tip2/arch/i386/pci/irq-xen.c                             | 1202 ++++++
 tip2/arch/i386/pci/pcifront.c                            |   55 
 tip2/arch/i386/power/Makefile                            |    4 
 tip2/arch/ia64/Kconfig                                   |   46 
 tip2/arch/ia64/Makefile                                  |   16 
 tip2/arch/ia64/hp/sim/Makefile                           |    2 
 tip2/arch/ia64/kernel/entry.S                            |   32 
 tip2/arch/ia64/kernel/head.S                             |    6 
 tip2/arch/ia64/kernel/pal.S                              |    5 
 tip2/arch/ia64/kernel/sal.c                              |    3 
 tip2/arch/ia64/kernel/setup.c                            |   32 
 tip2/arch/ia64/xen/Makefile                              |    5 
 tip2/arch/ia64/xen/drivers/Makefile                      |   20 
 tip2/arch/ia64/xen/drivers/README                        |    2 
 tip2/arch/ia64/xen/drivers/coreMakefile                  |   26 
 tip2/arch/ia64/xen/drivers/evtchn_ia64.c                 |  273 +
 tip2/arch/ia64/xen/drivers/patches/blkback.c.patch       |   33 
 tip2/arch/ia64/xen/drivers/patches/console.c.patch       |   11 
 tip2/arch/ia64/xen/drivers/patches/devmem.c.patch        |    2 
 tip2/arch/ia64/xen/drivers/patches/gnttab.c.patch        |   33 
 tip2/arch/ia64/xen/drivers/patches/privcmd.c.patch       |   30 
 tip2/arch/ia64/xen/drivers/xenia64_init.c                |   55 
 tip2/arch/ia64/xen/hypercall.S                           |  365 +
 tip2/arch/ia64/xen/xen_ksyms.c                           |   12 
 tip2/arch/ia64/xen/xenconsole.c                          |   19 
 tip2/arch/ia64/xen/xenentry.S                            |  850 ++++
 tip2/arch/ia64/xen/xenhpski.c                            |   19 
 tip2/arch/ia64/xen/xenivt.S                              | 2032 +++++++++++
 tip2/arch/ia64/xen/xenminstate.h                         |  367 ++
 tip2/arch/ia64/xen/xenpal.S                              |   73 
 tip2/arch/ia64/xen/xensetup.S                            |   35 
 tip2/arch/um/kernel/physmem.c                            |    4 
 tip2/arch/x86_64/Kconfig                                 |   62 
 tip2/arch/x86_64/ia32/ia32entry-xen.S                    |  723 +++
 tip2/arch/x86_64/ia32/syscall32-xen.c                    |  128 
 tip2/arch/x86_64/ia32/syscall32_syscall-xen.S            |   28 
 tip2/arch/x86_64/ia32/vsyscall-int80.S                   |   58 
 tip2/arch/x86_64/ia32/vsyscall-sigreturn.S               |    2 
 tip2/arch/x86_64/kernel/Makefile                         |   18 
 tip2/arch/x86_64/kernel/acpi/Makefile                    |    1 
 tip2/arch/x86_64/kernel/apic-xen.c                       |  198 +
 tip2/arch/x86_64/kernel/asm-offsets.c                    |    2 
 tip2/arch/x86_64/kernel/e820-xen.c                       |  744 ++++
 tip2/arch/x86_64/kernel/early_printk-xen.c               |  304 +
 tip2/arch/x86_64/kernel/entry-xen.S                      | 1149 ++++++
 tip2/arch/x86_64/kernel/entry.S                          |    2 
 tip2/arch/x86_64/kernel/genapic-xen.c                    |  144 
 tip2/arch/x86_64/kernel/genapic_xen.c                    |  162 
 tip2/arch/x86_64/kernel/head-xen.S                       |  163 
 tip2/arch/x86_64/kernel/head64-xen.c                     |  140 
 tip2/arch/x86_64/kernel/init_task.c                      |    3 
 tip2/arch/x86_64/kernel/io_apic-xen.c                    | 2231 ++++++++++++
 tip2/arch/x86_64/kernel/ioport-xen.c                     |   58 
 tip2/arch/x86_64/kernel/irq-xen.c                        |  163 
 tip2/arch/x86_64/kernel/irq.c                            |    4 
 tip2/arch/x86_64/kernel/ldt-xen.c                        |  282 +
 tip2/arch/x86_64/kernel/mpparse-xen.c                    | 1002 +++++
 tip2/arch/x86_64/kernel/pci-swiotlb-xen.c                |   54 
 tip2/arch/x86_64/kernel/process-xen.c                    |  796 ++++
 tip2/arch/x86_64/kernel/setup-xen.c                      | 1677 +++++++++
 tip2/arch/x86_64/kernel/setup64-xen.c                    |  360 +
 tip2/arch/x86_64/kernel/smp-xen.c                        |  596 +++
 tip2/arch/x86_64/kernel/smp.c                            |    4 
 tip2/arch/x86_64/kernel/traps-xen.c                      | 1020 +++++
 tip2/arch/x86_64/kernel/vsyscall-xen.c                   |  239 +
 tip2/arch/x86_64/kernel/x8664_ksyms-xen.c                |  158 
 tip2/arch/x86_64/kernel/xen_entry.S                      |   40 
 tip2/arch/x86_64/mm/Makefile                             |   10 
 tip2/arch/x86_64/mm/fault-xen.c                          |  644 +++
 tip2/arch/x86_64/mm/init-xen.c                           | 1145 ++++++
 tip2/arch/x86_64/mm/pageattr-xen.c                       |  390 ++
 tip2/arch/x86_64/oprofile/Makefile                       |    5 
 tip2/arch/x86_64/pci/Makefile                            |   12 
 tip2/drivers/Makefile                                    |    1 
 tip2/drivers/acpi/Kconfig                                |    3 
 tip2/drivers/base/bus.c                                  |    5 
 tip2/drivers/char/mem.c                                  |    6 
 tip2/drivers/char/tpm/Kconfig                            |   14 
 tip2/drivers/char/tpm/Makefile                           |    1 
 tip2/drivers/char/tpm/tpm.c                              |   44 
 tip2/drivers/char/tpm/tpm.h                              |    7 
 tip2/drivers/char/tpm/tpm_atmel.c                        |  230 -
 tip2/drivers/char/tpm/tpm_nsc.c                          |  395 --
 tip2/drivers/char/tpm/tpm_xen.c                          |  536 ++
 tip2/drivers/char/tty_io.c                               |    7 
 tip2/drivers/firmware/Kconfig                            |    2 
 tip2/drivers/pci/Kconfig                                 |    1 
 tip2/drivers/serial/Kconfig                              |    1 
 tip2/drivers/video/Kconfig                               |    2 
 tip2/drivers/xen/Kconfig                                 |  212 +
 tip2/drivers/xen/Makefile                                |   22 
 tip2/drivers/xen/balloon/Makefile                        |    2 
 tip2/drivers/xen/balloon/balloon.c                       |  592 +++
 tip2/drivers/xen/blkback/Makefile                        |    3 
 tip2/drivers/xen/blkback/blkback.c                       |  597 +++
 tip2/drivers/xen/blkback/common.h                        |  145 
 tip2/drivers/xen/blkback/interface.c                     |  184 +
 tip2/drivers/xen/blkback/vbd.c                           |  126 
 tip2/drivers/xen/blkback/xenbus.c                        |  421 ++
 tip2/drivers/xen/blkfront/Kconfig                        |    6 
 tip2/drivers/xen/blkfront/Makefile                       |    5 
 tip2/drivers/xen/blkfront/blkfront.c                     |  819 ++++
 tip2/drivers/xen/blkfront/block.h                        |  165 
 tip2/drivers/xen/blkfront/vbd.c                          |  327 +
 tip2/drivers/xen/blktap/Makefile                         |    3 
 tip2/drivers/xen/blktap/blktap.c                         |  910 ++++
 tip2/drivers/xen/blktap/common.h                         |  110 
 tip2/drivers/xen/blktap/interface.c                      |  146 
 tip2/drivers/xen/blktap/xenbus.c                         |  233 +
 tip2/drivers/xen/char/Makefile                           |    2 
 tip2/drivers/xen/char/mem.c                              |  192 +
 tip2/drivers/xen/console/Makefile                        |    2 
 tip2/drivers/xen/console/console.c                       |  648 +++
 tip2/drivers/xen/console/xencons_ring.c                  |  151 
 tip2/drivers/xen/core/Makefile                           |   11 
 tip2/drivers/xen/core/evtchn.c                           |  863 ++++
 tip2/drivers/xen/core/features.c                         |   29 
 tip2/drivers/xen/core/gnttab.c                           |  464 ++
 tip2/drivers/xen/core/hypervisor_sysfs.c                 |   57 
 tip2/drivers/xen/core/reboot.c                           |  377 ++
 tip2/drivers/xen/core/skbuff.c                           |  144 
 tip2/drivers/xen/core/smpboot.c                          |  576 +++
 tip2/drivers/xen/core/xen_proc.c                         |   29 
 tip2/drivers/xen/core/xen_sysfs.c                        |  311 +
 tip2/drivers/xen/evtchn/Makefile                         |    2 
 tip2/drivers/xen/evtchn/evtchn.c                         |  464 ++
 tip2/drivers/xen/net_driver_util.c                       |   68 
 tip2/drivers/xen/netback/Makefile                        |    5 
 tip2/drivers/xen/netback/common.h                        |  133 
 tip2/drivers/xen/netback/interface.c                     |  334 +
 tip2/drivers/xen/netback/loopback.c                      |  254 +
 tip2/drivers/xen/netback/netback.c                       |  865 ++++
 tip2/drivers/xen/netback/xenbus.c                        |  366 ++
 tip2/drivers/xen/netfront/Kconfig                        |    6 
 tip2/drivers/xen/netfront/Makefile                       |    4 
 tip2/drivers/xen/netfront/netfront.c                     | 1524 ++++++++
 tip2/drivers/xen/pciback/Makefile                        |   10 
 tip2/drivers/xen/pciback/conf_space.c                    |  345 +
 tip2/drivers/xen/pciback/conf_space.h                    |   97 
 tip2/drivers/xen/pciback/conf_space_header.c             |  267 +
 tip2/drivers/xen/pciback/passthrough.c                   |  157 
 tip2/drivers/xen/pciback/pci_stub.c                      |  695 +++
 tip2/drivers/xen/pciback/pciback.h                       |   78 
 tip2/drivers/xen/pciback/pciback_ops.c                   |   74 
 tip2/drivers/xen/pciback/vpci.c                          |  204 +
 tip2/drivers/xen/pciback/xenbus.c                        |  441 ++
 tip2/drivers/xen/pcifront/Makefile                       |    7 
 tip2/drivers/xen/pcifront/pci.c                          |   46 
 tip2/drivers/xen/pcifront/pci_op.c                       |  272 +
 tip2/drivers/xen/pcifront/pcifront.h                     |   40 
 tip2/drivers/xen/pcifront/xenbus.c                       |  294 +
 tip2/drivers/xen/privcmd/Makefile                        |    2 
 tip2/drivers/xen/privcmd/privcmd.c                       |  303 +
 tip2/drivers/xen/tpmback/Makefile                        |    4 
 tip2/drivers/xen/tpmback/common.h                        |   91 
 tip2/drivers/xen/tpmback/interface.c                     |  194 +
 tip2/drivers/xen/tpmback/tpmback.c                       | 1060 +++++
 tip2/drivers/xen/tpmback/xenbus.c                        |  329 +
 tip2/drivers/xen/tpmfront/Makefile                       |    2 
 tip2/drivers/xen/tpmfront/tpmfront.c                     |  768 ++++
 tip2/drivers/xen/tpmfront/tpmfront.h                     |   40 
 tip2/drivers/xen/util.c                                  |   80 
 tip2/drivers/xen/xenbus/Makefile                         |    8 
 tip2/drivers/xen/xenbus/xenbus_client.c                  |  412 ++
 tip2/drivers/xen/xenbus/xenbus_comms.c                   |  218 +
 tip2/drivers/xen/xenbus/xenbus_comms.h                   |   53 
 tip2/drivers/xen/xenbus/xenbus_dev.c                     |  252 +
 tip2/drivers/xen/xenbus/xenbus_probe.c                   | 1083 +++++
 tip2/drivers/xen/xenbus/xenbus_xs.c                      |  856 ++++
 tip2/fs/Kconfig                                          |    1 
 tip2/include/asm-i386/a.out.h                            |    2 
 tip2/include/asm-i386/apic.h                             |    2 
 tip2/include/asm-i386/elf.h                              |    7 
 tip2/include/asm-i386/fixmap.h                           |   13 
 tip2/include/asm-i386/mach-default/mach_traps.h          |   12 
 tip2/include/asm-i386/mach-xen/asm/agp.h                 |   37 
 tip2/include/asm-i386/mach-xen/asm/desc.h                |  164 
 tip2/include/asm-i386/mach-xen/asm/dma-mapping.h         |  156 
 tip2/include/asm-i386/mach-xen/asm/fixmap.h              |  156 
 tip2/include/asm-i386/mach-xen/asm/floppy.h              |  147 
 tip2/include/asm-i386/mach-xen/asm/highmem.h             |   81 
 tip2/include/asm-i386/mach-xen/asm/hw_irq.h              |   73 
 tip2/include/asm-i386/mach-xen/asm/hypercall.h           |  357 +
 tip2/include/asm-i386/mach-xen/asm/hypervisor.h          |  224 +
 tip2/include/asm-i386/mach-xen/asm/io.h                  |  389 ++
 tip2/include/asm-i386/mach-xen/asm/kmap_types.h          |   32 
 tip2/include/asm-i386/mach-xen/asm/mmu.h                 |   21 
 tip2/include/asm-i386/mach-xen/asm/mmu_context.h         |  105 
 tip2/include/asm-i386/mach-xen/asm/page.h                |  326 +
 tip2/include/asm-i386/mach-xen/asm/param.h               |   24 
 tip2/include/asm-i386/mach-xen/asm/pci.h                 |  154 
 tip2/include/asm-i386/mach-xen/asm/pgalloc.h             |   64 
 tip2/include/asm-i386/mach-xen/asm/pgtable-2level-defs.h |   21 
 tip2/include/asm-i386/mach-xen/asm/pgtable-2level.h      |   85 
 tip2/include/asm-i386/mach-xen/asm/pgtable-3level-defs.h |   25 
 tip2/include/asm-i386/mach-xen/asm/pgtable-3level.h      |  183 +
 tip2/include/asm-i386/mach-xen/asm/pgtable.h             |  520 ++
 tip2/include/asm-i386/mach-xen/asm/processor.h           |  756 ++++
 tip2/include/asm-i386/mach-xen/asm/ptrace.h              |   90 
 tip2/include/asm-i386/mach-xen/asm/scatterlist.h         |   22 
 tip2/include/asm-i386/mach-xen/asm/segment.h             |  117 
 tip2/include/asm-i386/mach-xen/asm/setup.h               |   64 
 tip2/include/asm-i386/mach-xen/asm/smp.h                 |  104 
 tip2/include/asm-i386/mach-xen/asm/spinlock.h            |  200 +
 tip2/include/asm-i386/mach-xen/asm/swiotlb.h             |   43 
 tip2/include/asm-i386/mach-xen/asm/synch_bitops.h        |  141 
 tip2/include/asm-i386/mach-xen/asm/system.h              |  576 +++
 tip2/include/asm-i386/mach-xen/asm/tlbflush.h            |  102 
 tip2/include/asm-i386/mach-xen/asm/vga.h                 |   20 
 tip2/include/asm-i386/mach-xen/irq_vectors.h             |  125 
 tip2/include/asm-i386/mach-xen/mach_traps.h              |   33 
 tip2/include/asm-i386/mach-xen/setup_arch_post.h         |   54 
 tip2/include/asm-i386/mach-xen/setup_arch_pre.h          |    5 
 tip2/include/asm-i386/page.h                             |    4 
 tip2/include/asm-i386/pgtable-2level-defs.h              |    2 
 tip2/include/asm-i386/pgtable-3level-defs.h              |    2 
 tip2/include/asm-ia64/fixmap.h                           |    2 
 tip2/include/asm-ia64/gcc_intrin.h                       |   60 
 tip2/include/asm-ia64/hypercall.h                        |  274 +
 tip2/include/asm-ia64/hypervisor.h                       |  138 
 tip2/include/asm-ia64/intel_intrin.h                     |   68 
 tip2/include/asm-ia64/meminit.h                          |    5 
 tip2/include/asm-ia64/pal.h                              |    1 
 tip2/include/asm-ia64/privop.h                           |   59 
 tip2/include/asm-ia64/processor.h                        |    1 
 tip2/include/asm-ia64/synch_bitops.h                     |   61 
 tip2/include/asm-ia64/system.h                           |    4 
 tip2/include/asm-ia64/xen/privop.h                       |  277 +
 tip2/include/asm-um/page.h                               |    2 
 tip2/include/asm-x86_64/apic.h                           |    2 
 tip2/include/asm-x86_64/hw_irq.h                         |    2 
 tip2/include/asm-x86_64/mach-xen/asm/arch_hooks.h        |   27 
 tip2/include/asm-x86_64/mach-xen/asm/bootsetup.h         |   42 
 tip2/include/asm-x86_64/mach-xen/asm/desc.h              |  263 +
 tip2/include/asm-x86_64/mach-xen/asm/dma-mapping.h       |  191 +
 tip2/include/asm-x86_64/mach-xen/asm/dmi.h               |   29 
 tip2/include/asm-x86_64/mach-xen/asm/fixmap.h            |  114 
 tip2/include/asm-x86_64/mach-xen/asm/floppy.h            |  206 +
 tip2/include/asm-x86_64/mach-xen/asm/hw_irq.h            |  141 
 tip2/include/asm-x86_64/mach-xen/asm/hypercall.h         |  357 +
 tip2/include/asm-x86_64/mach-xen/asm/hypervisor.h        |    2 
 tip2/include/asm-x86_64/mach-xen/asm/io.h                |  327 +
 tip2/include/asm-x86_64/mach-xen/asm/irq.h               |   39 
 tip2/include/asm-x86_64/mach-xen/asm/mmu.h               |   33 
 tip2/include/asm-x86_64/mach-xen/asm/mmu_context.h       |  134 
 tip2/include/asm-x86_64/mach-xen/asm/msr.h               |  399 ++
 tip2/include/asm-x86_64/mach-xen/asm/nmi.h               |   75 
 tip2/include/asm-x86_64/mach-xen/asm/page.h              |  317 +
 tip2/include/asm-x86_64/mach-xen/asm/param.h             |   23 
 tip2/include/asm-x86_64/mach-xen/asm/pci.h               |  174 
 tip2/include/asm-x86_64/mach-xen/asm/pgalloc.h           |  226 +
 tip2/include/asm-x86_64/mach-xen/asm/pgtable.h           |  564 +++
 tip2/include/asm-x86_64/mach-xen/asm/processor.h         |  494 ++
 tip2/include/asm-x86_64/mach-xen/asm/ptrace.h            |  125 
 tip2/include/asm-x86_64/mach-xen/asm/smp.h               |  153 
 tip2/include/asm-x86_64/mach-xen/asm/synch_bitops.h      |    2 
 tip2/include/asm-x86_64/mach-xen/asm/system.h            |  428 ++
 tip2/include/asm-x86_64/mach-xen/asm/timer.h             |   67 
 tip2/include/asm-x86_64/mach-xen/asm/tlbflush.h          |  104 
 tip2/include/asm-x86_64/mach-xen/asm/vga.h               |   20 
 tip2/include/asm-x86_64/mach-xen/asm/xor.h               |  328 +
 tip2/include/asm-x86_64/mach-xen/irq_vectors.h           |  123 
 tip2/include/asm-x86_64/mach-xen/mach_time.h             |  111 
 tip2/include/asm-x86_64/mach-xen/mach_timer.h            |   48 
 tip2/include/asm-x86_64/mach-xen/setup_arch_post.h       |   41 
 tip2/include/asm-x86_64/mach-xen/setup_arch_pre.h        |    5 
 tip2/include/linux/gfp.h                                 |    6 
 tip2/include/linux/highmem.h                             |    6 
 tip2/include/linux/mm.h                                  |   13 
 tip2/include/linux/pfn.h                                 |    2 
 tip2/include/linux/skbuff.h                              |   13 
 tip2/include/xen/balloon.h                               |   73 
 tip2/include/xen/driver_util.h                           |   26 
 tip2/include/xen/evtchn.h                                |  126 
 tip2/include/xen/features.h                              |   20 
 tip2/include/xen/foreign_page.h                          |   40 
 tip2/include/xen/gnttab.h                                |  126 
 tip2/include/xen/hypervisor_sysfs.h                      |   32 
 tip2/include/xen/interface/acm.h                         |  181 
 tip2/include/xen/interface/acm_ops.h                     |   98 
 tip2/include/xen/interface/arch-ia64.h                   |  337 +
 tip2/include/xen/interface/arch-x86_32.h                 |  200 +
 tip2/include/xen/interface/arch-x86_64.h                 |  273 +
 tip2/include/xen/interface/callback.h                    |   57 
 tip2/include/xen/interface/dom0_ops.h                    |  531 ++
 tip2/include/xen/interface/event_channel.h               |  211 +
 tip2/include/xen/interface/features.h                    |   53 
 tip2/include/xen/interface/grant_table.h                 |  311 +
 tip2/include/xen/interface/hvm/hvm_info_table.h          |   24 
 tip2/include/xen/interface/hvm/ioreq.h                   |   94 
 tip2/include/xen/interface/hvm/vmx_assist.h              |   97 
 tip2/include/xen/interface/io/blkif.h                    |   85 
 tip2/include/xen/interface/io/console.h                  |   33 
 tip2/include/xen/interface/io/netif.h                    |   84 
 tip2/include/xen/interface/io/pciif.h                    |   55 
 tip2/include/xen/interface/io/ring.h                     |  265 +
 tip2/include/xen/interface/io/tpmif.h                    |   56 
 tip2/include/xen/interface/io/xenbus.h                   |   42 
 tip2/include/xen/interface/io/xs_wire.h                  |   97 
 tip2/include/xen/interface/memory.h                      |  155 
 tip2/include/xen/interface/nmi.h                         |   59 
 tip2/include/xen/interface/physdev.h                     |   71 
 tip2/include/xen/interface/sched.h                       |  100 
 tip2/include/xen/interface/sched_ctl.h                   |   64 
 tip2/include/xen/interface/trace.h                       |   86 
 tip2/include/xen/interface/vcpu.h                        |  119 
 tip2/include/xen/interface/version.h                     |   64 
 tip2/include/xen/interface/xen-compat.h                  |   34 
 tip2/include/xen/interface/xen.h                         |  459 ++
 tip2/include/xen/interface/xenoprof.h                    |   72 
 tip2/include/xen/net_driver_util.h                       |   58 
 tip2/include/xen/pcifront.h                              |   39 
 tip2/include/xen/public/evtchn.h                         |  101 
 tip2/include/xen/public/privcmd.h                        |   94 
 tip2/include/xen/tpmfe.h                                 |   40 
 tip2/include/xen/xen_proc.h                              |   23 
 tip2/include/xen/xenbus.h                                |  306 +
 tip2/include/xen/xencons.h                               |   14 
 tip2/kernel/Kconfig.preempt                              |    1 
 tip2/kernel/irq/manage.c                                 |   24 
 tip2/kernel/irq/migration.c                              |    3 
 tip2/lib/Kconfig.debug                                   |   31 
 tip2/lib/Makefile                                        |    3 
 tip2/mm/Kconfig                                          |    3 
 tip2/mm/highmem.c                                        |   11 
 tip2/mm/memory.c                                         |  116 
 tip2/mm/mmap.c                                           |    4 
 tip2/mm/page_alloc.c                                     |    6 
 tip2/net/core/dev.c                                      |   50 
 tip2/net/core/skbuff.c                                   |   41 
 tip2/net/ipv4/netfilter/ip_nat_proto_tcp.c               |    6 
 tip2/net/ipv4/netfilter/ip_nat_proto_udp.c               |    9 
 tip2/scripts/Makefile.xen                                |   14 
 388 files changed, 80006 insertions(+), 856 deletions(-)

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.6 -r 1.7 linux-2.6-xen.patch
Index: linux-2.6-xen.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-xen.patch,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- linux-2.6-xen.patch	22 Mar 2006 23:50:26 -0000	1.6
+++ linux-2.6-xen.patch	14 Apr 2006 18:11:39 -0000	1.7
@@ -1,32 +1,7 @@
-diff -Nru -p --exclude='.*' ref-linux-2.6.16-rc6/arch/i386/boot-xen/Makefile linux-2.6.16-rc6-xen0/arch/i386/boot-xen/Makefile
---- ref-linux-2.6.16-rc6/arch/i386/boot-xen/Makefile	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.16-rc6-xen0/arch/i386/boot-xen/Makefile	2006-03-20 22:06:19.000000000 +0100
-@@ -0,0 +1,21 @@
-+
-+OBJCOPYFLAGS := -g --strip-unneeded
-+
-+vmlinuz: vmlinux-stripped FORCE
-+	$(call if_changed,gzip)
-+
-+vmlinux-stripped: vmlinux FORCE
-+	$(call if_changed,objcopy)
-+
-+INSTALL_ROOT := $(patsubst %/boot,%,$(INSTALL_PATH))
-+
-+XINSTALL_NAME ?= $(KERNELRELEASE)
-+install:
-+	mkdir -p $(INSTALL_ROOT)/boot
-+	ln -f -s vmlinuz-$(XINSTALL_NAME)$(INSTALL_SUFFIX) $(INSTALL_ROOT)/boot/vmlinuz-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(XENGUEST)$(INSTALL_SUFFIX)
-+	rm -f $(INSTALL_ROOT)/boot/vmlinuz-$(XINSTALL_NAME)$(INSTALL_SUFFIX)
-+	install -m0644 vmlinuz $(INSTALL_ROOT)/boot/vmlinuz-$(XINSTALL_NAME)$(INSTALL_SUFFIX)
-+	install -m0644 vmlinux $(INSTALL_ROOT)/boot/vmlinux-syms-$(XINSTALL_NAME)$(INSTALL_SUFFIX)
-+	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-rc6/arch/i386/Kconfig linux-2.6.16-rc6-xen0/arch/i386/Kconfig
---- ref-linux-2.6.16-rc6/arch/i386/Kconfig	2006-03-20 22:09:16.000000000 +0100
-+++ linux-2.6.16-rc6-xen0/arch/i386/Kconfig	2006-03-20 22:06:19.000000000 +0100
-@@ -58,6 +58,15 @@ config X86_PC
+diff -urNp --exclude-from=/home/mitica/quintela/config/misc/dontdiff src/linux-2.6.17-rc1/arch/i386/Kconfig tip2/arch/i386/Kconfig
+--- src/linux-2.6.17-rc1/arch/i386/Kconfig	2006-04-12 22:59:33.000000000 +0200
++++ tip2/arch/i386/Kconfig	2006-04-10 15:29:39.000000000 +0200
+@@ -62,6 +62,15 @@ config X86_PC
  	help
  	  Choose this option if your computer is a standard PC or compatible.
  
@@ -42,7 +17,7 @@
  config X86_ELAN
  	bool "AMD Elan"
  	help
-@@ -159,6 +168,7 @@ source "arch/i386/Kconfig.cpu"
+@@ -164,6 +173,7 @@ source "arch/i386/Kconfig.cpu"
  
  config HPET_TIMER
  	bool "HPET Timer Support"
@@ -50,7 +25,7 @@
  	help
  	  This enables the use of the HPET for the kernel's internal timer.
  	  HPET is the next generation timer replacing legacy 8254s.
-@@ -231,7 +241,7 @@ config NR_CPUS
+@@ -223,7 +233,7 @@ config NR_CPUS
  
  config SCHED_SMT
  	bool "SMT (Hyperthreading) scheduler support"
@@ -59,7 +34,16 @@
  	default off
  	help
  	  SMT scheduler support improves the CPU scheduler's decision making
-@@ -243,7 +253,7 @@ source "kernel/Kconfig.preempt"
+@@ -233,7 +243,7 @@ config SCHED_SMT
+ 
+ config SCHED_MC
+ 	bool "Multi-core scheduler support"
+-	depends on SMP
++	depends on SMP && !X86_XEN
+ 	default y
+ 	help
+ 	  Multi-core scheduler support improves the CPU scheduler's decision
+@@ -244,7 +254,7 @@ source "kernel/Kconfig.preempt"
  
  config X86_UP_APIC
  	bool "Local APIC support on uniprocessors"
@@ -68,7 +52,7 @@
  	help
  	  A local APIC (Advanced Programmable Interrupt Controller) is an
  	  integrated interrupt controller in the CPU. If you have a single-CPU
-@@ -268,12 +278,12 @@ config X86_UP_IOAPIC
+@@ -269,12 +279,12 @@ config X86_UP_IOAPIC
  
  config X86_LOCAL_APIC
  	bool
@@ -83,7 +67,7 @@
  	default y
  
  config X86_VISWS_APIC
-@@ -281,9 +291,14 @@ config X86_VISWS_APIC
+@@ -282,9 +292,14 @@ config X86_VISWS_APIC
  	depends on X86_VISWS
  	default y
  
@@ -99,7 +83,7 @@
  	---help---
  	  Machine Check Exception support allows the processor to notify the
  	  kernel if it detects a problem (e.g. overheating, component failure).
-@@ -373,6 +388,7 @@ config X86_REBOOTFIXUPS
+@@ -374,6 +389,7 @@ config X86_REBOOTFIXUPS
  
  config MICROCODE
  	tristate "/dev/cpu/microcode - Intel IA32 CPU microcode support"
@@ -107,7 +91,7 @@
  	---help---
  	  If you say Y here and also to "/dev file system support" in the
  	  'File systems' section, you will be able to update the microcode on
-@@ -390,6 +406,7 @@ config MICROCODE
+@@ -391,6 +407,7 @@ config MICROCODE
  
  config X86_MSR
  	tristate "/dev/cpu/*/msr - Model-specific register support"
@@ -115,7 +99,7 @@
  	help
  	  This device gives privileged processes access to the x86
  	  Model-Specific Registers (MSRs).  It is a character device with
-@@ -405,6 +422,10 @@ config X86_CPUID
+@@ -406,6 +423,10 @@ config X86_CPUID
  	  with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to
  	  /dev/cpu/31/cpuid.
  
@@ -126,7 +110,7 @@
  source "drivers/firmware/Kconfig"
  
  choice
-@@ -573,7 +594,7 @@ config HAVE_ARCH_EARLY_PFN_TO_NID
+@@ -572,7 +593,7 @@ config HAVE_ARCH_EARLY_PFN_TO_NID
  
  config HIGHPTE
  	bool "Allocate 3rd-level pagetables from highmem"
@@ -135,7 +119,7 @@
  	help
  	  The VM uses one page table entry for each page of physical memory.
  	  For systems with a lot of RAM, this can be wasteful of precious
-@@ -582,6 +603,7 @@ config HIGHPTE
+@@ -581,6 +602,7 @@ config HIGHPTE
  
  config MATH_EMULATION
  	bool "Math emulation"
@@ -143,7 +127,7 @@
  	---help---
  	  Linux can emulate a math coprocessor (used for floating point
  	  operations) if you don't have one. 486DX and Pentium processors have
-@@ -607,6 +629,8 @@ config MATH_EMULATION
+@@ -606,6 +628,8 @@ config MATH_EMULATION
  
  config MTRR
  	bool "MTRR (Memory Type Range Register) support"
@@ -152,7 +136,7 @@
  	---help---
  	  On Intel P6 family processors (Pentium Pro, Pentium II and later)
  	  the Memory Type Range Registers (MTRRs) may be used to control
-@@ -641,7 +665,7 @@ config MTRR
+@@ -640,7 +664,7 @@ config MTRR
  
  config EFI
  	bool "Boot from EFI support (EXPERIMENTAL)"
@@ -161,7 +145,7 @@
  	default n
  	---help---
  	This enables the the kernel to boot on EFI platforms using
-@@ -659,7 +683,7 @@ config EFI
+@@ -658,7 +682,7 @@ config EFI
  
  config IRQBALANCE
   	bool "Enable kernel irq balancing"
@@ -170,7 +154,7 @@
  	default y
  	help
   	  The default yes will allow the kernel to do irq load balancing.
-@@ -702,7 +726,7 @@ source kernel/Kconfig.hz
+@@ -706,7 +730,7 @@ source kernel/Kconfig.hz
  
  config KEXEC
  	bool "kexec system call (EXPERIMENTAL)"
@@ -179,7 +163,16 @@
  	help
  	  kexec is a system call that implements the ability to shutdown your
  	  current kernel, and to start another kernel.  It is like a reboot
-@@ -756,6 +780,7 @@ config HOTPLUG_CPU
+@@ -750,7 +774,7 @@ config PHYSICAL_START
+ 
+ config HOTPLUG_CPU
+ 	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
+-	depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER && !X86_PC
++	depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER && (!X86_PC || X86_XEN)
+ 	---help---
+ 	  Say Y here to experiment with turning CPUs off and on.  CPUs
+ 	  can be controlled through /sys/devices/system/cpu.
+@@ -760,6 +784,7 @@ config HOTPLUG_CPU
  config DOUBLEFAULT
  	default y
  	bool "Enable doublefault exception handler" if EMBEDDED
@@ -187,7 +180,7 @@
  	help
[...22632 lines suppressed...]
-diff -Nru -p --exclude='.*' ref-linux-2.6.16-rc6/scripts/Makefile.xen linux-2.6.16-rc6-xen0/scripts/Makefile.xen
---- ref-linux-2.6.16-rc6/scripts/Makefile.xen	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.16-rc6-xen0/scripts/Makefile.xen	2006-03-20 22:06:21.000000000 +0100
+diff -urNp --exclude-from=/home/mitica/quintela/config/misc/dontdiff src/linux-2.6.17-rc1/net/ipv4/netfilter/ip_nat_proto_tcp.c tip2/net/ipv4/netfilter/ip_nat_proto_tcp.c
+--- src/linux-2.6.17-rc1/net/ipv4/netfilter/ip_nat_proto_tcp.c	2006-03-20 06:53:29.000000000 +0100
++++ tip2/net/ipv4/netfilter/ip_nat_proto_tcp.c	2006-04-10 15:30:58.000000000 +0200
+@@ -129,10 +129,14 @@ tcp_manip_pkt(struct sk_buff **pskb,
+ 	if (hdrsize < sizeof(*hdr))
+ 		return 1;
+ 
+-	hdr->check = ip_nat_cheat_check(~oldip, newip,
++	if ((*pskb)->proto_csum_blank) {
++		hdr->check = ip_nat_cheat_check(oldip, ~newip, hdr->check);
++	} else {
++		hdr->check = ip_nat_cheat_check(~oldip, newip,
+ 					ip_nat_cheat_check(oldport ^ 0xFFFF,
+ 							   newport,
+ 							   hdr->check));
++	}
+ 	return 1;
+ }
+ 
+diff -urNp --exclude-from=/home/mitica/quintela/config/misc/dontdiff src/linux-2.6.17-rc1/net/ipv4/netfilter/ip_nat_proto_udp.c tip2/net/ipv4/netfilter/ip_nat_proto_udp.c
+--- src/linux-2.6.17-rc1/net/ipv4/netfilter/ip_nat_proto_udp.c	2006-03-20 06:53:29.000000000 +0100
++++ tip2/net/ipv4/netfilter/ip_nat_proto_udp.c	2006-04-10 15:30:58.000000000 +0200
+@@ -113,11 +113,16 @@ udp_manip_pkt(struct sk_buff **pskb,
+ 		newport = tuple->dst.u.udp.port;
+ 		portptr = &hdr->dest;
+ 	}
+-	if (hdr->check) /* 0 is a special case meaning no checksum */
+-		hdr->check = ip_nat_cheat_check(~oldip, newip,
++	if (hdr->check) { /* 0 is a special case meaning no checksum */
++		if ((*pskb)->proto_csum_blank) {
++			hdr->check = ip_nat_cheat_check(oldip, ~newip, hdr->check);
++		} else {
++			hdr->check = ip_nat_cheat_check(~oldip, newip,
+ 					ip_nat_cheat_check(*portptr ^ 0xFFFF,
+ 							   newport,
+ 							   hdr->check));
++		}
++	}
+ 	*portptr = newport;
+ 	return 1;
+ }
+diff -urNp --exclude-from=/home/mitica/quintela/config/misc/dontdiff src/linux-2.6.17-rc1/scripts/Makefile.xen tip2/scripts/Makefile.xen
+--- src/linux-2.6.17-rc1/scripts/Makefile.xen	1970-01-01 01:00:00.000000000 +0100
++++ tip2/scripts/Makefile.xen	2006-04-10 15:31:00.000000000 +0200
 @@ -0,0 +1,14 @@
 +
 +# cherrypickxen($1 = allobj)
@@ -80908,3 +84019,149 @@
 +	  )
 +# filterxen($1 = allobj, $2 = noobjs)
 +filterxen = $(filter-out $(2), $(1))
+diff -urNp --exclude-from=/home/mitica/quintela/config/misc/dontdiff src/linux-2.6.17-rc1/include/xen/interface/version.h tip2/include/xen/interface/version.h
+--- src/linux-2.6.17-rc1/include/xen/interface/version.h	1970-01-01 01:00:00.000000000 +0100
++++ tip2/include/xen/interface/version.h	2006-04-10 15:30:55.000000000 +0200
+@@ -0,0 +1,64 @@
++/******************************************************************************
++ * version.h
++ * 
++ * Xen version, type, and compile information.
++ * 
++ * Copyright (c) 2005, Nguyen Anh Quynh <aquynh at gmail.com>
++ * Copyright (c) 2005, Keir Fraser <keir at xensource.com>
++ */
++
++#ifndef __XEN_PUBLIC_VERSION_H__
++#define __XEN_PUBLIC_VERSION_H__
++
++/* NB. All ops return zero on success, except XENVER_version. */
++
++/* arg == NULL; returns major:minor (16:16). */
++#define XENVER_version      0
++
++/* arg == xen_extraversion_t. */
++#define XENVER_extraversion 1
++typedef char xen_extraversion_t[16];
++#define XEN_EXTRAVERSION_LEN (sizeof(xen_extraversion_t))
++
++/* arg == xen_compile_info_t. */
++#define XENVER_compile_info 2
++typedef struct xen_compile_info {
++    char compiler[64];
++    char compile_by[16];
++    char compile_domain[32];
++    char compile_date[32];
++} xen_compile_info_t;
++
++#define XENVER_capabilities 3
++typedef char xen_capabilities_info_t[1024];
++#define XEN_CAPABILITIES_INFO_LEN (sizeof(xen_capabilities_info_t))
++
++#define XENVER_changeset 4
++typedef char xen_changeset_info_t[64];
++#define XEN_CHANGESET_INFO_LEN (sizeof(xen_changeset_info_t))
++
++#define XENVER_platform_parameters 5
++typedef struct xen_platform_parameters {
++    unsigned long virt_start;
++} xen_platform_parameters_t;
++
++#define XENVER_get_features 6
++typedef struct xen_feature_info {
++    unsigned int submap_idx;    /* IN: which 32-bit submap to return */
++    uint32_t     submap;        /* OUT: 32-bit submap */
++} xen_feature_info_t;
++
++/* Declares the features reported by XENVER_get_features. */
++#include "features.h"
++
++#endif /* __XEN_PUBLIC_VERSION_H__ */
++
++/*
++ * Local variables:
++ * mode: C
++ * c-set-style: "BSD"
++ * c-basic-offset: 4
++ * tab-width: 4
++ * indent-tabs-mode: nil
++ * End:
++ */
+diff -uNp linux-2.6.16.noarch/arch/x86_64/Makefile.orig linux-2.6.16.noarch/arch/x86_64/Makefile
+--- linux-2.6.16.noarch/arch/x86_64/Makefile.orig	2006-04-13 13:51:16.000000000 +0200
++++ linux-2.6.16.noarch/arch/x86_64/Makefile	2006-04-13 13:46:18.000000000 +0200
+@@ -31,6 +31,10 @@ cflags-$(CONFIG_MK8) += $(call cc-option
+ cflags-$(CONFIG_MPSC) += $(call cc-option,-march=nocona)
+ cflags-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mtune=generic)
+ 
++cppflags-$(CONFIG_XEN) += \
++	-D__XEN_INTERFACE_VERSION__=$(CONFIG_XEN_INTERFACE_VERSION)
++CPPFLAGS += $(cppflags-y)
++
+ cflags-y += -m64
+ cflags-y += -mno-red-zone
+ cflags-y += -mcmodel=kernel
+@@ -72,6 +76,21 @@ boot := arch/x86_64/boot
+ PHONY += bzImage bzlilo install archmrproper \
+ 	 fdimage fdimage144 fdimage288 isoimage archclean
+ 
++ifdef CONFIG_XEN
++CPPFLAGS := -Iinclude$(if $(KBUILD_SRC),2)/asm/mach-xen $(CPPFLAGS)
++head-y := arch/x86_64/kernel/head-xen.o arch/x86_64/kernel/head64-xen.o arch/x86_64/kernel/init_task.o
++LDFLAGS_vmlinux := -e _start
++boot := arch/i386/boot-xen
++.PHONY: vmlinuz
++#Default target when executing "make"
++all: vmlinuz
++
++vmlinuz: vmlinux
++	$(Q)$(MAKE) $(build)=$(boot) $@
++
++install:
++	$(Q)$(MAKE) $(build)=$(boot) XENGUEST=$(XENGUEST) $@
++else
+ #Default target when executing "make"
+ all: bzImage
+ 
+@@ -92,6 +111,7 @@ fdimage fdimage144 fdimage288 isoimage: 
+ 
+ install:
+ 	$(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(BOOTIMAGE) $@ 
++endif
+ 
+ archclean:
+ 	$(Q)$(MAKE) $(clean)=$(boot)
+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-04-13 13:51:34.000000000 +0200
++++ linux-2.6.16.noarch/arch/x86_64/ia32/Makefile	2006-04-13 13:48:11.000000000 +0200
+@@ -26,12 +26,28 @@ quiet_cmd_syscall = SYSCALL $@
+ 			   -Wl,-soname=linux-gate.so.1 -o $@ \
+ 			   -Wl,-T,$(filter-out FORCE,$^)
+ 
++$(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)
+ 
+-AFLAGS_vsyscall-sysenter.o = -m32
+-AFLAGS_vsyscall-syscall.o = -m32
++AFLAGS_vsyscall-sysenter.o = -m32 -Iarch/i386/kernel
++AFLAGS_vsyscall-syscall.o = -m32 -Iarch/i386/kernel
++
++ifdef CONFIG_XEN
++AFLAGS_vsyscall-int80.o = -m32 -Iarch/i386/kernel
++CFLAGS_syscall32-xen.o += -DUSE_INT80
++AFLAGS_syscall32_syscall-xen.o += -DUSE_INT80
++
++$(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
+ AFLAGS_syscall32_syscall.o += -m64
+ AFLAGS_ia32entry.o += -m64
+ 


Index: sources
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/sources,v
retrieving revision 1.346
retrieving revision 1.347
diff -u -r1.346 -r1.347
--- sources	11 Apr 2006 13:01:42 -0000	1.346
+++ sources	14 Apr 2006 18:11:52 -0000	1.347
@@ -1,5 +1,4 @@
 9a91b2719949ff0856b40bc467fd47be  linux-2.6.16.tar.bz2
-8c70806f9075ebc0087f7ce1b8911700  xen-20060320.tar.bz2
 ee1b5bf019ec60a34ef7bf1b2a0c1291  patch-2.6.17-rc1.bz2
 33a1f95f8b4dbad15a69b2628cf16d09  patch-2.6.17-rc1-git3.bz2
 8ae04240509d86bf520010c497f359e2  patch-2.6.17-rc1-git4.bz2


--- linux-2.6-crash-xen.patch DELETED ---


--- linux-2.6-percpu-NR_CPUS-hotplug-fix.patch DELETED ---


--- linux-2.6-vdso-xen.patch DELETED ---


--- linux-2.6-xen-i386-mach-io-check-nmi.patch DELETED ---


--- linux-2.6-xen-net-csum.patch DELETED ---


--- linux-2.6-xen-pmd-shared.patch DELETED ---


--- linux-2.6-xen-smp-alts.patch DELETED ---




More information about the fedora-cvs-commits mailing list