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