[kernel] r6517 - in dists/sid/linux-2.6/debian: patches patches/series

Bastian Blank waldi at costa.debian.org
Mon May 1 20:53:52 UTC 2006


Author: waldi
Date: Mon May  1 20:53:50 2006
New Revision: 6517

Added:
   dists/sid/linux-2.6/debian/patches/2.6.16.12   (contents, props changed)
   dists/sid/linux-2.6/debian/patches/series/12
Modified:
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/patches/xen-tree-3.0-testing-9659.patch

Log:
Add stable release 2.6.16.12

* debian/changelog: Update.
* debian/patches/series/12
  - Remove alpha-build-fix.patch.
  - Add 2.6.16.12.
* debian/patches/2.6.16.12: Add.
* debian/patches/xen-tree-3.0-testing-9659.patch: Rediff.


Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	(original)
+++ dists/sid/linux-2.6/debian/changelog	Mon May  1 20:53:50 2006
@@ -1,3 +1,36 @@
+linux-2.6 (2.6.16-12) UNRELEASED; urgency=low
+
+  * Add stable release 2.6.16.12: 
+    - dm snapshot: fix kcopyd destructor
+    - x86_64: Pass -32 to the assembler when compiling the 32bit vsyscall pages
+    - for_each_possible_cpu
+    - Simplify proc/devices and fix early termination regression
+    - sonypi: correct detection of new ICH7-based laptops
+    - MIPS: Fix tx49_blast_icache32_page_indexed.
+    - NET: e1000: Update truesize with the length of the packet for packet split
+    - i386: fix broken FP exception handling
+    - tipar oops fix
+    - USB: fix array overrun in drivers/usb/serial/option.c
+    - Altix snsc: duplicate kobject fix
+    - Alpha: strncpy() fix
+    - LSM: add missing hook to do_compat_readv_writev()
+    - Fix reiserfs deadlock
+    - make vm86 call audit_syscall_exit
+    - fix saa7129 support in saa7127 module for pvr350 tv out
+    - dm flush queue EINTR
+    - get_dvb_firmware: download nxt2002 firmware from new driver location
+    - cxusb-bluebird: bug-fix: power down corrupts frontend
+    - x86_64: Fix a race in the free_iommu path.
+    - MIPS: Use "R" constraint for cache_op.
+    - MIPS: R2 build fixes for gcc < 3.4.
+    - cs5535_gpio.c: call cdev_del() during module_exit to unmap kobject references and other cleanups
+    - MIPS: Fix branch emulation for floating-point exceptions.
+    - x86/PAE: Fix pte_clear for the >4GB RAM case
+  * Remove merged patches.
+  * Rediff xen patch.
+
+ -- Bastian Blank <waldi at debian.org>  Mon, 01 May 2006 22:52:43 +0200
+
 linux-2.6 (2.6.16-11) unstable; urgency=low
 
   * Update vserver patch to 2.0.2-rc18.

Added: dists/sid/linux-2.6/debian/patches/2.6.16.12
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6/debian/patches/2.6.16.12	Mon May  1 20:53:50 2006
@@ -0,0 +1,1189 @@
+diff --git a/Documentation/dvb/get_dvb_firmware b/Documentation/dvb/get_dvb_firmware
+index 75c28a1..948f502 100644
+--- a/Documentation/dvb/get_dvb_firmware
++++ b/Documentation/dvb/get_dvb_firmware
+@@ -240,9 +240,9 @@ sub dibusb {
+ }
+ 
+ sub nxt2002 {
+-    my $sourcefile = "Broadband4PC_4_2_11.zip";
++    my $sourcefile = "Technisat_DVB-PC_4_4_COMPACT.zip";
+     my $url = "http://www.bbti.us/download/windows/$sourcefile";
+-    my $hash = "c6d2ea47a8f456d887ada0cfb718ff2a";
++    my $hash = "476befae8c7c1bb9648954060b1eec1f";
+     my $outfile = "dvb-fe-nxt2002.fw";
+     my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1);
+ 
+@@ -250,8 +250,8 @@ sub nxt2002 {
+ 
+     wgetfile($sourcefile, $url);
+     unzip($sourcefile, $tmpdir);
+-    verify("$tmpdir/SkyNETU.sys", $hash);
+-    extract("$tmpdir/SkyNETU.sys", 375832, 5908, $outfile);
++    verify("$tmpdir/SkyNET.sys", $hash);
++    extract("$tmpdir/SkyNET.sys", 331624, 5908, $outfile);
+ 
+     $outfile;
+ }
+diff --git a/arch/alpha/lib/strncpy.S b/arch/alpha/lib/strncpy.S
+index 338551c..bbdef1b 100644
+--- a/arch/alpha/lib/strncpy.S
++++ b/arch/alpha/lib/strncpy.S
+@@ -43,8 +43,8 @@ strncpy:
+ 
+ 	.align	4
+ $multiword:
+-	subq	$24, 1, $2	# clear the final bits in the prev word
+-	or	$2, $24, $2
++	subq	$27, 1, $2	# clear the final bits in the prev word
++	or	$2, $27, $2
+ 	zapnot	$1, $2, $1
+ 	subq	$18, 1, $18
+ 
+@@ -70,8 +70,8 @@ strncpy:
+ 	bne	$18, 0b
+ 
+ 1:	ldq_u	$1, 0($16)	# clear the leading bits in the final word
+-	subq	$27, 1, $2
+-	or	$2, $27, $2
++	subq	$24, 1, $2
++	or	$2, $24, $2
+ 
+ 	zap	$1, $2, $1
+ 	stq_u	$1, 0($16)
+diff --git a/arch/i386/kernel/vm86.c b/arch/i386/kernel/vm86.c
+index f51c894..aee14fa 100644
+--- a/arch/i386/kernel/vm86.c
++++ b/arch/i386/kernel/vm86.c
+@@ -43,6 +43,7 @@ #include <linux/smp.h>
+ #include <linux/smp_lock.h>
+ #include <linux/highmem.h>
+ #include <linux/ptrace.h>
++#include <linux/audit.h>
+ 
+ #include <asm/uaccess.h>
+ #include <asm/io.h>
+@@ -252,6 +253,7 @@ out:
+ static void do_sys_vm86(struct kernel_vm86_struct *info, struct task_struct *tsk)
+ {
+ 	struct tss_struct *tss;
++	long eax;
+ /*
+  * make sure the vm86() system call doesn't try to do anything silly
+  */
+@@ -305,13 +307,19 @@ static void do_sys_vm86(struct kernel_vm
+ 	tsk->thread.screen_bitmap = info->screen_bitmap;
+ 	if (info->flags & VM86_SCREEN_BITMAP)
+ 		mark_screen_rdonly(tsk->mm);
++	__asm__ __volatile__("xorl %eax,%eax; movl %eax,%fs; movl %eax,%gs\n\t");
++	__asm__ __volatile__("movl %%eax, %0\n" :"=r"(eax));
++
++	/*call audit_syscall_exit since we do not exit via the normal paths */
++	if (unlikely(current->audit_context))
++		audit_syscall_exit(current, AUDITSC_RESULT(eax), eax);
++
+ 	__asm__ __volatile__(
+-		"xorl %%eax,%%eax; movl %%eax,%%fs; movl %%eax,%%gs\n\t"
+ 		"movl %0,%%esp\n\t"
+ 		"movl %1,%%ebp\n\t"
+ 		"jmp resume_userspace"
+ 		: /* no outputs */
+-		:"r" (&info->regs), "r" (task_thread_info(tsk)) : "ax");
++		:"r" (&info->regs), "r" (task_thread_info(tsk)));
+ 	/* we never return here */
+ }
+ 
+diff --git a/arch/mips/kernel/branch.c b/arch/mips/kernel/branch.c
+index 374de83..b6232d9 100644
+--- a/arch/mips/kernel/branch.c
++++ b/arch/mips/kernel/branch.c
+@@ -184,7 +184,7 @@ int __compute_return_epc(struct pt_regs 
+ 		bit = (insn.i_format.rt >> 2);
+ 		bit += (bit != 0);
+ 		bit += 23;
+-		switch (insn.i_format.rt) {
++		switch (insn.i_format.rt & 3) {
+ 		case 0:	/* bc1f */
+ 		case 2:	/* bc1fl */
+ 			if (~fcr31 & (1 << bit))
+diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
+index 9572ed4..a761f99 100644
+--- a/arch/mips/mm/c-r4k.c
++++ b/arch/mips/mm/c-r4k.c
+@@ -154,7 +154,8 @@ static inline void blast_icache32_r4600_
+ 
+ static inline void tx49_blast_icache32_page_indexed(unsigned long page)
+ {
+-	unsigned long start = page;
++	unsigned long indexmask = current_cpu_data.icache.waysize - 1;
++	unsigned long start = INDEX_BASE + (page & indexmask);
+ 	unsigned long end = start + PAGE_SIZE;
+ 	unsigned long ws_inc = 1UL << current_cpu_data.icache.waybit;
+ 	unsigned long ws_end = current_cpu_data.icache.ways <<
+diff --git a/arch/x86_64/ia32/Makefile b/arch/x86_64/ia32/Makefile
+index 929e6b0..e9263b4 100644
+--- a/arch/x86_64/ia32/Makefile
++++ b/arch/x86_64/ia32/Makefile
+@@ -27,5 +27,5 @@ quiet_cmd_syscall = SYSCALL $@
+ $(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 -Wa,-32
++AFLAGS_vsyscall-syscall.o = -m32 -Wa,-32
+diff --git a/arch/x86_64/kernel/pci-gart.c b/arch/x86_64/kernel/pci-gart.c
+index 0c3f052..b9dbe3c 100644
+--- a/arch/x86_64/kernel/pci-gart.c
++++ b/arch/x86_64/kernel/pci-gart.c
+@@ -114,10 +114,6 @@ static unsigned long alloc_iommu(int siz
+ static void free_iommu(unsigned long offset, int size)
+ { 
+ 	unsigned long flags;
+-	if (size == 1) { 
+-		clear_bit(offset, iommu_gart_bitmap); 
+-		return;
+-	}
+ 	spin_lock_irqsave(&iommu_bitmap_lock, flags);
+ 	__clear_bit_string(iommu_gart_bitmap, offset, size);
+ 	spin_unlock_irqrestore(&iommu_bitmap_lock, flags);
+diff --git a/block/genhd.c b/block/genhd.c
+index db57546..7f406f9 100644
+--- a/block/genhd.c
++++ b/block/genhd.c
+@@ -16,8 +16,6 @@ #include <linux/kmod.h>
+ #include <linux/kobj_map.h>
+ #include <linux/buffer_head.h>
+ 
+-#define MAX_PROBE_HASH 255	/* random */
+-
+ static struct subsystem block_subsys;
+ 
+ static DECLARE_MUTEX(block_subsys_sem);
+@@ -30,108 +28,29 @@ static struct blk_major_name {
+ 	struct blk_major_name *next;
+ 	int major;
+ 	char name[16];
+-} *major_names[MAX_PROBE_HASH];
++} *major_names[BLKDEV_MAJOR_HASH_SIZE];
+ 
+ /* index in the above - for now: assume no multimajor ranges */
+ static inline int major_to_index(int major)
+ {
+-	return major % MAX_PROBE_HASH;
+-}
+-
+-struct blkdev_info {
+-        int index;
+-        struct blk_major_name *bd;
+-};
+-
+-/*
+- * iterate over a list of blkdev_info structures.  allows
+- * the major_names array to be iterated over from outside this file
+- * must be called with the block_subsys_sem held
+- */
+-void *get_next_blkdev(void *dev)
+-{
+-        struct blkdev_info *info;
+-
+-        if (dev == NULL) {
+-                info = kmalloc(sizeof(*info), GFP_KERNEL);
+-                if (!info)
+-                        goto out;
+-                info->index=0;
+-                info->bd = major_names[info->index];
+-                if (info->bd)
+-                        goto out;
+-        } else {
+-                info = dev;
+-        }
+-
+-        while (info->index < ARRAY_SIZE(major_names)) {
+-                if (info->bd)
+-                        info->bd = info->bd->next;
+-                if (info->bd)
+-                        goto out;
+-                /*
+-                 * No devices on this chain, move to the next
+-                 */
+-                info->index++;
+-                info->bd = (info->index < ARRAY_SIZE(major_names)) ?
+-			major_names[info->index] : NULL;
+-                if (info->bd)
+-                        goto out;
+-        }
+-
+-out:
+-        return info;
+-}
+-
+-void *acquire_blkdev_list(void)
+-{
+-        down(&block_subsys_sem);
+-        return get_next_blkdev(NULL);
+-}
+-
+-void release_blkdev_list(void *dev)
+-{
+-        up(&block_subsys_sem);
+-        kfree(dev);
++	return major % BLKDEV_MAJOR_HASH_SIZE;
+ }
+ 
++#ifdef CONFIG_PROC_FS
+ 
+-/*
+- * Count the number of records in the blkdev_list.
+- * must be called with the block_subsys_sem held
+- */
+-int count_blkdev_list(void)
++void blkdev_show(struct seq_file *f, off_t offset)
+ {
+-	struct blk_major_name *n;
+-	int i, count;
++	struct blk_major_name *dp;
+ 
+-	count = 0;
+-
+-	for (i = 0; i < ARRAY_SIZE(major_names); i++) {
+-		for (n = major_names[i]; n; n = n->next)
+-				count++;
++	if (offset < BLKDEV_MAJOR_HASH_SIZE) {
++		down(&block_subsys_sem);
++		for (dp = major_names[offset]; dp; dp = dp->next)
++			seq_printf(f, "%3d %s\n", dp->major, dp->name);
++		up(&block_subsys_sem);
+ 	}
+-
+-	return count;
+-}
+-
+-/*
+- * extract the major and name values from a blkdev_info struct
+- * passed in as a void to *dev.  Must be called with
+- * block_subsys_sem held
+- */
+-int get_blkdev_info(void *dev, int *major, char **name)
+-{
+-        struct blkdev_info *info = dev;
+-
+-        if (info->bd == NULL)
+-                return 1;
+-
+-        *major = info->bd->major;
+-        *name = info->bd->name;
+-        return 0;
+ }
+ 
++#endif /* CONFIG_PROC_FS */
+ 
+ int register_blkdev(unsigned int major, const char *name)
+ {
+diff --git a/drivers/char/cs5535_gpio.c b/drivers/char/cs5535_gpio.c
+index 5d72f50..46d6603 100644
+--- a/drivers/char/cs5535_gpio.c
++++ b/drivers/char/cs5535_gpio.c
+@@ -241,9 +241,10 @@ static int __init cs5535_gpio_init(void)
+ static void __exit cs5535_gpio_cleanup(void)
+ {
+ 	dev_t dev_id = MKDEV(major, 0);
++
++	cdev_del(&cs5535_gpio_cdev);
+ 	unregister_chrdev_region(dev_id, CS5535_GPIO_COUNT);
+-	if (gpio_base != 0)
+-		release_region(gpio_base, CS5535_GPIO_SIZE);
++	release_region(gpio_base, CS5535_GPIO_SIZE);
+ }
+ 
+ module_init(cs5535_gpio_init);
+diff --git a/drivers/char/snsc.c b/drivers/char/snsc.c
+index 0e7d216..d22da98 100644
+--- a/drivers/char/snsc.c
++++ b/drivers/char/snsc.c
+@@ -391,7 +391,8 @@ scdrv_init(void)
+ 			format_module_id(devnamep, geo_module(geoid),
+ 					 MODULE_FORMAT_BRIEF);
+ 			devnamep = devname + strlen(devname);
+-			sprintf(devnamep, "#%d", geo_slab(geoid));
++			sprintf(devnamep, "^%d#%d", geo_slot(geoid),
++				geo_slab(geoid));
+ 
+ 			/* allocate sysctl device data */
+ 			scd = kmalloc(sizeof (struct sysctl_data_s),
+diff --git a/drivers/char/sonypi.c b/drivers/char/sonypi.c
+index f8dd852..a90f5d9 100644
+--- a/drivers/char/sonypi.c
++++ b/drivers/char/sonypi.c
+@@ -1341,6 +1341,9 @@ static int __devinit sonypi_probe(struct
+ 	else if ((pcidev = pci_get_device(PCI_VENDOR_ID_INTEL,
+ 					  PCI_DEVICE_ID_INTEL_ICH6_1, NULL)))
+ 		sonypi_device.model = SONYPI_DEVICE_MODEL_TYPE3;
++	else if ((pcidev = pci_get_device(PCI_VENDOR_ID_INTEL,
++					  PCI_DEVICE_ID_INTEL_ICH7_1, NULL)))
++		sonypi_device.model = SONYPI_DEVICE_MODEL_TYPE3;
+ 	else
+ 		sonypi_device.model = SONYPI_DEVICE_MODEL_TYPE2;
+ 
+diff --git a/drivers/char/tipar.c b/drivers/char/tipar.c
+index eb2eb3e..079db5a 100644
+--- a/drivers/char/tipar.c
++++ b/drivers/char/tipar.c
+@@ -515,7 +515,7 @@ tipar_init_module(void)
+ 		err = PTR_ERR(tipar_class);
+ 		goto out_chrdev;
+ 	}
+-	if (parport_register_driver(&tipar_driver) || tp_count == 0) {
++	if (parport_register_driver(&tipar_driver)) {
+ 		printk(KERN_ERR "tipar: unable to register with parport\n");
+ 		err = -EIO;
+ 		goto out_class;
+diff --git a/drivers/md/dm-snap.c b/drivers/md/dm-snap.c
+index f3759dd..1ed241d 100644
+--- a/drivers/md/dm-snap.c
++++ b/drivers/md/dm-snap.c
+@@ -542,8 +542,12 @@ static void snapshot_dtr(struct dm_targe
+ {
+ 	struct dm_snapshot *s = (struct dm_snapshot *) ti->private;
+ 
++	/* Prevent further origin writes from using this snapshot. */
++	/* After this returns there can be no new kcopyd jobs. */
+ 	unregister_snapshot(s);
+ 
++	kcopyd_client_destroy(s->kcopyd_client);
++
+ 	exit_exception_table(&s->pending, pending_cache);
+ 	exit_exception_table(&s->complete, exception_cache);
+ 
+@@ -552,7 +556,7 @@ static void snapshot_dtr(struct dm_targe
+ 
+ 	dm_put_device(ti, s->origin);
+ 	dm_put_device(ti, s->cow);
+-	kcopyd_client_destroy(s->kcopyd_client);
++
+ 	kfree(s);
+ }
+ 
+diff --git a/drivers/md/dm.c b/drivers/md/dm.c
+index d559569..f6c8e8e 100644
+--- a/drivers/md/dm.c
++++ b/drivers/md/dm.c
+@@ -1098,6 +1098,7 @@ int dm_suspend(struct mapped_device *md,
+ {
+ 	struct dm_table *map = NULL;
+ 	DECLARE_WAITQUEUE(wait, current);
++	struct bio *def;
+ 	int r = -EINVAL;
+ 
+ 	down(&md->suspend_lock);
+@@ -1157,9 +1158,11 @@ int dm_suspend(struct mapped_device *md,
+ 	/* were we interrupted ? */
+ 	r = -EINTR;
+ 	if (atomic_read(&md->pending)) {
++		clear_bit(DMF_BLOCK_IO, &md->flags);
++		def = bio_list_get(&md->deferred);
++		__flush_deferred_io(md, def);
+ 		up_write(&md->io_lock);
+ 		unlock_fs(md);
+-		clear_bit(DMF_BLOCK_IO, &md->flags);
+ 		goto out;
+ 	}
+ 	up_write(&md->io_lock);
+diff --git a/drivers/md/kcopyd.c b/drivers/md/kcopyd.c
+index 8b3515f..fc009cb 100644
+--- a/drivers/md/kcopyd.c
++++ b/drivers/md/kcopyd.c
+@@ -44,6 +44,9 @@ struct kcopyd_client {
+ 	struct page_list *pages;
+ 	unsigned int nr_pages;
+ 	unsigned int nr_free_pages;
++
++	wait_queue_head_t destroyq;
++	atomic_t nr_jobs;
+ };
+ 
+ static struct page_list *alloc_pl(void)
+@@ -293,10 +296,15 @@ static int run_complete_job(struct kcopy
+ 	int read_err = job->read_err;
+ 	unsigned int write_err = job->write_err;
+ 	kcopyd_notify_fn fn = job->fn;
++	struct kcopyd_client *kc = job->kc;
+ 
+-	kcopyd_put_pages(job->kc, job->pages);
++	kcopyd_put_pages(kc, job->pages);
+ 	mempool_free(job, _job_pool);
+ 	fn(read_err, write_err, context);
++
++	if (atomic_dec_and_test(&kc->nr_jobs))
++		wake_up(&kc->destroyq);
++
+ 	return 0;
+ }
+ 
+@@ -431,6 +439,7 @@ static void do_work(void *ignored)
+  */
+ static void dispatch_job(struct kcopyd_job *job)
+ {
++	atomic_inc(&job->kc->nr_jobs);
+ 	push(&_pages_jobs, job);
+ 	wake();
+ }
+@@ -670,6 +679,9 @@ int kcopyd_client_create(unsigned int nr
+ 		return r;
+ 	}
+ 
++	init_waitqueue_head(&kc->destroyq);
++	atomic_set(&kc->nr_jobs, 0);
++
+ 	client_add(kc);
+ 	*result = kc;
+ 	return 0;
+@@ -677,6 +689,9 @@ int kcopyd_client_create(unsigned int nr
+ 
+ void kcopyd_client_destroy(struct kcopyd_client *kc)
+ {
++	/* Wait for completion of all jobs submitted by this client. */
++	wait_event(kc->destroyq, !atomic_read(&kc->nr_jobs));
++
+ 	dm_io_put(kc->nr_pages);
+ 	client_free_pages(kc);
+ 	client_del(kc);
+diff --git a/drivers/media/dvb/dvb-usb/cxusb.c b/drivers/media/dvb/dvb-usb/cxusb.c
+index 162f979..356a09a 100644
+--- a/drivers/media/dvb/dvb-usb/cxusb.c
++++ b/drivers/media/dvb/dvb-usb/cxusb.c
+@@ -149,6 +149,15 @@ static int cxusb_power_ctrl(struct dvb_u
+ 		return cxusb_ctrl_msg(d, CMD_POWER_OFF, &b, 1, NULL, 0);
+ }
+ 
++static int cxusb_bluebird_power_ctrl(struct dvb_usb_device *d, int onoff)
++{
++	u8 b = 0;
++	if (onoff)
++		return cxusb_ctrl_msg(d, CMD_POWER_ON, &b, 1, NULL, 0);
++	else
++		return 0;
++}
++
+ static int cxusb_streaming_ctrl(struct dvb_usb_device *d, int onoff)
+ {
+ 	u8 buf[2] = { 0x03, 0x00 };
+@@ -505,7 +514,7 @@ static struct dvb_usb_properties cxusb_b
+ 	.size_of_priv     = sizeof(struct cxusb_state),
+ 
+ 	.streaming_ctrl   = cxusb_streaming_ctrl,
+-	.power_ctrl       = cxusb_power_ctrl,
++	.power_ctrl       = cxusb_bluebird_power_ctrl,
+ 	.frontend_attach  = cxusb_lgdt3303_frontend_attach,
+ 	.tuner_attach     = cxusb_lgh064f_tuner_attach,
+ 
+@@ -545,7 +554,7 @@ static struct dvb_usb_properties cxusb_b
+ 	.size_of_priv     = sizeof(struct cxusb_state),
+ 
+ 	.streaming_ctrl   = cxusb_streaming_ctrl,
+-	.power_ctrl       = cxusb_power_ctrl,
++	.power_ctrl       = cxusb_bluebird_power_ctrl,
+ 	.frontend_attach  = cxusb_dee1601_frontend_attach,
+ 	.tuner_attach     = cxusb_dee1601_tuner_attach,
+ 
+@@ -594,7 +603,7 @@ static struct dvb_usb_properties cxusb_b
+ 	.size_of_priv     = sizeof(struct cxusb_state),
+ 
+ 	.streaming_ctrl   = cxusb_streaming_ctrl,
+-	.power_ctrl       = cxusb_power_ctrl,
++	.power_ctrl       = cxusb_bluebird_power_ctrl,
+ 	.frontend_attach  = cxusb_mt352_frontend_attach,
+ 	.tuner_attach     = cxusb_lgz201_tuner_attach,
+ 
+@@ -634,7 +643,7 @@ static struct dvb_usb_properties cxusb_b
+ 	.size_of_priv     = sizeof(struct cxusb_state),
+ 
+ 	.streaming_ctrl   = cxusb_streaming_ctrl,
+-	.power_ctrl       = cxusb_power_ctrl,
++	.power_ctrl       = cxusb_bluebird_power_ctrl,
+ 	.frontend_attach  = cxusb_mt352_frontend_attach,
+ 	.tuner_attach     = cxusb_dtt7579_tuner_attach,
+ 
+diff --git a/drivers/media/video/saa7127.c b/drivers/media/video/saa7127.c
+index 992c717..9e4c178 100644
+--- a/drivers/media/video/saa7127.c
++++ b/drivers/media/video/saa7127.c
+@@ -141,6 +141,7 @@ struct i2c_reg_value {
+ static const struct i2c_reg_value saa7129_init_config_extra[] = {
+ 	{ SAA7127_REG_OUTPUT_PORT_CONTROL, 		0x38 },
+ 	{ SAA7127_REG_VTRIG, 				0xfa },
++	{ 0, 0 }
+ };
+ 
+ static const struct i2c_reg_value saa7127_init_config_common[] = {
+diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
+index 84dcca3..fa29402 100644
+--- a/drivers/net/e1000/e1000_main.c
++++ b/drivers/net/e1000/e1000_main.c
+@@ -3851,6 +3851,7 @@ #endif
+ 			skb_shinfo(skb)->nr_frags++;
+ 			skb->len += length;
+ 			skb->data_len += length;
++			skb->truesize += length;
+ 		}
+ 
+ 		e1000_rx_checksum(adapter, staterr,
+diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
+index 52bdf6f..fd8a50e 100644
+--- a/drivers/usb/serial/option.c
++++ b/drivers/usb/serial/option.c
+@@ -582,14 +582,14 @@ static void option_setup_urbs(struct usb
+ 	portdata = usb_get_serial_port_data(port);
+ 
+ 	/* Do indat endpoints first */
+-	for (j = 0; j <= N_IN_URB; ++j) {
++	for (j = 0; j < N_IN_URB; ++j) {
+ 		portdata->in_urbs[j] = option_setup_urb (serial,
+                   port->bulk_in_endpointAddress, USB_DIR_IN, port,
+                   portdata->in_buffer[j], IN_BUFLEN, option_indat_callback);
+ 	}
+ 
+ 	/* outdat endpoints */
+-	for (j = 0; j <= N_OUT_URB; ++j) {
++	for (j = 0; j < N_OUT_URB; ++j) {
+ 		portdata->out_urbs[j] = option_setup_urb (serial,
+                   port->bulk_out_endpointAddress, USB_DIR_OUT, port,
+                   portdata->out_buffer[j], OUT_BUFLEN, option_outdat_callback);
+diff --git a/fs/char_dev.c b/fs/char_dev.c
+index 21195c4..4e163af 100644
+--- a/fs/char_dev.c
++++ b/fs/char_dev.c
+@@ -15,6 +15,7 @@ #include <linux/errno.h>
+ #include <linux/module.h>
+ #include <linux/smp_lock.h>
+ #include <linux/devfs_fs_kernel.h>
++#include <linux/seq_file.h>
+ 
+ #include <linux/kobject.h>
+ #include <linux/kobj_map.h>
+@@ -26,8 +27,6 @@ #endif
+ 
+ static struct kobj_map *cdev_map;
+ 
+-#define MAX_PROBE_HASH 255	/* random */
+-
+ static DECLARE_MUTEX(chrdevs_lock);
+ 
+ static struct char_device_struct {
+@@ -38,93 +37,29 @@ static struct char_device_struct {
+ 	char name[64];
+ 	struct file_operations *fops;
+ 	struct cdev *cdev;		/* will die */
+-} *chrdevs[MAX_PROBE_HASH];
++} *chrdevs[CHRDEV_MAJOR_HASH_SIZE];
+ 
+ /* index in the above */
+ static inline int major_to_index(int major)
+ {
+-	return major % MAX_PROBE_HASH;
+-}
+-
+-struct chrdev_info {
+-	int index;
+-	struct char_device_struct *cd;
+-};
+-
+-void *get_next_chrdev(void *dev)
+-{
+-	struct chrdev_info *info;
+-
+-	if (dev == NULL) {
+-		info = kmalloc(sizeof(*info), GFP_KERNEL);
+-		if (!info)
+-			goto out;
+-		info->index=0;
+-		info->cd = chrdevs[info->index];
+-		if (info->cd)
+-			goto out;
+-	} else {
+-		info = dev;
+-	}
+-
+-	while (info->index < ARRAY_SIZE(chrdevs)) {
+-		if (info->cd)
+-			info->cd = info->cd->next;
+-		if (info->cd)
+-			goto out;
+-		/*
+-		 * No devices on this chain, move to the next
+-		 */
+-		info->index++;
+-		info->cd = (info->index < ARRAY_SIZE(chrdevs)) ?
+-			chrdevs[info->index] : NULL;
+-		if (info->cd)
+-			goto out;
+-	}
+-
+-out:
+-	return info;
+-}
+-
+-void *acquire_chrdev_list(void)
+-{
+-	down(&chrdevs_lock);
+-	return get_next_chrdev(NULL);
+-}
+-
+-void release_chrdev_list(void *dev)
+-{
+-	up(&chrdevs_lock);
+-	kfree(dev);
++	return major % CHRDEV_MAJOR_HASH_SIZE;
+ }
+ 
++#ifdef CONFIG_PROC_FS
+ 
+-int count_chrdev_list(void)
++void chrdev_show(struct seq_file *f, off_t offset)
+ {
+ 	struct char_device_struct *cd;
+-	int i, count;
+-
+-	count = 0;
+ 
+-	for (i = 0; i < ARRAY_SIZE(chrdevs) ; i++) {
+-		for (cd = chrdevs[i]; cd; cd = cd->next)
+-			count++;
++	if (offset < CHRDEV_MAJOR_HASH_SIZE) {
++		down(&chrdevs_lock);
++		for (cd = chrdevs[offset]; cd; cd = cd->next)
++			seq_printf(f, "%3d %s\n", cd->major, cd->name);
++		up(&chrdevs_lock);
+ 	}
+-
+-	return count;
+ }
+ 
+-int get_chrdev_info(void *dev, int *major, char **name)
+-{
+-	struct chrdev_info *info = dev;
+-
+-	if (info->cd == NULL)
+-		return 1;
+-
+-	*major = info->cd->major;
+-	*name = info->cd->name;
+-	return 0;
+-}
++#endif /* CONFIG_PROC_FS */
+ 
+ /*
+  * Register a single major with a specified minor range.
+diff --git a/fs/compat.c b/fs/compat.c
+index 5333c7d..04f6fb5 100644
+--- a/fs/compat.c
++++ b/fs/compat.c
+@@ -1215,6 +1215,10 @@ static ssize_t compat_do_readv_writev(in
+ 	if (ret < 0)
+ 		goto out;
+ 
++	ret = security_file_permission(file, type == READ ? MAY_READ:MAY_WRITE);
++	if (ret)
++		goto out;
++
+ 	fnv = NULL;
+ 	if (type == READ) {
+ 		fn = file->f_op->read;
+diff --git a/fs/proc/proc_misc.c b/fs/proc/proc_misc.c
+index 826c131..0c78312 100644
+--- a/fs/proc/proc_misc.c
++++ b/fs/proc/proc_misc.c
+@@ -249,144 +249,60 @@ static int cpuinfo_open(struct inode *in
+ 	return seq_open(file, &cpuinfo_op);
+ }
+ 
+-enum devinfo_states {
+-	CHR_HDR,
+-	CHR_LIST,
+-	BLK_HDR,
+-	BLK_LIST,
+-	DEVINFO_DONE
+-};
+-
+-struct devinfo_state {
+-	void *chrdev;
+-	void *blkdev;
+-	unsigned int num_records;
+-	unsigned int cur_record;
+-	enum devinfo_states state;
++static struct file_operations proc_cpuinfo_operations = {
++	.open		= cpuinfo_open,
++	.read		= seq_read,
++	.llseek		= seq_lseek,
++	.release	= seq_release,
+ };
+ 
+-static void *devinfo_start(struct seq_file *f, loff_t *pos)
++static int devinfo_show(struct seq_file *f, void *v)
+ {
+-	struct devinfo_state *info = f->private;
++	int i = *(loff_t *) v;
+ 
+-	if (*pos) {
+-		if ((info) && (*pos <= info->num_records))
+-			return info;
+-		return NULL;
++	if (i < CHRDEV_MAJOR_HASH_SIZE) {
++		if (i == 0)
++			seq_printf(f, "Character devices:\n");
++		chrdev_show(f, i);
++	} else {
++		i -= CHRDEV_MAJOR_HASH_SIZE;
++		if (i == 0)
++			seq_printf(f, "\nBlock devices:\n");
++		blkdev_show(f, i);
+ 	}
+-	info = kmalloc(sizeof(*info), GFP_KERNEL);
+-	f->private = info;
+-	info->chrdev = acquire_chrdev_list();
+-	info->blkdev = acquire_blkdev_list();
+-	info->state = CHR_HDR;
+-	info->num_records = count_chrdev_list();
+-	info->num_records += count_blkdev_list();
+-	info->num_records += 2; /* Character and Block headers */
+-	*pos = 1;
+-	info->cur_record = *pos;
+-	return info;
++	return 0;
+ }
+ 
+-static void *devinfo_next(struct seq_file *f, void *v, loff_t *pos)
++static void *devinfo_start(struct seq_file *f, loff_t *pos)
+ {
+-	int idummy;
+-	char *ndummy;
+-	struct devinfo_state *info = f->private;
+-
+-	switch (info->state) {
+-		case CHR_HDR:
+-			info->state = CHR_LIST;
+-			(*pos)++;
+-			/*fallthrough*/
+-		case CHR_LIST:
+-			if (get_chrdev_info(info->chrdev,&idummy,&ndummy)) {
+-				/*
+-				 * The character dev list is complete
+-				 */
+-				info->state = BLK_HDR;
+-			} else {
+-				info->chrdev = get_next_chrdev(info->chrdev);
+-			}
+-			(*pos)++;
+-			break;
+-		case BLK_HDR:
+-			info->state = BLK_LIST;
+-			(*pos)++;
+-			/*fallthrough*/
+-		case BLK_LIST:
+-			if (get_blkdev_info(info->blkdev,&idummy,&ndummy)) {
+-				/*
+-				 * The block dev list is complete
+-				 */
+-				info->state = DEVINFO_DONE;
+-			} else {
+-				info->blkdev = get_next_blkdev(info->blkdev);
+-			}
+-			(*pos)++;
+-			break;
+-		case DEVINFO_DONE:
+-			(*pos)++;
+-			info->cur_record = *pos;
+-			info = NULL;
+-			break;
+-		default:
+-			break;
+-	}
+-	if (info)
+-		info->cur_record = *pos;
+-	return info;
++	if (*pos < (BLKDEV_MAJOR_HASH_SIZE + CHRDEV_MAJOR_HASH_SIZE))
++		return pos;
++	return NULL;
+ }
+ 
+-static void devinfo_stop(struct seq_file *f, void *v)
++static void *devinfo_next(struct seq_file *f, void *v, loff_t *pos)
+ {
+-	struct devinfo_state *info = f->private;
+-
+-	if (info) {
+-		release_chrdev_list(info->chrdev);
+-		release_blkdev_list(info->blkdev);
+-		f->private = NULL;
+-		kfree(info);
+-	}
++	(*pos)++;
++	if (*pos >= (BLKDEV_MAJOR_HASH_SIZE + CHRDEV_MAJOR_HASH_SIZE))
++		return NULL;
++	return pos;
+ }
+ 
+-static int devinfo_show(struct seq_file *f, void *arg)
+-{
+-	int major;
+-	char *name;
+-	struct devinfo_state *info = f->private;
+-
+-	switch(info->state) {
+-		case CHR_HDR:
+-			seq_printf(f,"Character devices:\n");
+-			/* fallthrough */
+-		case CHR_LIST:
+-			if (!get_chrdev_info(info->chrdev,&major,&name))
+-				seq_printf(f,"%3d %s\n",major,name);
+-			break;
+-		case BLK_HDR:
+-			seq_printf(f,"\nBlock devices:\n");
+-			/* fallthrough */
+-		case BLK_LIST:
+-			if (!get_blkdev_info(info->blkdev,&major,&name))
+-				seq_printf(f,"%3d %s\n",major,name);
+-			break;
+-		default:
+-			break;
+-	}
+-
+-	return 0;
++static void devinfo_stop(struct seq_file *f, void *v)
++{
++	/* Nothing to do */
+ }
+ 
+-static  struct seq_operations devinfo_op = {
+-	.start  = devinfo_start,
+-	.next   = devinfo_next,
+-	.stop   = devinfo_stop,
+-	.show   = devinfo_show,
++static struct seq_operations devinfo_ops = {
++	.start = devinfo_start,
++	.next  = devinfo_next,
++	.stop  = devinfo_stop,
++	.show  = devinfo_show
+ };
+ 
+-static int devinfo_open(struct inode *inode, struct file *file)
++static int devinfo_open(struct inode *inode, struct file *filp)
+ {
+-	return seq_open(file, &devinfo_op);
++	return seq_open(filp, &devinfo_ops);
+ }
+ 
+ static struct file_operations proc_devinfo_operations = {
+@@ -396,13 +312,6 @@ static struct file_operations proc_devin
+ 	.release	= seq_release,
+ };
+ 
+-static struct file_operations proc_cpuinfo_operations = {
+-	.open		= cpuinfo_open,
+-	.read		= seq_read,
+-	.llseek		= seq_lseek,
+-	.release	= seq_release,
+-};
+-
+ extern struct seq_operations vmstat_op;
+ static int vmstat_open(struct inode *inode, struct file *file)
+ {
+diff --git a/fs/reiserfs/xattr_acl.c b/fs/reiserfs/xattr_acl.c
+index ab8894c..9df778a 100644
+--- a/fs/reiserfs/xattr_acl.c
++++ b/fs/reiserfs/xattr_acl.c
+@@ -408,8 +408,9 @@ int reiserfs_cache_default_acl(struct in
+ 		acl = reiserfs_get_acl(inode, ACL_TYPE_DEFAULT);
+ 		reiserfs_read_unlock_xattrs(inode->i_sb);
+ 		reiserfs_read_unlock_xattr_i(inode);
+-		ret = acl ? 1 : 0;
+-		posix_acl_release(acl);
++		ret = (acl && !IS_ERR(acl));
++		if (ret)
++			posix_acl_release(acl);
+ 	}
+ 
+ 	return ret;
+diff --git a/include/asm-i386/i387.h b/include/asm-i386/i387.h
+index 7b1f011..bc1d6ed 100644
+--- a/include/asm-i386/i387.h
++++ b/include/asm-i386/i387.h
+@@ -58,13 +58,13 @@ static inline void __save_init_fpu( stru
+ 	alternative_input(
+ 		"fnsave %[fx] ;fwait;" GENERIC_NOP8 GENERIC_NOP4,
+ 		"fxsave %[fx]\n"
+-		"bt $7,%[fsw] ; jc 1f ; fnclex\n1:",
++		"bt $7,%[fsw] ; jnc 1f ; fnclex\n1:",
+ 		X86_FEATURE_FXSR,
+ 		[fx] "m" (tsk->thread.i387.fxsave),
+ 		[fsw] "m" (tsk->thread.i387.fxsave.swd) : "memory");
+ 	/* AMD K7/K8 CPUs don't save/restore FDP/FIP/FOP unless an exception
+ 	   is pending.  Clear the x87 state here by setting it to fixed
+-   	   values. __per_cpu_offset[0] is a random variable that should be in L1 */
++   	   values. safe_address is a random variable that should be in L1 */
+ 	alternative_input(
+ 		GENERIC_NOP8 GENERIC_NOP2,
+ 		"emms\n\t"	  	/* clear stack tags */
+diff --git a/include/asm-i386/pgtable-2level.h b/include/asm-i386/pgtable-2level.h
+index 74ef721..d76c61d 100644
+--- a/include/asm-i386/pgtable-2level.h
++++ b/include/asm-i386/pgtable-2level.h
+@@ -18,6 +18,9 @@ #define set_pte_at(mm,addr,ptep,pteval) 
+ #define set_pte_atomic(pteptr, pteval) set_pte(pteptr,pteval)
+ #define set_pmd(pmdptr, pmdval) (*(pmdptr) = (pmdval))
+ 
++#define pte_clear(mm,addr,xp)	do { set_pte_at(mm, addr, xp, __pte(0)); } while (0)
++#define pmd_clear(xp)	do { set_pmd(xp, __pmd(0)); } while (0)
++
+ #define ptep_get_and_clear(mm,addr,xp)	__pte(xchg(&(xp)->pte_low, 0))
+ #define pte_same(a, b)		((a).pte_low == (b).pte_low)
+ #define pte_page(x)		pfn_to_page(pte_pfn(x))
+diff --git a/include/asm-i386/pgtable-3level.h b/include/asm-i386/pgtable-3level.h
+index f1a8b45..3dda0f6 100644
+--- a/include/asm-i386/pgtable-3level.h
++++ b/include/asm-i386/pgtable-3level.h
+@@ -85,6 +85,26 @@ ((unsigned long) __va(pud_val(pud) & PAG
+ #define pmd_offset(pud, address) ((pmd_t *) pud_page(*(pud)) + \
+ 			pmd_index(address))
+ 
++/*
++ * For PTEs and PDEs, we must clear the P-bit first when clearing a page table
++ * entry, so clear the bottom half first and enforce ordering with a compiler
++ * barrier.
++ */
++static inline void pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep)
++{
++	ptep->pte_low = 0;
++	smp_wmb();
++	ptep->pte_high = 0;
++}
++
++static inline void pmd_clear(pmd_t *pmd)
++{
++	u32 *tmp = (u32 *)pmd;
++	*tmp = 0;
++	smp_wmb();
++	*(tmp + 1) = 0;
++}
++
+ static inline pte_t ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep)
+ {
+ 	pte_t res;
+diff --git a/include/asm-i386/pgtable.h b/include/asm-i386/pgtable.h
+index 088a945..6313403 100644
+--- a/include/asm-i386/pgtable.h
++++ b/include/asm-i386/pgtable.h
+@@ -204,12 +204,10 @@ #undef TEST_ACCESS_OK
+ extern unsigned long pg0[];
+ 
+ #define pte_present(x)	((x).pte_low & (_PAGE_PRESENT | _PAGE_PROTNONE))
+-#define pte_clear(mm,addr,xp)	do { set_pte_at(mm, addr, xp, __pte(0)); } while (0)
+ 
+ /* To avoid harmful races, pmd_none(x) should check only the lower when PAE */
+ #define pmd_none(x)	(!(unsigned long)pmd_val(x))
+ #define pmd_present(x)	(pmd_val(x) & _PAGE_PRESENT)
+-#define pmd_clear(xp)	do { set_pmd(xp, __pmd(0)); } while (0)
+ #define	pmd_bad(x)	((pmd_val(x) & (~PAGE_MASK & ~_PAGE_USER)) != _KERNPG_TABLE)
+ 
+ 
+@@ -269,7 +267,7 @@ static inline pte_t ptep_get_and_clear_f
+ 	pte_t pte;
+ 	if (full) {
+ 		pte = *ptep;
+-		*ptep = __pte(0);
++		pte_clear(mm, addr, ptep);
+ 	} else {
+ 		pte = ptep_get_and_clear(mm, addr, ptep);
+ 	}
+diff --git a/include/asm-mips/bitops.h b/include/asm-mips/bitops.h
+index 8e80205..849155a 100644
+--- a/include/asm-mips/bitops.h
++++ b/include/asm-mips/bitops.h
+@@ -654,7 +654,12 @@ static inline unsigned long fls(unsigned
+ {
+ #ifdef CONFIG_32BIT
+ #ifdef CONFIG_CPU_MIPS32
+-	__asm__ ("clz %0, %1" : "=r" (word) : "r" (word));
++	__asm__ (
++	"	.set	mips32					\n"
++	"	clz	%0, %1					\n"
++	"	.set	mips0					\n"
++	: "=r" (word)
++	: "r" (word));
+ 
+ 	return 32 - word;
+ #else
+@@ -678,7 +683,12 @@ #endif /* CONFIG_32BIT */
+ #ifdef CONFIG_64BIT
+ #ifdef CONFIG_CPU_MIPS64
+ 
+-	__asm__ ("dclz %0, %1" : "=r" (word) : "r" (word));
++	__asm__ (
++	"	.set	mips64					\n"
++	"	dclz	%0, %1					\n"
++	"	.set	mips0					\n"
++	: "=r" (word)
++	: "r" (word));
+ 
+ 	return 64 - word;
+ #else
+diff --git a/include/asm-mips/byteorder.h b/include/asm-mips/byteorder.h
+index 584f812..4ce5bc3 100644
+--- a/include/asm-mips/byteorder.h
++++ b/include/asm-mips/byteorder.h
+@@ -19,7 +19,9 @@ #ifdef CONFIG_CPU_MIPSR2
+ static __inline__ __attribute_const__ __u16 ___arch__swab16(__u16 x)
+ {
+ 	__asm__(
++	"	.set	mips32r2		\n"
+ 	"	wsbh	%0, %1			\n"
++	"	.set	mips0			\n"
+ 	: "=r" (x)
+ 	: "r" (x));
+ 
+@@ -30,8 +32,10 @@ #define __arch__swab16(x)	___arch__swab1
+ static __inline__ __attribute_const__ __u32 ___arch__swab32(__u32 x)
+ {
+ 	__asm__(
++	"	.set	mips32r2		\n"
+ 	"	wsbh	%0, %1			\n"
+ 	"	rotr	%0, %0, 16		\n"
++	"	.set	mips0			\n"
+ 	: "=r" (x)
+ 	: "r" (x));
+ 
+diff --git a/include/asm-mips/interrupt.h b/include/asm-mips/interrupt.h
+index 7743487..50baf6b 100644
+--- a/include/asm-mips/interrupt.h
++++ b/include/asm-mips/interrupt.h
+@@ -20,7 +20,9 @@ __asm__ (
+ 	"	.set	reorder						\n"
+ 	"	.set	noat						\n"
+ #ifdef CONFIG_CPU_MIPSR2
++	"	.set	mips32r2					\n"
+ 	"	ei							\n"
++	"	.set	mips0						\n"
+ #else
+ 	"	mfc0	$1,$12						\n"
+ 	"	ori	$1,0x1f						\n"
+@@ -63,7 +65,9 @@ __asm__ (
+ 	"	.set	push						\n"
+ 	"	.set	noat						\n"
+ #ifdef CONFIG_CPU_MIPSR2
++	"	.set	mips32r2					\n"
+ 	"	di							\n"
++	"	.set	mips0						\n"
+ #else
+ 	"	mfc0	$1,$12						\n"
+ 	"	ori	$1,0x1f						\n"
+@@ -103,8 +107,10 @@ __asm__ (
+ 	"	.set	reorder						\n"
+ 	"	.set	noat						\n"
+ #ifdef CONFIG_CPU_MIPSR2
++	"	.set	mips32r2					\n"
+ 	"	di	\\result					\n"
+ 	"	andi	\\result, 1					\n"
++	"	.set	mips0						\n"
+ #else
+ 	"	mfc0	\\result, $12					\n"
+ 	"	ori	$1, \\result, 0x1f				\n"
+@@ -133,9 +139,11 @@ #if defined(CONFIG_CPU_MIPSR2) && define
+ 	 * Slow, but doesn't suffer from a relativly unlikely race
+ 	 * condition we're having since days 1.
+ 	 */
++	"	.set	mips32r2					\n"
+ 	"	beqz	\\flags, 1f					\n"
+ 	"	 di							\n"
+ 	"	ei							\n"
++	"	.set	mips0						\n"
+ 	"1:								\n"
+ #elif defined(CONFIG_CPU_MIPSR2)
+ 	/*
+diff --git a/include/asm-mips/r4kcache.h b/include/asm-mips/r4kcache.h
+index 0bcb79a..d9ee097 100644
+--- a/include/asm-mips/r4kcache.h
++++ b/include/asm-mips/r4kcache.h
+@@ -37,7 +37,7 @@ #define cache_op(op,addr)						\
+ 	"	cache	%0, %1					\n"	\
+ 	"	.set	pop					\n"	\
+ 	:								\
+-	: "i" (op), "m" (*(unsigned char *)(addr)))
++	: "i" (op), "R" (*(unsigned char *)(addr)))
+ 
+ static inline void flush_icache_line_indexed(unsigned long addr)
+ {
+diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h
+index 60e56c6..a47ad70 100644
+--- a/include/linux/cpumask.h
++++ b/include/linux/cpumask.h
+@@ -408,6 +408,7 @@ ({						\
+ })
+ 
+ #define for_each_cpu(cpu)	  for_each_cpu_mask((cpu), cpu_possible_map)
++#define for_each_possible_cpu(cpu)  for_each_cpu_mask((cpu), cpu_possible_map)
+ #define for_each_online_cpu(cpu)  for_each_cpu_mask((cpu), cpu_online_map)
+ #define for_each_present_cpu(cpu) for_each_cpu_mask((cpu), cpu_present_map)
+ 
+diff --git a/include/linux/fs.h b/include/linux/fs.h
+index 128d008..872042f 100644
+--- a/include/linux/fs.h
++++ b/include/linux/fs.h
+@@ -1383,6 +1383,7 @@ extern int bd_claim(struct block_device 
+ extern void bd_release(struct block_device *);
+ 
+ /* fs/char_dev.c */
++#define CHRDEV_MAJOR_HASH_SIZE	255
+ extern int alloc_chrdev_region(dev_t *, unsigned, unsigned, const char *);
+ extern int register_chrdev_region(dev_t, unsigned, const char *);
+ extern int register_chrdev(unsigned int, const char *,
+@@ -1390,25 +1391,17 @@ extern int register_chrdev(unsigned int,
+ extern int unregister_chrdev(unsigned int, const char *);
+ extern void unregister_chrdev_region(dev_t, unsigned);
+ extern int chrdev_open(struct inode *, struct file *);
+-extern int get_chrdev_list(char *);
+-extern void *acquire_chrdev_list(void);
+-extern int count_chrdev_list(void);
+-extern void *get_next_chrdev(void *);
+-extern int get_chrdev_info(void *, int *, char **);
+-extern void release_chrdev_list(void *);
++extern void chrdev_show(struct seq_file *,off_t);
+ 
+ /* fs/block_dev.c */
++#define BLKDEV_MAJOR_HASH_SIZE	255
+ #define BDEVNAME_SIZE	32	/* Largest string for a blockdev identifier */
+ extern const char *__bdevname(dev_t, char *buffer);
+ extern const char *bdevname(struct block_device *bdev, char *buffer);
+ extern struct block_device *lookup_bdev(const char *);
+ extern struct block_device *open_bdev_excl(const char *, int, void *);
+ extern void close_bdev_excl(struct block_device *);
+-extern void *acquire_blkdev_list(void);
+-extern int count_blkdev_list(void);
+-extern void *get_next_blkdev(void *);
+-extern int get_blkdev_info(void *, int *, char **);
+-extern void release_blkdev_list(void *);
++extern void blkdev_show(struct seq_file *,off_t);
+ 
+ extern void init_special_inode(struct inode *, umode_t, dev_t);
+ 
+diff --git a/kernel/auditsc.c b/kernel/auditsc.c
+index d7e7e63..cfaa4a2 100644
+--- a/kernel/auditsc.c
++++ b/kernel/auditsc.c
+@@ -966,11 +966,6 @@ void audit_syscall_entry(struct task_str
+ 	if (context->in_syscall) {
+ 		struct audit_context *newctx;
+ 
+-#if defined(__NR_vm86) && defined(__NR_vm86old)
+-		/* vm86 mode should only be entered once */
+-		if (major == __NR_vm86 || major == __NR_vm86old)
+-			return;
+-#endif
+ #if AUDIT_DEBUG
+ 		printk(KERN_ERR
+ 		       "audit(:%d) pid=%d in syscall=%d;"
+-
+To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
+the body of a message to majordomo at vger.kernel.org
+More majordomo info at  http://vger.kernel.org/majordomo-info.html
+Please read the FAQ at  http://www.tux.org/lkml/
+

Added: dists/sid/linux-2.6/debian/patches/series/12
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6/debian/patches/series/12	Mon May  1 20:53:50 2006
@@ -0,0 +1,2 @@
+- alpha-build-fix.patch
++ 2.6.16.12

Modified: dists/sid/linux-2.6/debian/patches/xen-tree-3.0-testing-9659.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/xen-tree-3.0-testing-9659.patch	(original)
+++ dists/sid/linux-2.6/debian/patches/xen-tree-3.0-testing-9659.patch	Mon May  1 20:53:50 2006
@@ -1,5 +1,5 @@
-diff -Nurp pristine-linux-2.6.16/arch/i386/boot-xen/Makefile tmp-linux-2.6-xen.patch/arch/i386/boot-xen/Makefile
---- pristine-linux-2.6.16/arch/i386/boot-xen/Makefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/boot-xen/Makefile tmp-linux-2.6-xen.patch/arch/i386/boot-xen/Makefile
+--- pristine-linux-2.6.16.12/arch/i386/boot-xen/Makefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/boot-xen/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,21 @@
 +
@@ -23,8 +23,8 @@
 +	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 -Nurp pristine-linux-2.6.16/arch/i386/Kconfig tmp-linux-2.6-xen.patch/arch/i386/Kconfig
---- pristine-linux-2.6.16/arch/i386/Kconfig	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/Kconfig tmp-linux-2.6-xen.patch/arch/i386/Kconfig
+--- pristine-linux-2.6.16.12/arch/i386/Kconfig	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/i386/Kconfig	2006-04-05 22:43:19.000000000 +0200
 @@ -58,6 +58,15 @@ config X86_PC
  	help
@@ -349,8 +349,8 @@
  config KTIME_SCALAR
  	bool
  	default y
-diff -Nurp pristine-linux-2.6.16/arch/i386/Kconfig.cpu tmp-linux-2.6-xen.patch/arch/i386/Kconfig.cpu
---- pristine-linux-2.6.16/arch/i386/Kconfig.cpu	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/Kconfig.cpu tmp-linux-2.6-xen.patch/arch/i386/Kconfig.cpu
+--- pristine-linux-2.6.16.12/arch/i386/Kconfig.cpu	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/i386/Kconfig.cpu	2006-04-05 22:43:19.000000000 +0200
 @@ -251,7 +251,7 @@ config X86_PPRO_FENCE
  
@@ -361,8 +361,8 @@
  	default y
  
  config X86_WP_WORKS_OK
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/acpi/boot-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/acpi/boot-xen.c
---- pristine-linux-2.6.16/arch/i386/kernel/acpi/boot-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/acpi/boot-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/acpi/boot-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/acpi/boot-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/acpi/boot-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,1161 @@
 +/*
@@ -1526,8 +1526,8 @@
 +
 +	return 0;
 +}
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/acpi/Makefile tmp-linux-2.6-xen.patch/arch/i386/kernel/acpi/Makefile
---- pristine-linux-2.6.16/arch/i386/kernel/acpi/Makefile	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/acpi/Makefile tmp-linux-2.6-xen.patch/arch/i386/kernel/acpi/Makefile
+--- pristine-linux-2.6.16.12/arch/i386/kernel/acpi/Makefile	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/acpi/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -6,3 +6,7 @@ ifneq ($(CONFIG_ACPI_PROCESSOR),)
  obj-y				+= cstate.o processor.o
@@ -1537,8 +1537,8 @@
 +include $(srctree)/scripts/Makefile.xen
 +obj-y := $(call cherrypickxen, $(obj-y), $(src))
 +endif
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/apic-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/apic-xen.c
---- pristine-linux-2.6.16/arch/i386/kernel/apic-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/apic-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/apic-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/apic-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/apic-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,140 @@
 +/*
@@ -1681,8 +1681,8 @@
 +
 +	return 0;
 +}
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/asm-offsets.c tmp-linux-2.6-xen.patch/arch/i386/kernel/asm-offsets.c
---- pristine-linux-2.6.16/arch/i386/kernel/asm-offsets.c	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/asm-offsets.c tmp-linux-2.6-xen.patch/arch/i386/kernel/asm-offsets.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/asm-offsets.c	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/asm-offsets.c	2006-04-05 22:43:19.000000000 +0200
 @@ -13,6 +13,7 @@
  #include <asm/fixmap.h>
@@ -1706,8 +1706,8 @@
 -	DEFINE(VSYSCALL_BASE, __fix_to_virt(FIX_VSYSCALL));
 +	DEFINE(VSYSCALL_BASE, VSYSCALL_BASE);
  }
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/cpu/common-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/cpu/common-xen.c
---- pristine-linux-2.6.16/arch/i386/kernel/cpu/common-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/cpu/common-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/cpu/common-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/cpu/common-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/cpu/common-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,715 @@
 +#include <linux/init.h>
@@ -2425,8 +2425,8 @@
 +	per_cpu(cpu_tlbstate, cpu).active_mm = &init_mm;
 +}
 +#endif
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/cpu/Makefile tmp-linux-2.6-xen.patch/arch/i386/kernel/cpu/Makefile
---- pristine-linux-2.6.16/arch/i386/kernel/cpu/Makefile	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/cpu/Makefile tmp-linux-2.6-xen.patch/arch/i386/kernel/cpu/Makefile
+--- pristine-linux-2.6.16.12/arch/i386/kernel/cpu/Makefile	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/cpu/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -17,3 +17,8 @@ obj-$(CONFIG_X86_MCE)	+=	mcheck/
  
@@ -2437,8 +2437,8 @@
 +include $(srctree)/scripts/Makefile.xen
 +obj-y := $(call cherrypickxen, $(obj-y), $(src))
 +endif
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/cpu/mtrr/main-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/cpu/mtrr/main-xen.c
---- pristine-linux-2.6.16/arch/i386/kernel/cpu/mtrr/main-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/cpu/mtrr/main-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/cpu/mtrr/main-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/cpu/mtrr/main-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/cpu/mtrr/main-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,196 @@
 +#include <linux/init.h>
@@ -2637,8 +2637,8 @@
 +}
 +
 +subsys_initcall(mtrr_init);
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/cpu/mtrr/Makefile tmp-linux-2.6-xen.patch/arch/i386/kernel/cpu/mtrr/Makefile
---- pristine-linux-2.6.16/arch/i386/kernel/cpu/mtrr/Makefile	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/cpu/mtrr/Makefile tmp-linux-2.6-xen.patch/arch/i386/kernel/cpu/mtrr/Makefile
+--- pristine-linux-2.6.16.12/arch/i386/kernel/cpu/mtrr/Makefile	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/cpu/mtrr/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -3,3 +3,10 @@ obj-y		+= amd.o
  obj-y		+= cyrix.o
@@ -2651,35 +2651,14 @@
 +obj-y := $(call filterxen, $(obj-y), $(n-obj-xen))
 +obj-y := $(call cherrypickxen, $(obj-y))
 +endif
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/early_printk-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/early_printk-xen.c
---- pristine-linux-2.6.16/arch/i386/kernel/early_printk-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/early_printk-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/early_printk-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/early_printk-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/early_printk-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,2 @@
 +
 +#include "../../x86_64/kernel/early_printk-xen.c"
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/entry.S tmp-linux-2.6-xen.patch/arch/i386/kernel/entry.S
---- pristine-linux-2.6.16/arch/i386/kernel/entry.S	2006-03-20 06:53:29.000000000 +0100
-+++ tmp-linux-2.6-xen.patch/arch/i386/kernel/entry.S	2006-04-28 23:39:09.000000000 +0200
-@@ -406,7 +406,7 @@ vector=0
- ENTRY(irq_entries_start)
- .rept NR_IRQS
- 	ALIGN
--1:	pushl $vector-256
-+1:	pushl $~(vector)
- 	jmp common_interrupt
- .data
- 	.long 1b
-@@ -423,7 +423,7 @@ common_interrupt:
- 
- #define BUILD_INTERRUPT(name, nr)	\
- ENTRY(name)				\
--	pushl $nr-256;			\
-+	pushl $~(nr);			\
- 	SAVE_ALL			\
- 	movl %esp,%eax;			\
- 	call smp_/**/name;		\
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/entry-xen.S tmp-linux-2.6-xen.patch/arch/i386/kernel/entry-xen.S
---- pristine-linux-2.6.16/arch/i386/kernel/entry-xen.S	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/entry-xen.S tmp-linux-2.6-xen.patch/arch/i386/kernel/entry-xen.S
+--- pristine-linux-2.6.16.12/arch/i386/kernel/entry-xen.S	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/entry-xen.S	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,876 @@
 +/*
@@ -3558,8 +3537,8 @@
 +#include "syscall_table.S"
 +
 +syscall_table_size=(.-sys_call_table)
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/fixup.c tmp-linux-2.6-xen.patch/arch/i386/kernel/fixup.c
---- pristine-linux-2.6.16/arch/i386/kernel/fixup.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/fixup.c tmp-linux-2.6-xen.patch/arch/i386/kernel/fixup.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/fixup.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/fixup.c	2006-04-18 16:21:25.000000000 +0200
 @@ -0,0 +1,96 @@
 +/******************************************************************************
@@ -3658,8 +3637,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/head-xen.S tmp-linux-2.6-xen.patch/arch/i386/kernel/head-xen.S
---- pristine-linux-2.6.16/arch/i386/kernel/head-xen.S	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/head-xen.S tmp-linux-2.6-xen.patch/arch/i386/kernel/head-xen.S
+--- pristine-linux-2.6.16.12/arch/i386/kernel/head-xen.S	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/head-xen.S	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,171 @@
 +
@@ -3833,8 +3812,8 @@
 +#endif
 +	.ascii	",LOADER=generic"
 +	.byte	0
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/init_task-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/init_task-xen.c
---- pristine-linux-2.6.16/arch/i386/kernel/init_task-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/init_task-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/init_task-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/init_task-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/init_task-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,51 @@
 +#include <linux/mm.h>
@@ -3888,8 +3867,8 @@
 +DEFINE_PER_CPU(struct tss_struct, init_tss) ____cacheline_internodealigned_in_smp = INIT_TSS;
 +#endif
 +
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/io_apic-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/io_apic-xen.c
---- pristine-linux-2.6.16/arch/i386/kernel/io_apic-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/io_apic-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/io_apic-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/io_apic-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/io_apic-xen.c	2006-04-25 11:20:48.000000000 +0200
 @@ -0,0 +1,2753 @@
 +/*
@@ -6645,8 +6624,8 @@
 +}
 +
 +#endif /* CONFIG_ACPI */
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/ioport-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/ioport-xen.c
---- pristine-linux-2.6.16/arch/i386/kernel/ioport-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/ioport-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/ioport-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/ioport-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/ioport-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,122 @@
 +/*
@@ -6771,22 +6750,8 @@
 +	set_iopl_mask(t->iopl);
 +	return 0;
 +}
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/irq.c tmp-linux-2.6-xen.patch/arch/i386/kernel/irq.c
---- pristine-linux-2.6.16/arch/i386/kernel/irq.c	2006-03-20 06:53:29.000000000 +0100
-+++ tmp-linux-2.6-xen.patch/arch/i386/kernel/irq.c	2006-04-28 23:39:09.000000000 +0200
-@@ -53,8 +53,8 @@ static union irq_ctx *softirq_ctx[NR_CPU
-  */
- fastcall unsigned int do_IRQ(struct pt_regs *regs)
- {	
--	/* high bits used in ret_from_ code */
--	int irq = regs->orig_eax & 0xff;
-+	/* high bit used in ret_from_ code */
-+	int irq = ~regs->orig_eax;
- #ifdef CONFIG_4KSTACKS
- 	union irq_ctx *curctx, *irqctx;
- 	u32 *isp;
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/irq-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/irq-xen.c
---- pristine-linux-2.6.16/arch/i386/kernel/irq-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/irq-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/irq-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/irq-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/irq-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,306 @@
 +/*
@@ -7095,8 +7060,8 @@
 +}
 +#endif
 +
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/ldt-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/ldt-xen.c
---- pristine-linux-2.6.16/arch/i386/kernel/ldt-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/ldt-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/ldt-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/ldt-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/ldt-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,269 @@
 +/*
@@ -7368,8 +7333,8 @@
 +	}
 +	return ret;
 +}
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/Makefile tmp-linux-2.6-xen.patch/arch/i386/kernel/Makefile
---- pristine-linux-2.6.16/arch/i386/kernel/Makefile	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/Makefile tmp-linux-2.6-xen.patch/arch/i386/kernel/Makefile
+--- pristine-linux-2.6.16.12/arch/i386/kernel/Makefile	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -37,17 +37,26 @@ obj-$(CONFIG_EFI) 		+= efi.o efi_stub.o
  obj-$(CONFIG_DOUBLEFAULT) 	+= doublefault.o
@@ -7430,8 +7395,8 @@
 +obj-y := $(call cherrypickxen, $(obj-y))
 +extra-y := $(call cherrypickxen, $(extra-y))
 +endif
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/microcode-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/microcode-xen.c
---- pristine-linux-2.6.16/arch/i386/kernel/microcode-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/microcode-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/microcode-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/microcode-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/microcode-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,165 @@
 +/*
@@ -7599,8 +7564,8 @@
 +module_init(microcode_init)
 +module_exit(microcode_exit)
 +MODULE_ALIAS_MISCDEV(MICROCODE_MINOR);
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/mpparse-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/mpparse-xen.c
---- pristine-linux-2.6.16/arch/i386/kernel/mpparse-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/mpparse-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/mpparse-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/mpparse-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/mpparse-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,1188 @@
 +/*
@@ -8791,8 +8756,8 @@
 +
 +#endif /* CONFIG_X86_IO_APIC */
 +#endif /* CONFIG_ACPI */
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/pci-dma-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/pci-dma-xen.c
---- pristine-linux-2.6.16/arch/i386/kernel/pci-dma-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/pci-dma-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/pci-dma-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/pci-dma-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/pci-dma-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,344 @@
 +/*
@@ -9139,8 +9104,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/process-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/process-xen.c
---- pristine-linux-2.6.16/arch/i386/kernel/process-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/process-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/process-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/process-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/process-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,833 @@
 +/*
@@ -9976,8 +9941,8 @@
 +		sp -= get_random_int() % 8192;
 +	return sp & ~0xf;
 +}
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/quirks-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/quirks-xen.c
---- pristine-linux-2.6.16/arch/i386/kernel/quirks-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/quirks-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/quirks-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/quirks-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/quirks-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,48 @@
 +/*
@@ -10028,8 +9993,8 @@
 +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_E7525_MCH,	quirk_intel_irqbalance);
 +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_E7520_MCH,	quirk_intel_irqbalance);
 +#endif
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/setup-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/setup-xen.c
---- pristine-linux-2.6.16/arch/i386/kernel/setup-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/setup-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/setup-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/setup-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/setup-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,1892 @@
 +/*
@@ -11924,8 +11889,8 @@
 + * c-basic-offset:8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/smpalts.c tmp-linux-2.6-xen.patch/arch/i386/kernel/smpalts.c
---- pristine-linux-2.6.16/arch/i386/kernel/smpalts.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/smpalts.c tmp-linux-2.6-xen.patch/arch/i386/kernel/smpalts.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/smpalts.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/smpalts.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,85 @@
 +#include <linux/kernel.h>
@@ -12013,8 +11978,8 @@
 +	asm volatile ("jmp 1f\n1:");
 +	mb();
 +}
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/smpboot.c tmp-linux-2.6-xen.patch/arch/i386/kernel/smpboot.c
---- pristine-linux-2.6.16/arch/i386/kernel/smpboot.c	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/smpboot.c tmp-linux-2.6-xen.patch/arch/i386/kernel/smpboot.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/smpboot.c	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/smpboot.c	2006-04-05 22:43:19.000000000 +0200
 @@ -1218,6 +1218,11 @@ static void __init smp_boot_cpus(unsigne
  		if (max_cpus <= cpucount+1)
@@ -12040,8 +12005,8 @@
  	local_irq_enable();
  	per_cpu(cpu_state, cpu) = CPU_UP_PREPARE;
  	/* Unleash the CPU! */
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/smp-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/smp-xen.c
---- pristine-linux-2.6.16/arch/i386/kernel/smp-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/smp-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/smp-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/smp-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/smp-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,617 @@
 +/*
@@ -12661,8 +12626,8 @@
 +	return IRQ_HANDLED;
 +}
 +
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/swiotlb.c tmp-linux-2.6-xen.patch/arch/i386/kernel/swiotlb.c
---- pristine-linux-2.6.16/arch/i386/kernel/swiotlb.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/swiotlb.c tmp-linux-2.6-xen.patch/arch/i386/kernel/swiotlb.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/swiotlb.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/swiotlb.c	2006-04-18 16:21:25.000000000 +0200
 @@ -0,0 +1,674 @@
 +/*
@@ -13339,8 +13304,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/sysenter.c tmp-linux-2.6-xen.patch/arch/i386/kernel/sysenter.c
---- pristine-linux-2.6.16/arch/i386/kernel/sysenter.c	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/sysenter.c tmp-linux-2.6-xen.patch/arch/i386/kernel/sysenter.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/sysenter.c	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/sysenter.c	2006-04-05 22:43:19.000000000 +0200
 @@ -13,6 +13,7 @@
  #include <linux/gfp.h>
@@ -13467,8 +13432,8 @@
 +{
 +	return 0;
 +}
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/time-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/time-xen.c
---- pristine-linux-2.6.16/arch/i386/kernel/time-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/time-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/time-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/time-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/time-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,1097 @@
 +/*
@@ -14568,8 +14533,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/traps.c tmp-linux-2.6-xen.patch/arch/i386/kernel/traps.c
---- pristine-linux-2.6.16/arch/i386/kernel/traps.c	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/traps.c tmp-linux-2.6-xen.patch/arch/i386/kernel/traps.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/traps.c	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/traps.c	2006-04-05 22:43:19.000000000 +0200
 @@ -567,18 +567,11 @@ static void mem_parity_error(unsigned ch
  
@@ -14591,8 +14556,8 @@
  }
  
  static void unknown_nmi_error(unsigned char reason, struct pt_regs * regs)
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/traps-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/traps-xen.c
---- pristine-linux-2.6.16/arch/i386/kernel/traps-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/traps-xen.c tmp-linux-2.6-xen.patch/arch/i386/kernel/traps-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/traps-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/traps-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,1094 @@
 +/*
@@ -15689,10 +15654,18 @@
 +	return 0;
 +}
 +__setup("kstack=", kstack_setup);
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/vm86.c tmp-linux-2.6-xen.patch/arch/i386/kernel/vm86.c
---- pristine-linux-2.6.16/arch/i386/kernel/vm86.c	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/vm86.c tmp-linux-2.6-xen.patch/arch/i386/kernel/vm86.c
+--- pristine-linux-2.6.16.12/arch/i386/kernel/vm86.c	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/vm86.c	2006-04-05 22:43:19.000000000 +0200
-@@ -97,7 +97,9 @@
+@@ -43,7 +43,6 @@
+ #include <linux/smp_lock.h>
+ #include <linux/highmem.h>
+ #include <linux/ptrace.h>
+-#include <linux/audit.h>
+ 
+ #include <asm/uaccess.h>
+ #include <asm/io.h>
+@@ -98,7 +97,9 @@
  struct pt_regs * FASTCALL(save_v86_state(struct kernel_vm86_regs * regs));
  struct pt_regs * fastcall save_v86_state(struct kernel_vm86_regs * regs)
  {
@@ -15702,7 +15675,7 @@
  	struct pt_regs *ret;
  	unsigned long tmp;
  
-@@ -122,7 +124,9 @@ struct pt_regs * fastcall save_v86_state
+@@ -123,7 +124,9 @@ struct pt_regs * fastcall save_v86_state
  		do_exit(SIGSEGV);
  	}
  
@@ -15712,17 +15685,18 @@
  	current->thread.esp0 = current->thread.saved_esp0;
  	current->thread.sysenter_cs = __KERNEL_CS;
  	load_esp0(tss, &current->thread);
-@@ -251,7 +255,9 @@ out:
+@@ -252,8 +255,9 @@ out:
  
  static void do_sys_vm86(struct kernel_vm86_struct *info, struct task_struct *tsk)
  {
 +#ifndef CONFIG_X86_NO_TSS
  	struct tss_struct *tss;
+-	long eax;
 +#endif
  /*
   * make sure the vm86() system call doesn't try to do anything silly
   */
-@@ -295,7 +301,9 @@ static void do_sys_vm86(struct kernel_vm
+@@ -297,7 +301,9 @@ static void do_sys_vm86(struct kernel_vm
  	savesegment(fs, tsk->thread.saved_fs);
  	savesegment(gs, tsk->thread.saved_gs);
  
@@ -15732,8 +15706,30 @@
  	tsk->thread.esp0 = (unsigned long) &info->VM86_TSS_ESP0;
  	if (cpu_has_sep)
  		tsk->thread.sysenter_cs = 0;
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/vmlinux.lds.S tmp-linux-2.6-xen.patch/arch/i386/kernel/vmlinux.lds.S
---- pristine-linux-2.6.16/arch/i386/kernel/vmlinux.lds.S	2006-03-20 06:53:29.000000000 +0100
+@@ -307,19 +313,13 @@ static void do_sys_vm86(struct kernel_vm
+ 	tsk->thread.screen_bitmap = info->screen_bitmap;
+ 	if (info->flags & VM86_SCREEN_BITMAP)
+ 		mark_screen_rdonly(tsk->mm);
+-	__asm__ __volatile__("xorl %eax,%eax; movl %eax,%fs; movl %eax,%gs\n\t");
+-	__asm__ __volatile__("movl %%eax, %0\n" :"=r"(eax));
+-
+-	/*call audit_syscall_exit since we do not exit via the normal paths */
+-	if (unlikely(current->audit_context))
+-		audit_syscall_exit(current, AUDITSC_RESULT(eax), eax);
+-
+ 	__asm__ __volatile__(
++		"xorl %%eax,%%eax; movl %%eax,%%fs; movl %%eax,%%gs\n\t"
+ 		"movl %0,%%esp\n\t"
+ 		"movl %1,%%ebp\n\t"
+ 		"jmp resume_userspace"
+ 		: /* no outputs */
+-		:"r" (&info->regs), "r" (task_thread_info(tsk)));
++		:"r" (&info->regs), "r" (task_thread_info(tsk)) : "ax");
+ 	/* we never return here */
+ }
+ 
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/vmlinux.lds.S tmp-linux-2.6-xen.patch/arch/i386/kernel/vmlinux.lds.S
+--- pristine-linux-2.6.16.12/arch/i386/kernel/vmlinux.lds.S	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/vmlinux.lds.S	2006-04-05 22:43:19.000000000 +0200
 @@ -34,6 +34,13 @@ SECTIONS
    __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) { *(__ex_table) }
@@ -15749,8 +15745,8 @@
    RODATA
  
    /* writeable */
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/vsyscall-note-xen.S tmp-linux-2.6-xen.patch/arch/i386/kernel/vsyscall-note-xen.S
---- pristine-linux-2.6.16/arch/i386/kernel/vsyscall-note-xen.S	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/vsyscall-note-xen.S tmp-linux-2.6-xen.patch/arch/i386/kernel/vsyscall-note-xen.S
+--- pristine-linux-2.6.16.12/arch/i386/kernel/vsyscall-note-xen.S	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/vsyscall-note-xen.S	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,32 @@
 +/*
@@ -15785,8 +15781,8 @@
 +NOTE_KERNELCAP_BEGIN(1, 1)
 +NOTE_KERNELCAP(1, "nosegneg")  /* Change 1 back to 0 when glibc is fixed! */
 +NOTE_KERNELCAP_END
-diff -Nurp pristine-linux-2.6.16/arch/i386/kernel/vsyscall.S tmp-linux-2.6-xen.patch/arch/i386/kernel/vsyscall.S
---- pristine-linux-2.6.16/arch/i386/kernel/vsyscall.S	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/kernel/vsyscall.S tmp-linux-2.6-xen.patch/arch/i386/kernel/vsyscall.S
+--- pristine-linux-2.6.16.12/arch/i386/kernel/vsyscall.S	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/i386/kernel/vsyscall.S	2006-04-05 22:43:19.000000000 +0200
 @@ -7,9 +7,11 @@ vsyscall_int80_start:
  	.incbin "arch/i386/kernel/vsyscall-int80.so"
@@ -15800,8 +15796,8 @@
 +#endif
  
  __FINIT
-diff -Nurp pristine-linux-2.6.16/arch/i386/mach-xen/Makefile tmp-linux-2.6-xen.patch/arch/i386/mach-xen/Makefile
---- pristine-linux-2.6.16/arch/i386/mach-xen/Makefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/mach-xen/Makefile tmp-linux-2.6-xen.patch/arch/i386/mach-xen/Makefile
+--- pristine-linux-2.6.16.12/arch/i386/mach-xen/Makefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/mach-xen/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,5 @@
 +#
@@ -15809,8 +15805,8 @@
 +#
 +
 +obj-y				:= setup.o
-diff -Nurp pristine-linux-2.6.16/arch/i386/mach-xen/setup.c tmp-linux-2.6-xen.patch/arch/i386/mach-xen/setup.c
---- pristine-linux-2.6.16/arch/i386/mach-xen/setup.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/mach-xen/setup.c tmp-linux-2.6-xen.patch/arch/i386/mach-xen/setup.c
+--- pristine-linux-2.6.16.12/arch/i386/mach-xen/setup.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/mach-xen/setup.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,37 @@
 +/*
@@ -15850,8 +15846,8 @@
 +}
 +
 +late_initcall(print_ipi_mode);
-diff -Nurp pristine-linux-2.6.16/arch/i386/Makefile tmp-linux-2.6-xen.patch/arch/i386/Makefile
---- pristine-linux-2.6.16/arch/i386/Makefile	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/Makefile tmp-linux-2.6-xen.patch/arch/i386/Makefile
+--- pristine-linux-2.6.16.12/arch/i386/Makefile	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/i386/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -45,6 +45,11 @@ CFLAGS				+= $(shell if [ $(call cc-vers
  
@@ -15904,8 +15900,8 @@
  
  archclean:
  	$(Q)$(MAKE) $(clean)=arch/i386/boot
-diff -Nurp pristine-linux-2.6.16/arch/i386/mm/fault-xen.c tmp-linux-2.6-xen.patch/arch/i386/mm/fault-xen.c
---- pristine-linux-2.6.16/arch/i386/mm/fault-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/mm/fault-xen.c tmp-linux-2.6-xen.patch/arch/i386/mm/fault-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/mm/fault-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/mm/fault-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,617 @@
 +/*
@@ -16525,8 +16521,8 @@
 +		return;
 +	}
 +}
-diff -Nurp pristine-linux-2.6.16/arch/i386/mm/highmem-xen.c tmp-linux-2.6-xen.patch/arch/i386/mm/highmem-xen.c
---- pristine-linux-2.6.16/arch/i386/mm/highmem-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/mm/highmem-xen.c tmp-linux-2.6-xen.patch/arch/i386/mm/highmem-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/mm/highmem-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/mm/highmem-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,123 @@
 +#include <linux/highmem.h>
@@ -16652,8 +16648,8 @@
 +EXPORT_SYMBOL(kmap_atomic);
 +EXPORT_SYMBOL(kunmap_atomic);
 +EXPORT_SYMBOL(kmap_atomic_to_page);
-diff -Nurp pristine-linux-2.6.16/arch/i386/mm/hypervisor.c tmp-linux-2.6-xen.patch/arch/i386/mm/hypervisor.c
---- pristine-linux-2.6.16/arch/i386/mm/hypervisor.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/mm/hypervisor.c tmp-linux-2.6-xen.patch/arch/i386/mm/hypervisor.c
+--- pristine-linux-2.6.16.12/arch/i386/mm/hypervisor.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/mm/hypervisor.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,424 @@
 +/******************************************************************************
@@ -17080,8 +17076,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/arch/i386/mm/init-xen.c tmp-linux-2.6-xen.patch/arch/i386/mm/init-xen.c
---- pristine-linux-2.6.16/arch/i386/mm/init-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/mm/init-xen.c tmp-linux-2.6-xen.patch/arch/i386/mm/init-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/mm/init-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/mm/init-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,854 @@
 +/*
@@ -17938,8 +17934,8 @@
 +	}
 +}
 +#endif
-diff -Nurp pristine-linux-2.6.16/arch/i386/mm/ioremap-xen.c tmp-linux-2.6-xen.patch/arch/i386/mm/ioremap-xen.c
---- pristine-linux-2.6.16/arch/i386/mm/ioremap-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/mm/ioremap-xen.c tmp-linux-2.6-xen.patch/arch/i386/mm/ioremap-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/mm/ioremap-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/mm/ioremap-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,464 @@
 +/*
@@ -18406,8 +18402,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/arch/i386/mm/Makefile tmp-linux-2.6-xen.patch/arch/i386/mm/Makefile
---- pristine-linux-2.6.16/arch/i386/mm/Makefile	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/mm/Makefile tmp-linux-2.6-xen.patch/arch/i386/mm/Makefile
+--- pristine-linux-2.6.16.12/arch/i386/mm/Makefile	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/i386/mm/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -8,3 +8,11 @@ obj-$(CONFIG_NUMA) += discontig.o
  obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
@@ -18421,20 +18417,8 @@
 +
 +obj-y := $(call cherrypickxen, $(obj-y))
 +endif
-diff -Nurp pristine-linux-2.6.16/arch/i386/mm/pageattr.c tmp-linux-2.6-xen.patch/arch/i386/mm/pageattr.c
---- pristine-linux-2.6.16/arch/i386/mm/pageattr.c	2006-03-20 06:53:29.000000000 +0100
-+++ tmp-linux-2.6-xen.patch/arch/i386/mm/pageattr.c	2006-04-28 23:39:09.000000000 +0200
-@@ -78,7 +78,7 @@ static void set_pmd_pte(pte_t *kpte, uns
- 	unsigned long flags;
- 
- 	set_pte_atomic(kpte, pte); 	/* change init_mm */
--	if (PTRS_PER_PMD > 1)
-+	if (HAVE_SHARED_KERNEL_PMD)
- 		return;
- 
- 	spin_lock_irqsave(&pgd_lock, flags);
-diff -Nurp pristine-linux-2.6.16/arch/i386/mm/pgtable.c tmp-linux-2.6-xen.patch/arch/i386/mm/pgtable.c
---- pristine-linux-2.6.16/arch/i386/mm/pgtable.c	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/mm/pgtable.c tmp-linux-2.6-xen.patch/arch/i386/mm/pgtable.c
+--- pristine-linux-2.6.16.12/arch/i386/mm/pgtable.c	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/i386/mm/pgtable.c	2006-04-05 22:43:19.000000000 +0200
 @@ -13,6 +13,7 @@
  #include <linux/slab.h>
@@ -18469,8 +18453,8 @@
  }
  
  pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address)
-diff -Nurp pristine-linux-2.6.16/arch/i386/mm/pgtable-xen.c tmp-linux-2.6-xen.patch/arch/i386/mm/pgtable-xen.c
---- pristine-linux-2.6.16/arch/i386/mm/pgtable-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/mm/pgtable-xen.c tmp-linux-2.6-xen.patch/arch/i386/mm/pgtable-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/mm/pgtable-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/mm/pgtable-xen.c	2006-04-25 11:20:48.000000000 +0200
 @@ -0,0 +1,652 @@
 +/*
@@ -19125,8 +19109,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/arch/i386/pci/irq-xen.c tmp-linux-2.6-xen.patch/arch/i386/pci/irq-xen.c
---- pristine-linux-2.6.16/arch/i386/pci/irq-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/pci/irq-xen.c tmp-linux-2.6-xen.patch/arch/i386/pci/irq-xen.c
+--- pristine-linux-2.6.16.12/arch/i386/pci/irq-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/pci/irq-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,1202 @@
 +/*
@@ -20331,8 +20315,8 @@
 +
 +	return count;
 +}
-diff -Nurp pristine-linux-2.6.16/arch/i386/pci/Makefile tmp-linux-2.6-xen.patch/arch/i386/pci/Makefile
---- pristine-linux-2.6.16/arch/i386/pci/Makefile	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/pci/Makefile tmp-linux-2.6-xen.patch/arch/i386/pci/Makefile
+--- pristine-linux-2.6.16.12/arch/i386/pci/Makefile	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/i386/pci/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -4,6 +4,10 @@ obj-$(CONFIG_PCI_BIOS)		+= pcbios.o
  obj-$(CONFIG_PCI_MMCONFIG)	+= mmconfig.o direct.o
@@ -20354,8 +20338,8 @@
 +include $(srctree)/scripts/Makefile.xen
 +obj-y := $(call cherrypickxen, $(obj-y))
 +endif
-diff -Nurp pristine-linux-2.6.16/arch/i386/pci/pcifront.c tmp-linux-2.6-xen.patch/arch/i386/pci/pcifront.c
---- pristine-linux-2.6.16/arch/i386/pci/pcifront.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/pci/pcifront.c tmp-linux-2.6-xen.patch/arch/i386/pci/pcifront.c
+--- pristine-linux-2.6.16.12/arch/i386/pci/pcifront.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/i386/pci/pcifront.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,55 @@
 +/*
@@ -20413,8 +20397,8 @@
 +}
 +
 +arch_initcall(pcifront_x86_stub_init);
-diff -Nurp pristine-linux-2.6.16/arch/i386/power/Makefile tmp-linux-2.6-xen.patch/arch/i386/power/Makefile
---- pristine-linux-2.6.16/arch/i386/power/Makefile	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/i386/power/Makefile tmp-linux-2.6-xen.patch/arch/i386/power/Makefile
+--- pristine-linux-2.6.16.12/arch/i386/power/Makefile	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/i386/power/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -1,2 +1,4 @@
 -obj-$(CONFIG_PM)		+= cpu.o
@@ -20422,8 +20406,8 @@
 +obj-$(CONFIG_SOFTWARE_SUSPEND)	+= cpu.o
 +obj-$(CONFIG_ACPI_SLEEP)	+= cpu.o
  obj-$(CONFIG_SOFTWARE_SUSPEND)	+= swsusp.o
-diff -Nurp pristine-linux-2.6.16/arch/ia64/hp/sim/Makefile tmp-linux-2.6-xen.patch/arch/ia64/hp/sim/Makefile
---- pristine-linux-2.6.16/arch/ia64/hp/sim/Makefile	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/hp/sim/Makefile tmp-linux-2.6-xen.patch/arch/ia64/hp/sim/Makefile
+--- pristine-linux-2.6.16.12/arch/ia64/hp/sim/Makefile	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/ia64/hp/sim/Makefile	2006-01-05 19:06:50.000000000 +0100
 @@ -14,3 +14,5 @@ obj-$(CONFIG_HP_SIMETH)	+= simeth.o
  obj-$(CONFIG_HP_SIMSERIAL) += simserial.o
@@ -20431,8 +20415,8 @@
  obj-$(CONFIG_HP_SIMSCSI) += simscsi.o
 +obj-$(CONFIG_XEN) += simserial.o
 +obj-$(CONFIG_XEN) += hpsim_console.o
-diff -Nurp pristine-linux-2.6.16/arch/ia64/Kconfig tmp-linux-2.6-xen.patch/arch/ia64/Kconfig
---- pristine-linux-2.6.16/arch/ia64/Kconfig	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/Kconfig tmp-linux-2.6-xen.patch/arch/ia64/Kconfig
+--- pristine-linux-2.6.16.12/arch/ia64/Kconfig	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/ia64/Kconfig	2006-04-11 21:49:57.000000000 +0200
 @@ -50,6 +50,57 @@ config GENERIC_IOMAP
  	bool
@@ -20492,8 +20476,8 @@
  config SCHED_NO_NO_OMIT_FRAME_POINTER
  	bool
  	default y
-diff -Nurp pristine-linux-2.6.16/arch/ia64/kernel/entry.S tmp-linux-2.6-xen.patch/arch/ia64/kernel/entry.S
---- pristine-linux-2.6.16/arch/ia64/kernel/entry.S	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/kernel/entry.S tmp-linux-2.6-xen.patch/arch/ia64/kernel/entry.S
+--- pristine-linux-2.6.16.12/arch/ia64/kernel/entry.S	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/ia64/kernel/entry.S	2006-04-05 22:43:19.000000000 +0200
 @@ -181,7 +181,7 @@ END(sys_clone)
   *	called.  The code starting at .map relies on this.  The rest of the code
@@ -20614,8 +20598,8 @@
  	;;
  	mov ar.unat=r9
  	br.many b7
-diff -Nurp pristine-linux-2.6.16/arch/ia64/kernel/head.S tmp-linux-2.6-xen.patch/arch/ia64/kernel/head.S
---- pristine-linux-2.6.16/arch/ia64/kernel/head.S	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/kernel/head.S tmp-linux-2.6-xen.patch/arch/ia64/kernel/head.S
+--- pristine-linux-2.6.16.12/arch/ia64/kernel/head.S	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/ia64/kernel/head.S	2006-04-05 22:43:19.000000000 +0200
 @@ -363,6 +363,12 @@ start_ap:
  	;;
@@ -20630,8 +20614,8 @@
  #ifdef CONFIG_SMP
  (isAP)	br.call.sptk.many rp=start_secondary
  .ret0:
-diff -Nurp pristine-linux-2.6.16/arch/ia64/kernel/pal.S tmp-linux-2.6-xen.patch/arch/ia64/kernel/pal.S
---- pristine-linux-2.6.16/arch/ia64/kernel/pal.S	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/kernel/pal.S tmp-linux-2.6-xen.patch/arch/ia64/kernel/pal.S
+--- pristine-linux-2.6.16.12/arch/ia64/kernel/pal.S	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/ia64/kernel/pal.S	2006-01-05 19:06:50.000000000 +0100
 @@ -16,6 +16,7 @@
  #include <asm/processor.h>
@@ -20659,8 +20643,8 @@
  
  /*
   * Make a PAL call using the stacked registers calling convention.
-diff -Nurp pristine-linux-2.6.16/arch/ia64/kernel/sal.c tmp-linux-2.6-xen.patch/arch/ia64/kernel/sal.c
---- pristine-linux-2.6.16/arch/ia64/kernel/sal.c	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/kernel/sal.c tmp-linux-2.6-xen.patch/arch/ia64/kernel/sal.c
+--- pristine-linux-2.6.16.12/arch/ia64/kernel/sal.c	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/ia64/kernel/sal.c	2006-04-05 22:43:19.000000000 +0200
 @@ -336,6 +336,9 @@ ia64_sal_init (struct ia64_sal_systab *s
  		p += SAL_DESC_SIZE(*p);
@@ -20672,8 +20656,8 @@
  	check_sal_cache_flush();
  }
  
-diff -Nurp pristine-linux-2.6.16/arch/ia64/kernel/setup.c tmp-linux-2.6-xen.patch/arch/ia64/kernel/setup.c
---- pristine-linux-2.6.16/arch/ia64/kernel/setup.c	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/kernel/setup.c tmp-linux-2.6-xen.patch/arch/ia64/kernel/setup.c
+--- pristine-linux-2.6.16.12/arch/ia64/kernel/setup.c	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/ia64/kernel/setup.c	2006-04-05 22:43:19.000000000 +0200
 @@ -61,6 +61,9 @@
  #include <asm/system.h>
@@ -20742,8 +20726,8 @@
  #endif
  
  	/* enable IA-64 Machine Check Abort Handling unless disabled */
-diff -Nurp pristine-linux-2.6.16/arch/ia64/Makefile tmp-linux-2.6-xen.patch/arch/ia64/Makefile
---- pristine-linux-2.6.16/arch/ia64/Makefile	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/Makefile tmp-linux-2.6-xen.patch/arch/ia64/Makefile
+--- pristine-linux-2.6.16.12/arch/ia64/Makefile	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/ia64/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -42,6 +42,12 @@ ifeq ($(call cc-version),0304)
  endif
@@ -20792,8 +20776,8 @@
  	sh $(srctree)/arch/ia64/install.sh $(KERNELRELEASE) $< System.map "$(INSTALL_PATH)"
  
  define archhelp
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen/drivers/coreMakefile tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/coreMakefile
---- pristine-linux-2.6.16/arch/ia64/xen/drivers/coreMakefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen/drivers/coreMakefile tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/coreMakefile
+--- pristine-linux-2.6.16.12/arch/ia64/xen/drivers/coreMakefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/coreMakefile	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,26 @@
 +#
@@ -20822,8 +20806,8 @@
 +endif
 +obj-$(CONFIG_SYSFS)   += hypervisor_sysfs.o
 +obj-$(CONFIG_XEN_SYSFS) += xen_sysfs.o
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen/drivers/evtchn_ia64.c tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/evtchn_ia64.c
---- pristine-linux-2.6.16/arch/ia64/xen/drivers/evtchn_ia64.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen/drivers/evtchn_ia64.c tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/evtchn_ia64.c
+--- pristine-linux-2.6.16.12/arch/ia64/xen/drivers/evtchn_ia64.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/evtchn_ia64.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,273 @@
 +/* NOTE: This file split off from evtchn.c because there was
@@ -21099,8 +21083,8 @@
 +    spin_lock_init(&irq_mapping_update_lock);
 +    memset(evtchns, 0, sizeof(evtchns));
 +}
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen/drivers/Makefile tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/Makefile
---- pristine-linux-2.6.16/arch/ia64/xen/drivers/Makefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen/drivers/Makefile tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/Makefile
+--- pristine-linux-2.6.16.12/arch/ia64/xen/drivers/Makefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/Makefile	2006-01-05 19:06:50.000000000 +0100
 @@ -0,0 +1,20 @@
 +
@@ -21123,8 +21107,8 @@
 +#obj-$(CONFIG_XEN_NETDEV_FRONTEND)	+= netfront/
 +#obj-$(CONFIG_XEN_BLKDEV_TAP)    	+= blktap/
 +
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen/drivers/patches/blkback.c.patch tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/patches/blkback.c.patch
---- pristine-linux-2.6.16/arch/ia64/xen/drivers/patches/blkback.c.patch	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen/drivers/patches/blkback.c.patch tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/patches/blkback.c.patch
+--- pristine-linux-2.6.16.12/arch/ia64/xen/drivers/patches/blkback.c.patch	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/patches/blkback.c.patch	2006-01-05 19:06:50.000000000 +0100
 @@ -0,0 +1,57 @@
 +diff -Naur xen/blkback/blkback.c xen.patched/blkback/blkback.c
@@ -21184,8 +21168,8 @@
 + 
 + 	pending_cons = 0;
 + 	pending_prod = MAX_PENDING_REQS;
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen/drivers/patches/console.c.patch tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/patches/console.c.patch
---- pristine-linux-2.6.16/arch/ia64/xen/drivers/patches/console.c.patch	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen/drivers/patches/console.c.patch tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/patches/console.c.patch
+--- pristine-linux-2.6.16.12/arch/ia64/xen/drivers/patches/console.c.patch	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/patches/console.c.patch	2006-01-05 19:06:50.000000000 +0100
 @@ -0,0 +1,18 @@
 +--- xen/console/console.c	2005-11-02 14:13:07.000000000 +0100
@@ -21206,15 +21190,15 @@
 + 	} else {
 + 		xencons_ring_register_receiver(xencons_rx);
 + 	}
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen/drivers/patches/devmem.c.patch tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/patches/devmem.c.patch
---- pristine-linux-2.6.16/arch/ia64/xen/drivers/patches/devmem.c.patch	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen/drivers/patches/devmem.c.patch tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/patches/devmem.c.patch
+--- pristine-linux-2.6.16.12/arch/ia64/xen/drivers/patches/devmem.c.patch	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/patches/devmem.c.patch	2006-01-05 19:06:50.000000000 +0100
 @@ -0,0 +1,3 @@
 +diff -Naur xen/core/devmem.c xen.patched/core/devmem.c
 +--- xen/core/devmem.c	2005-09-23 10:54:50.000000000 -0600
 ++++ xen.patched/core/devmem.c	2005-09-23 10:57:51.000000000 -0600
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen/drivers/patches/gnttab.c.patch tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/patches/gnttab.c.patch
---- pristine-linux-2.6.16/arch/ia64/xen/drivers/patches/gnttab.c.patch	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen/drivers/patches/gnttab.c.patch tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/patches/gnttab.c.patch
+--- pristine-linux-2.6.16.12/arch/ia64/xen/drivers/patches/gnttab.c.patch	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/patches/gnttab.c.patch	2006-01-05 19:06:50.000000000 +0100
 @@ -0,0 +1,46 @@
 +diff -Naur xen/core/gnttab.c xen.patched/core/gnttab.c
@@ -21263,8 +21247,8 @@
 + 
 + 	for (i = NR_RESERVED_ENTRIES; i < NR_GRANT_ENTRIES; i++)
 + 		gnttab_list[i] = i + 1;
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen/drivers/patches/privcmd.c.patch tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/patches/privcmd.c.patch
---- pristine-linux-2.6.16/arch/ia64/xen/drivers/patches/privcmd.c.patch	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen/drivers/patches/privcmd.c.patch tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/patches/privcmd.c.patch
+--- pristine-linux-2.6.16.12/arch/ia64/xen/drivers/patches/privcmd.c.patch	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/patches/privcmd.c.patch	2006-01-05 19:06:50.000000000 +0100
 @@ -0,0 +1,43 @@
 +diff -Naur xen/privcmd/privcmd.c xen.patched/privcmd/privcmd.c
@@ -21310,14 +21294,14 @@
 + 
 + 	default:
 + 		ret = -EINVAL;
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen/drivers/README tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/README
---- pristine-linux-2.6.16/arch/ia64/xen/drivers/README	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen/drivers/README tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/README
+--- pristine-linux-2.6.16.12/arch/ia64/xen/drivers/README	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/README	2006-01-05 19:06:50.000000000 +0100
 @@ -0,0 +1,2 @@
 +This is a temporary location for source/Makefiles that need to be
 +patched/reworked in drivers/xen to work with xenlinux/ia64.
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen/drivers/xenia64_init.c tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/xenia64_init.c
---- pristine-linux-2.6.16/arch/ia64/xen/drivers/xenia64_init.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen/drivers/xenia64_init.c tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/xenia64_init.c
+--- pristine-linux-2.6.16.12/arch/ia64/xen/drivers/xenia64_init.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen/drivers/xenia64_init.c	2006-02-11 01:01:00.000000000 +0100
 @@ -0,0 +1,55 @@
 +#ifdef __ia64__
@@ -21375,8 +21359,8 @@
 +unsigned long mfn_to_pfn(unsigned long mfn) { return mfn; }
 +#endif
 +#endif
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen/hypercall.S tmp-linux-2.6-xen.patch/arch/ia64/xen/hypercall.S
---- pristine-linux-2.6.16/arch/ia64/xen/hypercall.S	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen/hypercall.S tmp-linux-2.6-xen.patch/arch/ia64/xen/hypercall.S
+--- pristine-linux-2.6.16.12/arch/ia64/xen/hypercall.S	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen/hypercall.S	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,365 @@
 +/*
@@ -21744,8 +21728,8 @@
 +	br.ret.sptk.many rp
 +END(xen_set_eflag)
 +#endif
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen/Makefile tmp-linux-2.6-xen.patch/arch/ia64/xen/Makefile
---- pristine-linux-2.6.16/arch/ia64/xen/Makefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen/Makefile tmp-linux-2.6-xen.patch/arch/ia64/xen/Makefile
+--- pristine-linux-2.6.16.12/arch/ia64/xen/Makefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen/Makefile	2006-01-05 19:06:50.000000000 +0100
 @@ -0,0 +1,5 @@
 +#
@@ -21753,8 +21737,8 @@
 +#
 +
 +obj-y := hypercall.o xenivt.o xenentry.o xensetup.o xenpal.o xenhpski.o xenconsole.o xen_ksyms.o
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen/xenconsole.c tmp-linux-2.6-xen.patch/arch/ia64/xen/xenconsole.c
---- pristine-linux-2.6.16/arch/ia64/xen/xenconsole.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen/xenconsole.c tmp-linux-2.6-xen.patch/arch/ia64/xen/xenconsole.c
+--- pristine-linux-2.6.16.12/arch/ia64/xen/xenconsole.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen/xenconsole.c	2006-01-05 19:06:50.000000000 +0100
 @@ -0,0 +1,19 @@
 +#include <linux/config.h>
@@ -21776,8 +21760,8 @@
 +#endif
 +	return -1;
 +}
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen/xenentry.S tmp-linux-2.6-xen.patch/arch/ia64/xen/xenentry.S
---- pristine-linux-2.6.16/arch/ia64/xen/xenentry.S	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen/xenentry.S tmp-linux-2.6-xen.patch/arch/ia64/xen/xenentry.S
+--- pristine-linux-2.6.16.12/arch/ia64/xen/xenentry.S	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen/xenentry.S	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,850 @@
 +/*
@@ -22630,8 +22614,8 @@
 +#else
 +END(ia64_leave_kernel)
 +#endif
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen/xenhpski.c tmp-linux-2.6-xen.patch/arch/ia64/xen/xenhpski.c
---- pristine-linux-2.6.16/arch/ia64/xen/xenhpski.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen/xenhpski.c tmp-linux-2.6-xen.patch/arch/ia64/xen/xenhpski.c
+--- pristine-linux-2.6.16.12/arch/ia64/xen/xenhpski.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen/xenhpski.c	2006-01-05 19:06:50.000000000 +0100
 @@ -0,0 +1,19 @@
 +
@@ -22653,8 +22637,8 @@
 +	return 1;
 +}
 +
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen/xenivt.S tmp-linux-2.6-xen.patch/arch/ia64/xen/xenivt.S
---- pristine-linux-2.6.16/arch/ia64/xen/xenivt.S	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen/xenivt.S tmp-linux-2.6-xen.patch/arch/ia64/xen/xenivt.S
+--- pristine-linux-2.6.16.12/arch/ia64/xen/xenivt.S	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen/xenivt.S	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,2032 @@
 +/*
@@ -24689,8 +24673,8 @@
 +END(dispatch_to_ia32_handler)
 +
 +#endif /* CONFIG_IA32_SUPPORT */
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen/xen_ksyms.c tmp-linux-2.6-xen.patch/arch/ia64/xen/xen_ksyms.c
---- pristine-linux-2.6.16/arch/ia64/xen/xen_ksyms.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen/xen_ksyms.c tmp-linux-2.6-xen.patch/arch/ia64/xen/xen_ksyms.c
+--- pristine-linux-2.6.16.12/arch/ia64/xen/xen_ksyms.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen/xen_ksyms.c	2006-01-05 19:06:50.000000000 +0100
 @@ -0,0 +1,12 @@
 +/*
@@ -24705,8 +24689,8 @@
 +
 +extern int is_running_on_xen(void);
 +EXPORT_SYMBOL(is_running_on_xen);
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen/xenminstate.h tmp-linux-2.6-xen.patch/arch/ia64/xen/xenminstate.h
---- pristine-linux-2.6.16/arch/ia64/xen/xenminstate.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen/xenminstate.h tmp-linux-2.6-xen.patch/arch/ia64/xen/xenminstate.h
+--- pristine-linux-2.6.16.12/arch/ia64/xen/xenminstate.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen/xenminstate.h	2006-01-05 19:06:50.000000000 +0100
 @@ -0,0 +1,367 @@
 +#include <linux/config.h>
@@ -25076,8 +25060,8 @@
 +#else
 +#define SAVE_MIN		DO_SAVE_MIN(     , mov r30=r0, )
 +#endif
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen/xenpal.S tmp-linux-2.6-xen.patch/arch/ia64/xen/xenpal.S
---- pristine-linux-2.6.16/arch/ia64/xen/xenpal.S	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen/xenpal.S tmp-linux-2.6-xen.patch/arch/ia64/xen/xenpal.S
+--- pristine-linux-2.6.16.12/arch/ia64/xen/xenpal.S	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen/xenpal.S	2006-01-05 19:06:50.000000000 +0100
 @@ -0,0 +1,73 @@
 +/*
@@ -25153,8 +25137,8 @@
 +	srlz.d				// seralize restoration of psr.l
 +	br.ret.sptk.many b0
 +END(xen_pal_call_static)
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen/xensetup.S tmp-linux-2.6-xen.patch/arch/ia64/xen/xensetup.S
---- pristine-linux-2.6.16/arch/ia64/xen/xensetup.S	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen/xensetup.S tmp-linux-2.6-xen.patch/arch/ia64/xen/xensetup.S
+--- pristine-linux-2.6.16.12/arch/ia64/xen/xensetup.S	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen/xensetup.S	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,35 @@
 +/*
@@ -25192,14 +25176,14 @@
 +	ld4 r8=[r9]
 +	br.ret.sptk.many rp;;
 +END(is_running_on_xen)
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen-mkbuildtree-post tmp-linux-2.6-xen.patch/arch/ia64/xen-mkbuildtree-post
---- pristine-linux-2.6.16/arch/ia64/xen-mkbuildtree-post	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen-mkbuildtree-post tmp-linux-2.6-xen.patch/arch/ia64/xen-mkbuildtree-post
+--- pristine-linux-2.6.16.12/arch/ia64/xen-mkbuildtree-post	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen-mkbuildtree-post	2006-01-05 19:06:50.000000000 +0100
 @@ -0,0 +1,2 @@
 +#!/bin/bash
 +echo 'NOTHING YET IN ' ${0}
-diff -Nurp pristine-linux-2.6.16/arch/ia64/xen-mkbuildtree-pre tmp-linux-2.6-xen.patch/arch/ia64/xen-mkbuildtree-pre
---- pristine-linux-2.6.16/arch/ia64/xen-mkbuildtree-pre	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/ia64/xen-mkbuildtree-pre tmp-linux-2.6-xen.patch/arch/ia64/xen-mkbuildtree-pre
+--- pristine-linux-2.6.16.12/arch/ia64/xen-mkbuildtree-pre	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/ia64/xen-mkbuildtree-pre	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,50 @@
 +#!/bin/bash
@@ -25252,8 +25236,8 @@
 +#fi
 +#touch ia64.patch.semaphore
 +#cd ../..
-diff -Nurp pristine-linux-2.6.16/arch/um/kernel/physmem.c tmp-linux-2.6-xen.patch/arch/um/kernel/physmem.c
---- pristine-linux-2.6.16/arch/um/kernel/physmem.c	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/um/kernel/physmem.c tmp-linux-2.6-xen.patch/arch/um/kernel/physmem.c
+--- pristine-linux-2.6.16.12/arch/um/kernel/physmem.c	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/um/kernel/physmem.c	2006-04-05 22:43:19.000000000 +0200
 @@ -225,7 +225,7 @@ EXPORT_SYMBOL(physmem_forget_descriptor)
  EXPORT_SYMBOL(physmem_remove_mapping);
@@ -25273,8 +25257,8 @@
  }
  
  int is_remapped(void *virt)
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/ia32/ia32entry-xen.S tmp-linux-2.6-xen.patch/arch/x86_64/ia32/ia32entry-xen.S
---- pristine-linux-2.6.16/arch/x86_64/ia32/ia32entry-xen.S	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/ia32/ia32entry-xen.S tmp-linux-2.6-xen.patch/arch/x86_64/ia32/ia32entry-xen.S
+--- pristine-linux-2.6.16.12/arch/x86_64/ia32/ia32entry-xen.S	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/ia32/ia32entry-xen.S	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,721 @@
 +/*
@@ -25998,8 +25982,8 @@
 +	.rept IA32_NR_syscalls-(ia32_syscall_end-ia32_sys_call_table)/8
 +		.quad ni_syscall
 +	.endr
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/ia32/Makefile tmp-linux-2.6-xen.patch/arch/x86_64/ia32/Makefile
---- pristine-linux-2.6.16/arch/x86_64/ia32/Makefile	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/ia32/Makefile tmp-linux-2.6-xen.patch/arch/x86_64/ia32/Makefile
+--- pristine-linux-2.6.16.12/arch/x86_64/ia32/Makefile	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/ia32/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -23,9 +23,25 @@ quiet_cmd_syscall = SYSCALL $@
  			   -Wl,-soname=linux-gate.so.1 -o $@ \
@@ -26010,8 +25994,8 @@
  $(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 -Wa,-32
+-AFLAGS_vsyscall-syscall.o = -m32 -Wa,-32
 +AFLAGS_vsyscall-sysenter.o = -m32 -Iarch/i386/kernel
 +AFLAGS_vsyscall-syscall.o = -m32 -Iarch/i386/kernel
 +
@@ -26029,8 +26013,8 @@
 +
 +obj-y := $(call cherrypickxen, $(obj-y))
 +endif
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/ia32/syscall32_syscall-xen.S tmp-linux-2.6-xen.patch/arch/x86_64/ia32/syscall32_syscall-xen.S
---- pristine-linux-2.6.16/arch/x86_64/ia32/syscall32_syscall-xen.S	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/ia32/syscall32_syscall-xen.S tmp-linux-2.6-xen.patch/arch/x86_64/ia32/syscall32_syscall-xen.S
+--- pristine-linux-2.6.16.12/arch/x86_64/ia32/syscall32_syscall-xen.S	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/ia32/syscall32_syscall-xen.S	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,28 @@
 +/* 32bit VDSOs mapped into user space. */
@@ -26061,8 +26045,8 @@
 +syscall32_sysenter:
 +	.incbin "arch/x86_64/ia32/vsyscall-sysenter.so"
 +syscall32_sysenter_end:
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/ia32/syscall32-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/ia32/syscall32-xen.c
---- pristine-linux-2.6.16/arch/x86_64/ia32/syscall32-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/ia32/syscall32-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/ia32/syscall32-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/ia32/syscall32-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/ia32/syscall32-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,128 @@
 +/* Copyright 2002,2003 Andi Kleen, SuSE Labs */
@@ -26193,8 +26177,8 @@
 +	wrmsrl(MSR_CSTAR, ia32_cstar_target);
 +#endif
 +}
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/ia32/vsyscall-int80.S tmp-linux-2.6-xen.patch/arch/x86_64/ia32/vsyscall-int80.S
---- pristine-linux-2.6.16/arch/x86_64/ia32/vsyscall-int80.S	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/ia32/vsyscall-int80.S tmp-linux-2.6-xen.patch/arch/x86_64/ia32/vsyscall-int80.S
+--- pristine-linux-2.6.16.12/arch/x86_64/ia32/vsyscall-int80.S	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/ia32/vsyscall-int80.S	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,58 @@
 +/*
@@ -26255,8 +26239,8 @@
 + */
 +#define SYSCALL_ENTER_KERNEL    int $0x80
 +#include "vsyscall-sigreturn.S"
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/ia32/vsyscall-sigreturn.S tmp-linux-2.6-xen.patch/arch/x86_64/ia32/vsyscall-sigreturn.S
---- pristine-linux-2.6.16/arch/x86_64/ia32/vsyscall-sigreturn.S	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/ia32/vsyscall-sigreturn.S tmp-linux-2.6-xen.patch/arch/x86_64/ia32/vsyscall-sigreturn.S
+--- pristine-linux-2.6.16.12/arch/x86_64/ia32/vsyscall-sigreturn.S	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/ia32/vsyscall-sigreturn.S	2006-04-05 22:43:19.000000000 +0200
 @@ -120,5 +120,5 @@ __kernel_rt_sigreturn:
  	.align 4
@@ -26265,8 +26249,8 @@
 -#include "../../i386/kernel/vsyscall-note.S"
 +#include <vsyscall-note.S>
  
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/Kconfig tmp-linux-2.6-xen.patch/arch/x86_64/Kconfig
---- pristine-linux-2.6.16/arch/x86_64/Kconfig	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/Kconfig tmp-linux-2.6-xen.patch/arch/x86_64/Kconfig
+--- pristine-linux-2.6.16.12/arch/x86_64/Kconfig	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/Kconfig	2006-04-18 16:21:25.000000000 +0200
 @@ -119,6 +119,22 @@ config GENERIC_CPU
  
@@ -26432,16 +26416,16 @@
 +source "drivers/xen/Kconfig"
 +
  source "lib/Kconfig"
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/acpi/Makefile tmp-linux-2.6-xen.patch/arch/x86_64/kernel/acpi/Makefile
---- pristine-linux-2.6.16/arch/x86_64/kernel/acpi/Makefile	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/acpi/Makefile tmp-linux-2.6-xen.patch/arch/x86_64/kernel/acpi/Makefile
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/acpi/Makefile	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/acpi/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -6,3 +6,4 @@ ifneq ($(CONFIG_ACPI_PROCESSOR),)
  obj-y			+= processor.o
  endif
  
 +boot-$(CONFIG_XEN)		:= ../../../i386/kernel/acpi/boot-xen.o
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/apic-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/apic-xen.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/apic-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/apic-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/apic-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/apic-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/apic-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,198 @@
 +/*
@@ -26642,8 +26626,8 @@
 +
 +	return 0;
 +}
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/asm-offsets.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/asm-offsets.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/asm-offsets.c	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/asm-offsets.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/asm-offsets.c
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/asm-offsets.c	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/asm-offsets.c	2006-04-05 22:43:19.000000000 +0200
 @@ -66,7 +66,9 @@ int main(void)
  	DEFINE(pbe_address, offsetof(struct pbe, address));
@@ -26655,8 +26639,8 @@
 +#endif
  	return 0;
  }
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/e820-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/e820-xen.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/e820-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/e820-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/e820-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/e820-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/e820-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,744 @@
 +/* 
@@ -27403,8 +27387,8 @@
 +		pci_mem_start, gapstart, gapsize);
 +#endif
 +}
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/early_printk-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/early_printk-xen.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/early_printk-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/early_printk-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/early_printk-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/early_printk-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/early_printk-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,306 @@
 +#include <linux/config.h>
@@ -27713,20 +27697,8 @@
 +} 
 +
 +__setup("earlyprintk=", setup_early_printk);
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/entry.S tmp-linux-2.6-xen.patch/arch/x86_64/kernel/entry.S
---- pristine-linux-2.6.16/arch/x86_64/kernel/entry.S	2006-03-20 06:53:29.000000000 +0100
-+++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/entry.S	2006-04-28 23:39:09.000000000 +0200
-@@ -609,7 +609,7 @@ retint_kernel:	
-  */		
- 	.macro apicinterrupt num,func
- 	INTR_FRAME
--	pushq $\num-256
-+	pushq $~(\num)
- 	CFI_ADJUST_CFA_OFFSET 8
- 	interrupt \func
- 	jmp ret_from_intr
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/entry-xen.S tmp-linux-2.6-xen.patch/arch/x86_64/kernel/entry-xen.S
---- pristine-linux-2.6.16/arch/x86_64/kernel/entry-xen.S	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/entry-xen.S tmp-linux-2.6-xen.patch/arch/x86_64/kernel/entry-xen.S
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/entry-xen.S	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/entry-xen.S	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,1149 @@
 +/*
@@ -28878,8 +28850,8 @@
 +	decl %gs:pda_irqcount
 +	ret
 +	CFI_ENDPROC
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/genapic_xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/genapic_xen.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/genapic_xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/genapic_xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/genapic_xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/genapic_xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/genapic_xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,162 @@
 +/*
@@ -29044,8 +29016,8 @@
 +	.cpu_mask_to_apicid = xen_cpu_mask_to_apicid,
 +	.phys_pkg_id = phys_pkg_id,
 +};
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/genapic-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/genapic-xen.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/genapic-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/genapic-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/genapic-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/genapic-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/genapic-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,144 @@
 +/*
@@ -29192,8 +29164,8 @@
 +	xen_send_IPI_shortcut(APIC_DEST_SELF, vector, APIC_DEST_PHYSICAL);
 +#endif
 +}
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/head64-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/head64-xen.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/head64-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/head64-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/head64-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/head64-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/head64-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,140 @@
 +/*
@@ -29336,8 +29308,8 @@
 +	setup_boot_cpu_data();
 +	start_kernel();
 +}
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/head-xen.S tmp-linux-2.6-xen.patch/arch/x86_64/kernel/head-xen.S
---- pristine-linux-2.6.16/arch/x86_64/kernel/head-xen.S	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/head-xen.S tmp-linux-2.6-xen.patch/arch/x86_64/kernel/head-xen.S
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/head-xen.S	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/head-xen.S	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,156 @@
 +/*
@@ -29496,8 +29468,8 @@
 +	.ascii	         "|supervisor_mode_kernel"
 +	.ascii	",LOADER=generic"
 +	.byte	0
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/init_task.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/init_task.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/init_task.c	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/init_task.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/init_task.c
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/init_task.c	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/init_task.c	2006-04-05 22:43:19.000000000 +0200
 @@ -37,6 +37,8 @@ union thread_union init_thread_union 
  struct task_struct init_task = INIT_TASK(init_task);
@@ -29515,8 +29487,8 @@
 +#endif
  
  #define ALIGN_TO_4K __attribute__((section(".data.init_task")))
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/io_apic-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/io_apic-xen.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/io_apic-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/io_apic-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/io_apic-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/io_apic-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/io_apic-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,2231 @@
 +/*
@@ -31750,8 +31722,8 @@
 +}
 +#endif
 +#endif /* !CONFIG_XEN */
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/ioport-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/ioport-xen.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/ioport-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/ioport-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/ioport-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/ioport-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/ioport-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,58 @@
 +/*
@@ -31812,22 +31784,8 @@
 +{
 +  return turn_on ? sys_iopl(3, NULL) : 0;
 +}
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/irq.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/irq.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/irq.c	2006-03-20 06:53:29.000000000 +0100
-+++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/irq.c	2006-04-28 23:39:09.000000000 +0200
-@@ -96,8 +96,8 @@ skip:
-  */
- asmlinkage unsigned int do_IRQ(struct pt_regs *regs)
- {	
--	/* high bits used in ret_from_ code  */
--	unsigned irq = regs->orig_rax & 0xff;
-+	/* high bit used in ret_from_ code  */
-+	unsigned irq = ~regs->orig_rax;
- 
- 	exit_idle();
- 	irq_enter();
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/irq-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/irq-xen.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/irq-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/irq-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/irq-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/irq-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/irq-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,168 @@
 +/*
@@ -31998,8 +31956,8 @@
 +        printk("unexpected IRQ trap at vector %02x\n", irq);
 +}
 +#endif
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/ldt-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/ldt-xen.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/ldt-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/ldt-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/ldt-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/ldt-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/ldt-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,282 @@
 +/*
@@ -32284,8 +32242,8 @@
 +	}
 +	return ret;
 +}
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/Makefile tmp-linux-2.6-xen.patch/arch/x86_64/kernel/Makefile
---- pristine-linux-2.6.16/arch/x86_64/kernel/Makefile	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/Makefile tmp-linux-2.6-xen.patch/arch/x86_64/kernel/Makefile
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/Makefile	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -20,11 +20,13 @@ obj-$(CONFIG_MICROCODE)		+= microcode.o
  obj-$(CONFIG_X86_CPUID)		+= cpuid.o
@@ -32320,8 +32278,8 @@
 +obj-y := $(call cherrypickxen, $(obj-y))
 +extra-y := $(call cherrypickxen, $(extra-y))
 +endif
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/mpparse-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/mpparse-xen.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/mpparse-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/mpparse-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/mpparse-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/mpparse-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/mpparse-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,1005 @@
 +/*
@@ -33329,8 +33287,8 @@
 +
 +#endif /*CONFIG_X86_IO_APIC*/
 +#endif /*CONFIG_ACPI*/
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/pci-swiotlb-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/pci-swiotlb-xen.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/pci-swiotlb-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/pci-swiotlb-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/pci-swiotlb-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/pci-swiotlb-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/pci-swiotlb-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,54 @@
 +/* Glue code to lib/swiotlb.c */
@@ -33387,8 +33345,8 @@
 +	}
 +#endif
 +}
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/process-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/process-xen.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/process-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/process-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/process-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/process-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/process-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,810 @@
 +/*
@@ -34201,8 +34159,8 @@
 +{
 +}
 +#endif
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/setup64-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/setup64-xen.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/setup64-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/setup64-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/setup64-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/setup64-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/setup64-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,360 @@
 +/* 
@@ -34565,8 +34523,8 @@
 +
 +	fpu_init(); 
 +}
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/setup-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/setup-xen.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/setup-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/setup-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/setup-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/setup-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/setup-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,1661 @@
 +/*
@@ -36230,24 +36188,8 @@
 +}
 +core_initcall(run_dmi_scan);
 +
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/smp.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/smp.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/smp.c	2006-03-20 06:53:29.000000000 +0100
-+++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/smp.c	2006-04-28 23:39:09.000000000 +0200
-@@ -135,10 +135,10 @@ asmlinkage void smp_invalidate_interrupt
- 
- 	cpu = smp_processor_id();
- 	/*
--	 * orig_rax contains the interrupt vector - 256.
-+	 * orig_rax contains the negated interrupt vector.
- 	 * Use that to determine where the sender put the data.
- 	 */
--	sender = regs->orig_rax + 256 - INVALIDATE_TLB_VECTOR_START;
-+	sender = ~regs->orig_rax - INVALIDATE_TLB_VECTOR_START;
- 	f = &per_cpu(flush_state, sender);
- 
- 	if (!cpu_isset(cpu, f->flush_cpumask))
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/smp-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/smp-xen.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/smp-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/smp-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/smp-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/smp-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/smp-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,596 @@
 +/*
@@ -36846,8 +36788,8 @@
 +	return 0; /* Should not happen */
 +#endif
 +}
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/traps-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/traps-xen.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/traps-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/traps-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/traps-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/traps-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/traps-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,1023 @@
 +/*
@@ -37873,8 +37815,8 @@
 +}
 +__setup("kstack=", kstack_setup);
 +
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/vsyscall-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/vsyscall-xen.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/vsyscall-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/vsyscall-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/vsyscall-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/vsyscall-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/vsyscall-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,239 @@
 +/*
@@ -38116,8 +38058,8 @@
 +}
 +
 +__initcall(vsyscall_init);
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/x8664_ksyms-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/x8664_ksyms-xen.c
---- pristine-linux-2.6.16/arch/x86_64/kernel/x8664_ksyms-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/x8664_ksyms-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/kernel/x8664_ksyms-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/x8664_ksyms-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/x8664_ksyms-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,163 @@
 +#include <linux/config.h>
@@ -38283,8 +38225,8 @@
 +
 +EXPORT_SYMBOL(load_gs_index);
 +
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/kernel/xen_entry.S tmp-linux-2.6-xen.patch/arch/x86_64/kernel/xen_entry.S
---- pristine-linux-2.6.16/arch/x86_64/kernel/xen_entry.S	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/kernel/xen_entry.S tmp-linux-2.6-xen.patch/arch/x86_64/kernel/xen_entry.S
+--- pristine-linux-2.6.16.12/arch/x86_64/kernel/xen_entry.S	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/kernel/xen_entry.S	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,40 @@
 +/*
@@ -38327,8 +38269,8 @@
 +VGCF_IN_SYSCALL = (1<<8)
 +        
 +	
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/Makefile tmp-linux-2.6-xen.patch/arch/x86_64/Makefile
---- pristine-linux-2.6.16/arch/x86_64/Makefile	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/Makefile tmp-linux-2.6-xen.patch/arch/x86_64/Makefile
+--- pristine-linux-2.6.16.12/arch/x86_64/Makefile	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -31,6 +31,10 @@ cflags-$(CONFIG_MK8) += $(call cc-option
  cflags-$(CONFIG_MPSC) += $(call cc-option,-march=nocona)
@@ -38371,8 +38313,8 @@
  
  archclean:
  	$(Q)$(MAKE) $(clean)=$(boot)
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/mm/fault-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/mm/fault-xen.c
---- pristine-linux-2.6.16/arch/x86_64/mm/fault-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/mm/fault-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/mm/fault-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/mm/fault-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/mm/fault-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,595 @@
 +/*
@@ -38970,8 +38912,8 @@
 +	return 0;
 +}
 +__setup("pagefaulttrace", enable_pagefaulttrace);
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/mm/init-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/mm/init-xen.c
---- pristine-linux-2.6.16/arch/x86_64/mm/init-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/mm/init-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/mm/init-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/mm/init-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/mm/init-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,1101 @@
 +/*
@@ -40075,8 +40017,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/mm/Makefile tmp-linux-2.6-xen.patch/arch/x86_64/mm/Makefile
---- pristine-linux-2.6.16/arch/x86_64/mm/Makefile	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/mm/Makefile tmp-linux-2.6-xen.patch/arch/x86_64/mm/Makefile
+--- pristine-linux-2.6.16.12/arch/x86_64/mm/Makefile	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/mm/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -9,3 +9,13 @@ obj-$(CONFIG_K8_NUMA) += k8topology.o
  obj-$(CONFIG_ACPI_NUMA) += srat.o
@@ -40092,8 +40034,8 @@
 +
 +obj-y := $(call cherrypickxen, $(obj-y))
 +endif
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/mm/pageattr-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/mm/pageattr-xen.c
---- pristine-linux-2.6.16/arch/x86_64/mm/pageattr-xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/mm/pageattr-xen.c tmp-linux-2.6-xen.patch/arch/x86_64/mm/pageattr-xen.c
+--- pristine-linux-2.6.16.12/arch/x86_64/mm/pageattr-xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/mm/pageattr-xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,401 @@
 +/* 
@@ -40497,8 +40439,8 @@
 +
 +EXPORT_SYMBOL(change_page_attr);
 +EXPORT_SYMBOL(global_flush_tlb);
-diff -Nurp pristine-linux-2.6.16/arch/x86_64/pci/Makefile tmp-linux-2.6-xen.patch/arch/x86_64/pci/Makefile
---- pristine-linux-2.6.16/arch/x86_64/pci/Makefile	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/arch/x86_64/pci/Makefile tmp-linux-2.6-xen.patch/arch/x86_64/pci/Makefile
+--- pristine-linux-2.6.16.12/arch/x86_64/pci/Makefile	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/arch/x86_64/pci/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -15,10 +15,22 @@ obj-$(CONFIG_PCI_MMCONFIG) += mmconfig.o
  
@@ -40523,8 +40465,8 @@
 +
 +obj-y := $(call cherrypickxen, $(obj-y))
 +endif
-diff -Nurp pristine-linux-2.6.16/drivers/acpi/Kconfig tmp-linux-2.6-xen.patch/drivers/acpi/Kconfig
---- pristine-linux-2.6.16/drivers/acpi/Kconfig	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/acpi/Kconfig tmp-linux-2.6-xen.patch/drivers/acpi/Kconfig
+--- pristine-linux-2.6.16.12/drivers/acpi/Kconfig	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/drivers/acpi/Kconfig	2006-04-05 22:43:19.000000000 +0200
 @@ -46,7 +46,7 @@ if ACPI
  
@@ -40543,8 +40485,8 @@
  	default y
  	help
  	  The Power Management Timer is available on all ACPI-capable,
-diff -Nurp pristine-linux-2.6.16/drivers/acpi/tables.c tmp-linux-2.6-xen.patch/drivers/acpi/tables.c
---- pristine-linux-2.6.16/drivers/acpi/tables.c	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/acpi/tables.c tmp-linux-2.6-xen.patch/drivers/acpi/tables.c
+--- pristine-linux-2.6.16.12/drivers/acpi/tables.c	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/drivers/acpi/tables.c	2006-04-05 22:43:19.000000000 +0200
 @@ -572,6 +572,11 @@ static int __init acpi_table_get_sdt(str
   * 
@@ -40567,23 +40509,8 @@
  	if (!rsdp) {
  		printk(KERN_WARNING PREFIX "Unable to map RSDP\n");
  		return -ENODEV;
-diff -Nurp pristine-linux-2.6.16/drivers/base/bus.c tmp-linux-2.6-xen.patch/drivers/base/bus.c
---- pristine-linux-2.6.16/drivers/base/bus.c	2006-03-20 06:53:29.000000000 +0100
-+++ tmp-linux-2.6-xen.patch/drivers/base/bus.c	2006-04-28 23:39:08.000000000 +0200
-@@ -188,6 +188,11 @@ static ssize_t driver_bind(struct device
- 		up(&dev->sem);
- 		if (dev->parent)
- 			up(&dev->parent->sem);
-+
-+		if (err > 0) 		/* success */
-+			err = count;
-+		else if (err == 0)	/* driver didn't accept device */
-+			err = -ENODEV;
- 	}
- 	put_device(dev);
- 	put_bus(bus);
-diff -Nurp pristine-linux-2.6.16/drivers/char/mem.c tmp-linux-2.6-xen.patch/drivers/char/mem.c
---- pristine-linux-2.6.16/drivers/char/mem.c	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/char/mem.c tmp-linux-2.6-xen.patch/drivers/char/mem.c
+--- pristine-linux-2.6.16.12/drivers/char/mem.c	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/drivers/char/mem.c	2006-04-05 22:43:19.000000000 +0200
 @@ -108,6 +108,7 @@ static inline int valid_mmap_phys_addr_r
  }
@@ -40619,8 +40546,8 @@
  
  static struct file_operations kmem_fops = {
  	.llseek		= memory_lseek,
-diff -Nurp pristine-linux-2.6.16/drivers/char/tpm/Kconfig tmp-linux-2.6-xen.patch/drivers/char/tpm/Kconfig
---- pristine-linux-2.6.16/drivers/char/tpm/Kconfig	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/char/tpm/Kconfig tmp-linux-2.6-xen.patch/drivers/char/tpm/Kconfig
+--- pristine-linux-2.6.16.12/drivers/char/tpm/Kconfig	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/drivers/char/tpm/Kconfig	2006-04-05 22:43:19.000000000 +0200
 @@ -22,7 +22,7 @@ config TCG_TPM
  
@@ -40656,16 +40583,16 @@
 +
  endmenu
  
-diff -Nurp pristine-linux-2.6.16/drivers/char/tpm/Makefile tmp-linux-2.6-xen.patch/drivers/char/tpm/Makefile
---- pristine-linux-2.6.16/drivers/char/tpm/Makefile	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/char/tpm/Makefile tmp-linux-2.6-xen.patch/drivers/char/tpm/Makefile
+--- pristine-linux-2.6.16.12/drivers/char/tpm/Makefile	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/drivers/char/tpm/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -8,3 +8,4 @@ endif
  obj-$(CONFIG_TCG_NSC) += tpm_nsc.o
  obj-$(CONFIG_TCG_ATMEL) += tpm_atmel.o
  obj-$(CONFIG_TCG_INFINEON) += tpm_infineon.o
 +obj-$(CONFIG_TCG_XEN) += tpm_xen.o
-diff -Nurp pristine-linux-2.6.16/drivers/char/tpm/tpm.c tmp-linux-2.6-xen.patch/drivers/char/tpm/tpm.c
---- pristine-linux-2.6.16/drivers/char/tpm/tpm.c	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/char/tpm/tpm.c tmp-linux-2.6-xen.patch/drivers/char/tpm/tpm.c
+--- pristine-linux-2.6.16.12/drivers/char/tpm/tpm.c	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/drivers/char/tpm/tpm.c	2006-04-05 22:43:19.000000000 +0200
 @@ -30,7 +30,8 @@
  
@@ -40778,8 +40705,8 @@
  
  	chip->dev_num = -1;
  
-diff -Nurp pristine-linux-2.6.16/drivers/char/tpm/tpm.h tmp-linux-2.6-xen.patch/drivers/char/tpm/tpm.h
---- pristine-linux-2.6.16/drivers/char/tpm/tpm.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/char/tpm/tpm.h tmp-linux-2.6-xen.patch/drivers/char/tpm/tpm.h
+--- pristine-linux-2.6.16.12/drivers/char/tpm/tpm.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/drivers/char/tpm/tpm.h	2006-04-05 22:43:19.000000000 +0200
 @@ -50,6 +50,7 @@ struct tpm_vendor_specific {
  	u8 req_complete_mask;
@@ -40809,8 +40736,8 @@
  extern int tpm_register_hardware(struct device *,
  				 struct tpm_vendor_specific *);
  extern int tpm_open(struct inode *, struct file *);
-diff -Nurp pristine-linux-2.6.16/drivers/char/tpm/tpm_xen.c tmp-linux-2.6-xen.patch/drivers/char/tpm/tpm_xen.c
---- pristine-linux-2.6.16/drivers/char/tpm/tpm_xen.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/char/tpm/tpm_xen.c tmp-linux-2.6-xen.patch/drivers/char/tpm/tpm_xen.c
+--- pristine-linux-2.6.16.12/drivers/char/tpm/tpm_xen.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/char/tpm/tpm_xen.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,536 @@
 +/*
@@ -41349,8 +41276,8 @@
 +MODULE_DESCRIPTION("TPM Driver for XEN (shared memory)");
 +MODULE_VERSION("1.0");
 +MODULE_LICENSE("GPL");
-diff -Nurp pristine-linux-2.6.16/drivers/char/tty_io.c tmp-linux-2.6-xen.patch/drivers/char/tty_io.c
---- pristine-linux-2.6.16/drivers/char/tty_io.c	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/char/tty_io.c tmp-linux-2.6-xen.patch/drivers/char/tty_io.c
+--- pristine-linux-2.6.16.12/drivers/char/tty_io.c	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/drivers/char/tty_io.c	2006-04-05 22:43:19.000000000 +0200
 @@ -132,6 +132,8 @@ LIST_HEAD(tty_drivers);			/* linked list
     vt.c for deeply disgusting hack reasons */
@@ -41370,7 +41297,29 @@
  		extern struct tty_driver *console_driver;
  		driver = console_driver;
  		index = fg_console;
-@@ -3237,6 +3239,8 @@ static int __init tty_init(void)
+@@ -2706,11 +2708,7 @@ static void __do_SAK(void *arg)
+ 		}
+ 		task_lock(p);
+ 		if (p->files) {
+-			/*
+-			 * We don't take a ref to the file, so we must
+-			 * hold ->file_lock instead.
+-			 */
+-			spin_lock(&p->files->file_lock);
++			rcu_read_lock();
+ 			fdt = files_fdtable(p->files);
+ 			for (i=0; i < fdt->max_fds; i++) {
+ 				filp = fcheck_files(p->files, i);
+@@ -2725,7 +2723,7 @@ static void __do_SAK(void *arg)
+ 					break;
+ 				}
+ 			}
+-			spin_unlock(&p->files->file_lock);
++			rcu_read_unlock();
+ 		}
+ 		task_unlock(p);
+ 	} while_each_task_pid(session, PIDTYPE_SID, p);
+@@ -3241,6 +3239,8 @@ static int __init tty_init(void)
  #endif
  
  #ifdef CONFIG_VT
@@ -41379,7 +41328,7 @@
  	cdev_init(&vc0_cdev, &console_fops);
  	if (cdev_add(&vc0_cdev, MKDEV(TTY_MAJOR, 0), 1) ||
  	    register_chrdev_region(MKDEV(TTY_MAJOR, 0), 1, "/dev/vc/0") < 0)
-@@ -3245,6 +3249,7 @@ static int __init tty_init(void)
+@@ -3249,6 +3249,7 @@ static int __init tty_init(void)
  	class_device_create(tty_class, NULL, MKDEV(TTY_MAJOR, 0), NULL, "tty0");
  
  	vty_init();
@@ -41387,8 +41336,8 @@
  #endif
  	return 0;
  }
-diff -Nurp pristine-linux-2.6.16/drivers/firmware/Kconfig tmp-linux-2.6-xen.patch/drivers/firmware/Kconfig
---- pristine-linux-2.6.16/drivers/firmware/Kconfig	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/firmware/Kconfig tmp-linux-2.6-xen.patch/drivers/firmware/Kconfig
+--- pristine-linux-2.6.16.12/drivers/firmware/Kconfig	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/drivers/firmware/Kconfig	2006-04-05 22:43:19.000000000 +0200
 @@ -8,7 +8,7 @@ menu "Firmware Drivers"
  config EDD
@@ -41399,8 +41348,8 @@
  	help
  	  Say Y or M here if you want to enable BIOS Enhanced Disk Drive
  	  Services real mode BIOS calls to determine which disk
-diff -Nurp pristine-linux-2.6.16/drivers/Makefile tmp-linux-2.6-xen.patch/drivers/Makefile
---- pristine-linux-2.6.16/drivers/Makefile	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/Makefile tmp-linux-2.6-xen.patch/drivers/Makefile
+--- pristine-linux-2.6.16.12/drivers/Makefile	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/drivers/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -34,6 +34,7 @@ obj-y				+= base/ block/ misc/ mfd/ net/
  obj-$(CONFIG_NUBUS)		+= nubus/
@@ -41410,8 +41359,8 @@
  obj-$(CONFIG_IDE)		+= ide/
  obj-$(CONFIG_FC4)		+= fc4/
  obj-$(CONFIG_SCSI)		+= scsi/
-diff -Nurp pristine-linux-2.6.16/drivers/pci/Kconfig tmp-linux-2.6-xen.patch/drivers/pci/Kconfig
---- pristine-linux-2.6.16/drivers/pci/Kconfig	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/pci/Kconfig tmp-linux-2.6-xen.patch/drivers/pci/Kconfig
+--- pristine-linux-2.6.16.12/drivers/pci/Kconfig	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/drivers/pci/Kconfig	2006-04-05 22:43:19.000000000 +0200
 @@ -5,6 +5,7 @@ config PCI_MSI
  	bool "Message Signaled Interrupts (MSI and MSI-X)"
@@ -41421,8 +41370,8 @@
  	help
  	   This allows device drivers to enable MSI (Message Signaled
  	   Interrupts).  Message Signaled Interrupts enable a device to
-diff -Nurp pristine-linux-2.6.16/drivers/serial/Kconfig tmp-linux-2.6-xen.patch/drivers/serial/Kconfig
---- pristine-linux-2.6.16/drivers/serial/Kconfig	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/serial/Kconfig tmp-linux-2.6-xen.patch/drivers/serial/Kconfig
+--- pristine-linux-2.6.16.12/drivers/serial/Kconfig	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/drivers/serial/Kconfig	2006-04-05 22:43:19.000000000 +0200
 @@ -11,6 +11,7 @@ menu "Serial drivers"
  config SERIAL_8250
@@ -41432,8 +41381,8 @@
  	select SERIAL_CORE
  	---help---
  	  This selects whether you want to include the driver for the standard
-diff -Nurp pristine-linux-2.6.16/drivers/video/Kconfig tmp-linux-2.6-xen.patch/drivers/video/Kconfig
---- pristine-linux-2.6.16/drivers/video/Kconfig	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/video/Kconfig tmp-linux-2.6-xen.patch/drivers/video/Kconfig
+--- pristine-linux-2.6.16.12/drivers/video/Kconfig	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/drivers/video/Kconfig	2006-04-05 22:43:19.000000000 +0200
 @@ -495,7 +495,7 @@ config FB_HGA_ACCEL
  
@@ -41444,8 +41393,8 @@
  	default y
  
  config FB_SGIVW
-diff -Nurp pristine-linux-2.6.16/drivers/xen/balloon/balloon.c tmp-linux-2.6-xen.patch/drivers/xen/balloon/balloon.c
---- pristine-linux-2.6.16/drivers/xen/balloon/balloon.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/balloon/balloon.c tmp-linux-2.6-xen.patch/drivers/xen/balloon/balloon.c
+--- pristine-linux-2.6.16.12/drivers/xen/balloon/balloon.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/balloon/balloon.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,592 @@
 +/******************************************************************************
@@ -42040,14 +41989,14 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/balloon/Makefile tmp-linux-2.6-xen.patch/drivers/xen/balloon/Makefile
---- pristine-linux-2.6.16/drivers/xen/balloon/Makefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/balloon/Makefile tmp-linux-2.6-xen.patch/drivers/xen/balloon/Makefile
+--- pristine-linux-2.6.16.12/drivers/xen/balloon/Makefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/balloon/Makefile	2006-01-05 19:06:51.000000000 +0100
 @@ -0,0 +1,2 @@
 +
 +obj-y += balloon.o
-diff -Nurp pristine-linux-2.6.16/drivers/xen/blkback/blkback.c tmp-linux-2.6-xen.patch/drivers/xen/blkback/blkback.c
---- pristine-linux-2.6.16/drivers/xen/blkback/blkback.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/blkback/blkback.c tmp-linux-2.6-xen.patch/drivers/xen/blkback/blkback.c
+--- pristine-linux-2.6.16.12/drivers/xen/blkback/blkback.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/blkback/blkback.c	2006-04-25 11:20:48.000000000 +0200
 @@ -0,0 +1,596 @@
 +/******************************************************************************
@@ -42646,8 +42595,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/blkback/common.h tmp-linux-2.6-xen.patch/drivers/xen/blkback/common.h
---- pristine-linux-2.6.16/drivers/xen/blkback/common.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/blkback/common.h tmp-linux-2.6-xen.patch/drivers/xen/blkback/common.h
+--- pristine-linux-2.6.16.12/drivers/xen/blkback/common.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/blkback/common.h	2006-04-25 11:20:48.000000000 +0200
 @@ -0,0 +1,148 @@
 +/* 
@@ -42798,8 +42747,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/blkback/interface.c tmp-linux-2.6-xen.patch/drivers/xen/blkback/interface.c
---- pristine-linux-2.6.16/drivers/xen/blkback/interface.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/blkback/interface.c tmp-linux-2.6-xen.patch/drivers/xen/blkback/interface.c
+--- pristine-linux-2.6.16.12/drivers/xen/blkback/interface.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/blkback/interface.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,188 @@
 +/******************************************************************************
@@ -42990,15 +42939,15 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/blkback/Makefile tmp-linux-2.6-xen.patch/drivers/xen/blkback/Makefile
---- pristine-linux-2.6.16/drivers/xen/blkback/Makefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/blkback/Makefile tmp-linux-2.6-xen.patch/drivers/xen/blkback/Makefile
+--- pristine-linux-2.6.16.12/drivers/xen/blkback/Makefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/blkback/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,3 @@
 +obj-$(CONFIG_XEN_BLKDEV_BACKEND) := blkbk.o
 +
 +blkbk-y	:= blkback.o xenbus.o interface.o vbd.o
-diff -Nurp pristine-linux-2.6.16/drivers/xen/blkback/vbd.c tmp-linux-2.6-xen.patch/drivers/xen/blkback/vbd.c
---- pristine-linux-2.6.16/drivers/xen/blkback/vbd.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/blkback/vbd.c tmp-linux-2.6-xen.patch/drivers/xen/blkback/vbd.c
+--- pristine-linux-2.6.16.12/drivers/xen/blkback/vbd.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/blkback/vbd.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,126 @@
 +/******************************************************************************
@@ -43127,8 +43076,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/blkback/xenbus.c tmp-linux-2.6-xen.patch/drivers/xen/blkback/xenbus.c
---- pristine-linux-2.6.16/drivers/xen/blkback/xenbus.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/blkback/xenbus.c tmp-linux-2.6-xen.patch/drivers/xen/blkback/xenbus.c
+--- pristine-linux-2.6.16.12/drivers/xen/blkback/xenbus.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/blkback/xenbus.c	2006-04-25 11:20:48.000000000 +0200
 @@ -0,0 +1,425 @@
 +/*  Xenbus code for blkif backend
@@ -43556,8 +43505,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/blkfront/blkfront.c tmp-linux-2.6-xen.patch/drivers/xen/blkfront/blkfront.c
---- pristine-linux-2.6.16/drivers/xen/blkfront/blkfront.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/blkfront/blkfront.c tmp-linux-2.6-xen.patch/drivers/xen/blkfront/blkfront.c
+--- pristine-linux-2.6.16.12/drivers/xen/blkfront/blkfront.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/blkfront/blkfront.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,819 @@
 +/******************************************************************************
@@ -44379,8 +44328,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/blkfront/block.h tmp-linux-2.6-xen.patch/drivers/xen/blkfront/block.h
---- pristine-linux-2.6.16/drivers/xen/blkfront/block.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/blkfront/block.h tmp-linux-2.6-xen.patch/drivers/xen/blkfront/block.h
+--- pristine-linux-2.6.16.12/drivers/xen/blkfront/block.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/blkfront/block.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,165 @@
 +/******************************************************************************
@@ -44548,8 +44497,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/blkfront/Makefile tmp-linux-2.6-xen.patch/drivers/xen/blkfront/Makefile
---- pristine-linux-2.6.16/drivers/xen/blkfront/Makefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/blkfront/Makefile tmp-linux-2.6-xen.patch/drivers/xen/blkfront/Makefile
+--- pristine-linux-2.6.16.12/drivers/xen/blkfront/Makefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/blkfront/Makefile	2006-01-05 19:06:51.000000000 +0100
 @@ -0,0 +1,5 @@
 +
@@ -44557,8 +44506,8 @@
 +
 +xenblk-objs := blkfront.o vbd.o
 +
-diff -Nurp pristine-linux-2.6.16/drivers/xen/blkfront/vbd.c tmp-linux-2.6-xen.patch/drivers/xen/blkfront/vbd.c
---- pristine-linux-2.6.16/drivers/xen/blkfront/vbd.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/blkfront/vbd.c tmp-linux-2.6-xen.patch/drivers/xen/blkfront/vbd.c
+--- pristine-linux-2.6.16.12/drivers/xen/blkfront/vbd.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/blkfront/vbd.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,327 @@
 +/******************************************************************************
@@ -44888,8 +44837,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/blktap/blktap.c tmp-linux-2.6-xen.patch/drivers/xen/blktap/blktap.c
---- pristine-linux-2.6.16/drivers/xen/blktap/blktap.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/blktap/blktap.c tmp-linux-2.6-xen.patch/drivers/xen/blktap/blktap.c
+--- pristine-linux-2.6.16.12/drivers/xen/blktap/blktap.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/blktap/blktap.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,910 @@
 +/******************************************************************************
@@ -45802,8 +45751,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/blktap/common.h tmp-linux-2.6-xen.patch/drivers/xen/blktap/common.h
---- pristine-linux-2.6.16/drivers/xen/blktap/common.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/blktap/common.h tmp-linux-2.6-xen.patch/drivers/xen/blktap/common.h
+--- pristine-linux-2.6.16.12/drivers/xen/blktap/common.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/blktap/common.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,110 @@
 +
@@ -45916,8 +45865,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/blktap/interface.c tmp-linux-2.6-xen.patch/drivers/xen/blktap/interface.c
---- pristine-linux-2.6.16/drivers/xen/blktap/interface.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/blktap/interface.c tmp-linux-2.6-xen.patch/drivers/xen/blktap/interface.c
+--- pristine-linux-2.6.16.12/drivers/xen/blktap/interface.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/blktap/interface.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,146 @@
 +/******************************************************************************
@@ -46066,15 +46015,15 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/blktap/Makefile tmp-linux-2.6-xen.patch/drivers/xen/blktap/Makefile
---- pristine-linux-2.6.16/drivers/xen/blktap/Makefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/blktap/Makefile tmp-linux-2.6-xen.patch/drivers/xen/blktap/Makefile
+--- pristine-linux-2.6.16.12/drivers/xen/blktap/Makefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/blktap/Makefile	2006-01-05 19:06:51.000000000 +0100
 @@ -0,0 +1,3 @@
 +
 +obj-y	:= xenbus.o interface.o blktap.o 
 +
-diff -Nurp pristine-linux-2.6.16/drivers/xen/blktap/xenbus.c tmp-linux-2.6-xen.patch/drivers/xen/blktap/xenbus.c
---- pristine-linux-2.6.16/drivers/xen/blktap/xenbus.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/blktap/xenbus.c tmp-linux-2.6-xen.patch/drivers/xen/blktap/xenbus.c
+--- pristine-linux-2.6.16.12/drivers/xen/blktap/xenbus.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/blktap/xenbus.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,233 @@
 +/*  Xenbus code for blkif tap
@@ -46310,14 +46259,14 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/char/Makefile tmp-linux-2.6-xen.patch/drivers/xen/char/Makefile
---- pristine-linux-2.6.16/drivers/xen/char/Makefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/char/Makefile tmp-linux-2.6-xen.patch/drivers/xen/char/Makefile
+--- pristine-linux-2.6.16.12/drivers/xen/char/Makefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/char/Makefile	2006-01-05 19:06:51.000000000 +0100
 @@ -0,0 +1,2 @@
 +
 +obj-y	:= mem.o
-diff -Nurp pristine-linux-2.6.16/drivers/xen/char/mem.c tmp-linux-2.6-xen.patch/drivers/xen/char/mem.c
---- pristine-linux-2.6.16/drivers/xen/char/mem.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/char/mem.c tmp-linux-2.6-xen.patch/drivers/xen/char/mem.c
+--- pristine-linux-2.6.16.12/drivers/xen/char/mem.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/char/mem.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,192 @@
 +/*
@@ -46512,8 +46461,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/console/console.c tmp-linux-2.6-xen.patch/drivers/xen/console/console.c
---- pristine-linux-2.6.16/drivers/xen/console/console.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/console/console.c tmp-linux-2.6-xen.patch/drivers/xen/console/console.c
+--- pristine-linux-2.6.16.12/drivers/xen/console/console.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/console/console.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,648 @@
 +/******************************************************************************
@@ -47164,14 +47113,14 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/console/Makefile tmp-linux-2.6-xen.patch/drivers/xen/console/Makefile
---- pristine-linux-2.6.16/drivers/xen/console/Makefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/console/Makefile tmp-linux-2.6-xen.patch/drivers/xen/console/Makefile
+--- pristine-linux-2.6.16.12/drivers/xen/console/Makefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/console/Makefile	2006-01-05 19:06:51.000000000 +0100
 @@ -0,0 +1,2 @@
 +
 +obj-y	:= console.o xencons_ring.o
-diff -Nurp pristine-linux-2.6.16/drivers/xen/console/xencons_ring.c tmp-linux-2.6-xen.patch/drivers/xen/console/xencons_ring.c
---- pristine-linux-2.6.16/drivers/xen/console/xencons_ring.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/console/xencons_ring.c tmp-linux-2.6-xen.patch/drivers/xen/console/xencons_ring.c
+--- pristine-linux-2.6.16.12/drivers/xen/console/xencons_ring.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/console/xencons_ring.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,151 @@
 +/* 
@@ -47325,8 +47274,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/core/evtchn.c tmp-linux-2.6-xen.patch/drivers/xen/core/evtchn.c
---- pristine-linux-2.6.16/drivers/xen/core/evtchn.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/core/evtchn.c tmp-linux-2.6-xen.patch/drivers/xen/core/evtchn.c
+--- pristine-linux-2.6.16.12/drivers/xen/core/evtchn.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/core/evtchn.c	2006-04-28 23:38:29.000000000 +0200
 @@ -0,0 +1,869 @@
 +/******************************************************************************
@@ -48198,8 +48147,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/core/features.c tmp-linux-2.6-xen.patch/drivers/xen/core/features.c
---- pristine-linux-2.6.16/drivers/xen/core/features.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/core/features.c tmp-linux-2.6-xen.patch/drivers/xen/core/features.c
+--- pristine-linux-2.6.16.12/drivers/xen/core/features.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/core/features.c	2006-04-28 23:38:29.000000000 +0200
 @@ -0,0 +1,30 @@
 +/******************************************************************************
@@ -48232,8 +48181,8 @@
 +			xen_features[i*32+j] = !!(fi.submap & 1<<j);
 +	}
 +}
-diff -Nurp pristine-linux-2.6.16/drivers/xen/core/gnttab.c tmp-linux-2.6-xen.patch/drivers/xen/core/gnttab.c
---- pristine-linux-2.6.16/drivers/xen/core/gnttab.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/core/gnttab.c tmp-linux-2.6-xen.patch/drivers/xen/core/gnttab.c
+--- pristine-linux-2.6.16.12/drivers/xen/core/gnttab.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/core/gnttab.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,464 @@
 +/******************************************************************************
@@ -48700,8 +48649,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/core/hypervisor_sysfs.c tmp-linux-2.6-xen.patch/drivers/xen/core/hypervisor_sysfs.c
---- pristine-linux-2.6.16/drivers/xen/core/hypervisor_sysfs.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/core/hypervisor_sysfs.c tmp-linux-2.6-xen.patch/drivers/xen/core/hypervisor_sysfs.c
+--- pristine-linux-2.6.16.12/drivers/xen/core/hypervisor_sysfs.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/core/hypervisor_sysfs.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,57 @@
 +/*
@@ -48761,8 +48710,8 @@
 +
 +device_initcall(hypervisor_subsys_init);
 +EXPORT_SYMBOL_GPL(hypervisor_subsys);
-diff -Nurp pristine-linux-2.6.16/drivers/xen/core/Makefile tmp-linux-2.6-xen.patch/drivers/xen/core/Makefile
---- pristine-linux-2.6.16/drivers/xen/core/Makefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/core/Makefile tmp-linux-2.6-xen.patch/drivers/xen/core/Makefile
+--- pristine-linux-2.6.16.12/drivers/xen/core/Makefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/core/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,11 @@
 +#
@@ -48776,8 +48725,8 @@
 +obj-$(CONFIG_SMP)     += smpboot.o
 +obj-$(CONFIG_SYSFS)   += hypervisor_sysfs.o
 +obj-$(CONFIG_XEN_SYSFS) += xen_sysfs.o
-diff -Nurp pristine-linux-2.6.16/drivers/xen/core/reboot.c tmp-linux-2.6-xen.patch/drivers/xen/core/reboot.c
---- pristine-linux-2.6.16/drivers/xen/core/reboot.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/core/reboot.c tmp-linux-2.6-xen.patch/drivers/xen/core/reboot.c
+--- pristine-linux-2.6.16.12/drivers/xen/core/reboot.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/core/reboot.c	2006-04-11 14:38:57.000000000 +0200
 @@ -0,0 +1,381 @@
 +#define __KERNEL_SYSCALLS__
@@ -49161,8 +49110,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/core/skbuff.c tmp-linux-2.6-xen.patch/drivers/xen/core/skbuff.c
---- pristine-linux-2.6.16/drivers/xen/core/skbuff.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/core/skbuff.c tmp-linux-2.6-xen.patch/drivers/xen/core/skbuff.c
+--- pristine-linux-2.6.16.12/drivers/xen/core/skbuff.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/core/skbuff.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,144 @@
 +
@@ -49309,8 +49258,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/core/smpboot.c tmp-linux-2.6-xen.patch/drivers/xen/core/smpboot.c
---- pristine-linux-2.6.16/drivers/xen/core/smpboot.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/core/smpboot.c tmp-linux-2.6-xen.patch/drivers/xen/core/smpboot.c
+--- pristine-linux-2.6.16.12/drivers/xen/core/smpboot.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/core/smpboot.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,581 @@
 +/*
@@ -49894,8 +49843,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/core/xen_proc.c tmp-linux-2.6-xen.patch/drivers/xen/core/xen_proc.c
---- pristine-linux-2.6.16/drivers/xen/core/xen_proc.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/core/xen_proc.c tmp-linux-2.6-xen.patch/drivers/xen/core/xen_proc.c
+--- pristine-linux-2.6.16.12/drivers/xen/core/xen_proc.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/core/xen_proc.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,29 @@
 +
@@ -49927,8 +49876,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/core/xen_sysfs.c tmp-linux-2.6-xen.patch/drivers/xen/core/xen_sysfs.c
---- pristine-linux-2.6.16/drivers/xen/core/xen_sysfs.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/core/xen_sysfs.c tmp-linux-2.6-xen.patch/drivers/xen/core/xen_sysfs.c
+--- pristine-linux-2.6.16.12/drivers/xen/core/xen_sysfs.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/core/xen_sysfs.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,311 @@
 +/*
@@ -50242,8 +50191,8 @@
 +
 +module_init(hyper_sysfs_init);
 +module_exit(hyper_sysfs_exit);
-diff -Nurp pristine-linux-2.6.16/drivers/xen/evtchn/evtchn.c tmp-linux-2.6-xen.patch/drivers/xen/evtchn/evtchn.c
---- pristine-linux-2.6.16/drivers/xen/evtchn/evtchn.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/evtchn/evtchn.c tmp-linux-2.6-xen.patch/drivers/xen/evtchn/evtchn.c
+--- pristine-linux-2.6.16.12/drivers/xen/evtchn/evtchn.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/evtchn/evtchn.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,464 @@
 +/******************************************************************************
@@ -50710,14 +50659,14 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/evtchn/Makefile tmp-linux-2.6-xen.patch/drivers/xen/evtchn/Makefile
---- pristine-linux-2.6.16/drivers/xen/evtchn/Makefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/evtchn/Makefile tmp-linux-2.6-xen.patch/drivers/xen/evtchn/Makefile
+--- pristine-linux-2.6.16.12/drivers/xen/evtchn/Makefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/evtchn/Makefile	2006-01-05 19:06:51.000000000 +0100
 @@ -0,0 +1,2 @@
 +
 +obj-y	:= evtchn.o
-diff -Nurp pristine-linux-2.6.16/drivers/xen/Kconfig tmp-linux-2.6-xen.patch/drivers/xen/Kconfig
---- pristine-linux-2.6.16/drivers/xen/Kconfig	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/Kconfig tmp-linux-2.6-xen.patch/drivers/xen/Kconfig
+--- pristine-linux-2.6.16.12/drivers/xen/Kconfig	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/Kconfig	2006-04-11 21:49:57.000000000 +0200
 @@ -0,0 +1,223 @@
 +#
@@ -50943,8 +50892,8 @@
 +	default y
 +
 +endif
-diff -Nurp pristine-linux-2.6.16/drivers/xen/Makefile tmp-linux-2.6-xen.patch/drivers/xen/Makefile
---- pristine-linux-2.6.16/drivers/xen/Makefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/Makefile tmp-linux-2.6-xen.patch/drivers/xen/Makefile
+--- pristine-linux-2.6.16.12/drivers/xen/Makefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,22 @@
 +
@@ -50969,8 +50918,8 @@
 +obj-$(CONFIG_XEN_PCIDEV_BACKEND)	+= pciback/
 +obj-$(CONFIG_XEN_PCIDEV_FRONTEND)	+= pcifront/
 +
-diff -Nurp pristine-linux-2.6.16/drivers/xen/netback/common.h tmp-linux-2.6-xen.patch/drivers/xen/netback/common.h
---- pristine-linux-2.6.16/drivers/xen/netback/common.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/netback/common.h tmp-linux-2.6-xen.patch/drivers/xen/netback/common.h
+--- pristine-linux-2.6.16.12/drivers/xen/netback/common.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/netback/common.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,133 @@
 +/******************************************************************************
@@ -51106,8 +51055,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/netback/interface.c tmp-linux-2.6-xen.patch/drivers/xen/netback/interface.c
---- pristine-linux-2.6.16/drivers/xen/netback/interface.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/netback/interface.c tmp-linux-2.6-xen.patch/drivers/xen/netback/interface.c
+--- pristine-linux-2.6.16.12/drivers/xen/netback/interface.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/netback/interface.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,334 @@
 +/******************************************************************************
@@ -51444,8 +51393,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/netback/loopback.c tmp-linux-2.6-xen.patch/drivers/xen/netback/loopback.c
---- pristine-linux-2.6.16/drivers/xen/netback/loopback.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/netback/loopback.c tmp-linux-2.6-xen.patch/drivers/xen/netback/loopback.c
+--- pristine-linux-2.6.16.12/drivers/xen/netback/loopback.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/netback/loopback.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,254 @@
 +/******************************************************************************
@@ -51702,8 +51651,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/netback/Makefile tmp-linux-2.6-xen.patch/drivers/xen/netback/Makefile
---- pristine-linux-2.6.16/drivers/xen/netback/Makefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/netback/Makefile tmp-linux-2.6-xen.patch/drivers/xen/netback/Makefile
+--- pristine-linux-2.6.16.12/drivers/xen/netback/Makefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/netback/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,5 @@
 +obj-$(CONFIG_XEN_NETDEV_BACKEND) := netbk.o
@@ -51711,8 +51660,8 @@
 +
 +netbk-y   := netback.o xenbus.o interface.o
 +netloop-y := loopback.o
-diff -Nurp pristine-linux-2.6.16/drivers/xen/netback/netback.c tmp-linux-2.6-xen.patch/drivers/xen/netback/netback.c
---- pristine-linux-2.6.16/drivers/xen/netback/netback.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/netback/netback.c tmp-linux-2.6-xen.patch/drivers/xen/netback/netback.c
+--- pristine-linux-2.6.16.12/drivers/xen/netback/netback.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/netback/netback.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,868 @@
 +/******************************************************************************
@@ -52583,8 +52532,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/netback/xenbus.c tmp-linux-2.6-xen.patch/drivers/xen/netback/xenbus.c
---- pristine-linux-2.6.16/drivers/xen/netback/xenbus.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/netback/xenbus.c tmp-linux-2.6-xen.patch/drivers/xen/netback/xenbus.c
+--- pristine-linux-2.6.16.12/drivers/xen/netback/xenbus.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/netback/xenbus.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,366 @@
 +/*  Xenbus code for netif backend
@@ -52953,8 +52902,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/net_driver_util.c tmp-linux-2.6-xen.patch/drivers/xen/net_driver_util.c
---- pristine-linux-2.6.16/drivers/xen/net_driver_util.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/net_driver_util.c tmp-linux-2.6-xen.patch/drivers/xen/net_driver_util.c
+--- pristine-linux-2.6.16.12/drivers/xen/net_driver_util.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/net_driver_util.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,68 @@
 +/*****************************************************************************
@@ -53025,16 +52974,16 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/netfront/Makefile tmp-linux-2.6-xen.patch/drivers/xen/netfront/Makefile
---- pristine-linux-2.6.16/drivers/xen/netfront/Makefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/netfront/Makefile tmp-linux-2.6-xen.patch/drivers/xen/netfront/Makefile
+--- pristine-linux-2.6.16.12/drivers/xen/netfront/Makefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/netfront/Makefile	2006-01-05 19:06:51.000000000 +0100
 @@ -0,0 +1,4 @@
 +
 +obj-$(CONFIG_XEN_NETDEV_FRONTEND)	:= xennet.o
 +
 +xennet-objs := netfront.o
-diff -Nurp pristine-linux-2.6.16/drivers/xen/netfront/netfront.c tmp-linux-2.6-xen.patch/drivers/xen/netfront/netfront.c
---- pristine-linux-2.6.16/drivers/xen/netfront/netfront.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/netfront/netfront.c tmp-linux-2.6-xen.patch/drivers/xen/netfront/netfront.c
+--- pristine-linux-2.6.16.12/drivers/xen/netfront/netfront.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/netfront/netfront.c	2006-04-11 21:49:57.000000000 +0200
 @@ -0,0 +1,1519 @@
 +/******************************************************************************
@@ -54556,8 +54505,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/pciback/conf_space.c tmp-linux-2.6-xen.patch/drivers/xen/pciback/conf_space.c
---- pristine-linux-2.6.16/drivers/xen/pciback/conf_space.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/pciback/conf_space.c tmp-linux-2.6-xen.patch/drivers/xen/pciback/conf_space.c
+--- pristine-linux-2.6.16.12/drivers/xen/pciback/conf_space.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/pciback/conf_space.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,345 @@
 +/*
@@ -54905,8 +54854,8 @@
 +
 +	return err;
 +}
-diff -Nurp pristine-linux-2.6.16/drivers/xen/pciback/conf_space.h tmp-linux-2.6-xen.patch/drivers/xen/pciback/conf_space.h
---- pristine-linux-2.6.16/drivers/xen/pciback/conf_space.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/pciback/conf_space.h tmp-linux-2.6-xen.patch/drivers/xen/pciback/conf_space.h
+--- pristine-linux-2.6.16.12/drivers/xen/pciback/conf_space.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/pciback/conf_space.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,97 @@
 +/*
@@ -55006,8 +54955,8 @@
 +			       void *data);
 +
 +#endif				/* __XEN_PCIBACK_CONF_SPACE_H__ */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/pciback/conf_space_header.c tmp-linux-2.6-xen.patch/drivers/xen/pciback/conf_space_header.c
---- pristine-linux-2.6.16/drivers/xen/pciback/conf_space_header.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/pciback/conf_space_header.c tmp-linux-2.6-xen.patch/drivers/xen/pciback/conf_space_header.c
+--- pristine-linux-2.6.16.12/drivers/xen/pciback/conf_space_header.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/pciback/conf_space_header.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,267 @@
 +/*
@@ -55277,8 +55226,8 @@
 +      out:
 +	return err;
 +}
-diff -Nurp pristine-linux-2.6.16/drivers/xen/pciback/Makefile tmp-linux-2.6-xen.patch/drivers/xen/pciback/Makefile
---- pristine-linux-2.6.16/drivers/xen/pciback/Makefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/pciback/Makefile tmp-linux-2.6-xen.patch/drivers/xen/pciback/Makefile
+--- pristine-linux-2.6.16.12/drivers/xen/pciback/Makefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/pciback/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,10 @@
 +obj-$(CONFIG_XEN_PCIDEV_BACKEND) += pciback.o
@@ -55291,8 +55240,8 @@
 +ifeq ($(CONFIG_XEN_PCIDEV_BE_DEBUG),y)
 +EXTRA_CFLAGS += -DDEBUG
 +endif
-diff -Nurp pristine-linux-2.6.16/drivers/xen/pciback/passthrough.c tmp-linux-2.6-xen.patch/drivers/xen/pciback/passthrough.c
---- pristine-linux-2.6.16/drivers/xen/pciback/passthrough.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/pciback/passthrough.c tmp-linux-2.6-xen.patch/drivers/xen/pciback/passthrough.c
+--- pristine-linux-2.6.16.12/drivers/xen/pciback/passthrough.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/pciback/passthrough.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,157 @@
 +/*
@@ -55452,8 +55401,8 @@
 +	kfree(dev_data);
 +	pdev->pci_dev_data = NULL;
 +}
-diff -Nurp pristine-linux-2.6.16/drivers/xen/pciback/pciback.h tmp-linux-2.6-xen.patch/drivers/xen/pciback/pciback.h
---- pristine-linux-2.6.16/drivers/xen/pciback/pciback.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/pciback/pciback.h tmp-linux-2.6-xen.patch/drivers/xen/pciback/pciback.h
+--- pristine-linux-2.6.16.12/drivers/xen/pciback/pciback.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/pciback/pciback.h	2006-04-28 23:38:29.000000000 +0200
 @@ -0,0 +1,79 @@
 +/*
@@ -55535,8 +55484,8 @@
 +
 +extern int verbose_request;
 +#endif
-diff -Nurp pristine-linux-2.6.16/drivers/xen/pciback/pciback_ops.c tmp-linux-2.6-xen.patch/drivers/xen/pciback/pciback_ops.c
---- pristine-linux-2.6.16/drivers/xen/pciback/pciback_ops.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/pciback/pciback_ops.c tmp-linux-2.6-xen.patch/drivers/xen/pciback/pciback_ops.c
+--- pristine-linux-2.6.16.12/drivers/xen/pciback/pciback_ops.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/pciback/pciback_ops.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,74 @@
 +/*
@@ -55613,8 +55562,8 @@
 +      out:
 +	return IRQ_HANDLED;
 +}
-diff -Nurp pristine-linux-2.6.16/drivers/xen/pciback/pci_stub.c tmp-linux-2.6-xen.patch/drivers/xen/pciback/pci_stub.c
---- pristine-linux-2.6.16/drivers/xen/pciback/pci_stub.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/pciback/pci_stub.c tmp-linux-2.6-xen.patch/drivers/xen/pciback/pci_stub.c
+--- pristine-linux-2.6.16.12/drivers/xen/pciback/pci_stub.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/pciback/pci_stub.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,695 @@
 +/*
@@ -56312,8 +56261,8 @@
 +module_exit(pciback_cleanup);
 +
 +MODULE_LICENSE("Dual BSD/GPL");
-diff -Nurp pristine-linux-2.6.16/drivers/xen/pciback/vpci.c tmp-linux-2.6-xen.patch/drivers/xen/pciback/vpci.c
---- pristine-linux-2.6.16/drivers/xen/pciback/vpci.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/pciback/vpci.c tmp-linux-2.6-xen.patch/drivers/xen/pciback/vpci.c
+--- pristine-linux-2.6.16.12/drivers/xen/pciback/vpci.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/pciback/vpci.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,204 @@
 +/*
@@ -56520,8 +56469,8 @@
 +	kfree(vpci_dev);
 +	pdev->pci_dev_data = NULL;
 +}
-diff -Nurp pristine-linux-2.6.16/drivers/xen/pciback/xenbus.c tmp-linux-2.6-xen.patch/drivers/xen/pciback/xenbus.c
---- pristine-linux-2.6.16/drivers/xen/pciback/xenbus.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/pciback/xenbus.c tmp-linux-2.6-xen.patch/drivers/xen/pciback/xenbus.c
+--- pristine-linux-2.6.16.12/drivers/xen/pciback/xenbus.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/pciback/xenbus.c	2006-04-28 23:38:29.000000000 +0200
 @@ -0,0 +1,446 @@
 +/*
@@ -56970,8 +56919,8 @@
 +{
 +	xenbus_unregister_driver(&xenbus_pciback_driver);
 +}
-diff -Nurp pristine-linux-2.6.16/drivers/xen/pcifront/Makefile tmp-linux-2.6-xen.patch/drivers/xen/pcifront/Makefile
---- pristine-linux-2.6.16/drivers/xen/pcifront/Makefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/pcifront/Makefile tmp-linux-2.6-xen.patch/drivers/xen/pcifront/Makefile
+--- pristine-linux-2.6.16.12/drivers/xen/pcifront/Makefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/pcifront/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,7 @@
 +obj-y += pcifront.o
@@ -56981,8 +56930,8 @@
 +ifeq ($(CONFIG_XEN_PCIDEV_FE_DEBUG),y)
 +EXTRA_CFLAGS += -DDEBUG
 +endif
-diff -Nurp pristine-linux-2.6.16/drivers/xen/pcifront/pci.c tmp-linux-2.6-xen.patch/drivers/xen/pcifront/pci.c
---- pristine-linux-2.6.16/drivers/xen/pcifront/pci.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/pcifront/pci.c tmp-linux-2.6-xen.patch/drivers/xen/pcifront/pci.c
+--- pristine-linux-2.6.16.12/drivers/xen/pcifront/pci.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/pcifront/pci.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,46 @@
 +/*
@@ -57031,8 +56980,8 @@
 +
 +	spin_unlock(&pcifront_dev_lock);
 +}
-diff -Nurp pristine-linux-2.6.16/drivers/xen/pcifront/pcifront.h tmp-linux-2.6-xen.patch/drivers/xen/pcifront/pcifront.h
---- pristine-linux-2.6.16/drivers/xen/pcifront/pcifront.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/pcifront/pcifront.h tmp-linux-2.6-xen.patch/drivers/xen/pcifront/pcifront.h
+--- pristine-linux-2.6.16.12/drivers/xen/pcifront/pcifront.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/pcifront/pcifront.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,40 @@
 +/*
@@ -57075,8 +57024,8 @@
 +void pcifront_free_roots(struct pcifront_device *pdev);
 +
 +#endif	/* __XEN_PCIFRONT_H__ */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/pcifront/pci_op.c tmp-linux-2.6-xen.patch/drivers/xen/pcifront/pci_op.c
---- pristine-linux-2.6.16/drivers/xen/pcifront/pci_op.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/pcifront/pci_op.c tmp-linux-2.6-xen.patch/drivers/xen/pcifront/pci_op.c
+--- pristine-linux-2.6.16.12/drivers/xen/pcifront/pci_op.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/pcifront/pci_op.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,272 @@
 +/*
@@ -57351,8 +57300,8 @@
 +		kfree(bus_entry);
 +	}
 +}
-diff -Nurp pristine-linux-2.6.16/drivers/xen/pcifront/xenbus.c tmp-linux-2.6-xen.patch/drivers/xen/pcifront/xenbus.c
---- pristine-linux-2.6.16/drivers/xen/pcifront/xenbus.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/pcifront/xenbus.c tmp-linux-2.6-xen.patch/drivers/xen/pcifront/xenbus.c
+--- pristine-linux-2.6.16.12/drivers/xen/pcifront/xenbus.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/pcifront/xenbus.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,294 @@
 +/*
@@ -57649,14 +57598,14 @@
 +
 +/* Initialize after the Xen PCI Frontend Stub is initialized */
 +subsys_initcall(pcifront_init);
-diff -Nurp pristine-linux-2.6.16/drivers/xen/privcmd/Makefile tmp-linux-2.6-xen.patch/drivers/xen/privcmd/Makefile
---- pristine-linux-2.6.16/drivers/xen/privcmd/Makefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/privcmd/Makefile tmp-linux-2.6-xen.patch/drivers/xen/privcmd/Makefile
+--- pristine-linux-2.6.16.12/drivers/xen/privcmd/Makefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/privcmd/Makefile	2006-01-05 19:06:51.000000000 +0100
 @@ -0,0 +1,2 @@
 +
 +obj-y	:= privcmd.o
-diff -Nurp pristine-linux-2.6.16/drivers/xen/privcmd/privcmd.c tmp-linux-2.6-xen.patch/drivers/xen/privcmd/privcmd.c
---- pristine-linux-2.6.16/drivers/xen/privcmd/privcmd.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/privcmd/privcmd.c tmp-linux-2.6-xen.patch/drivers/xen/privcmd/privcmd.c
+--- pristine-linux-2.6.16.12/drivers/xen/privcmd/privcmd.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/privcmd/privcmd.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,302 @@
 +/******************************************************************************
@@ -57961,8 +57910,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/tpmback/common.h tmp-linux-2.6-xen.patch/drivers/xen/tpmback/common.h
---- pristine-linux-2.6.16/drivers/xen/tpmback/common.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/tpmback/common.h tmp-linux-2.6-xen.patch/drivers/xen/tpmback/common.h
+--- pristine-linux-2.6.16.12/drivers/xen/tpmback/common.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/tpmback/common.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,91 @@
 +/******************************************************************************
@@ -58056,8 +58005,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/tpmback/interface.c tmp-linux-2.6-xen.patch/drivers/xen/tpmback/interface.c
---- pristine-linux-2.6.16/drivers/xen/tpmback/interface.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/tpmback/interface.c tmp-linux-2.6-xen.patch/drivers/xen/tpmback/interface.c
+--- pristine-linux-2.6.16.12/drivers/xen/tpmback/interface.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/tpmback/interface.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,194 @@
 + /*****************************************************************************
@@ -58254,16 +58203,16 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/tpmback/Makefile tmp-linux-2.6-xen.patch/drivers/xen/tpmback/Makefile
---- pristine-linux-2.6.16/drivers/xen/tpmback/Makefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/tpmback/Makefile tmp-linux-2.6-xen.patch/drivers/xen/tpmback/Makefile
+--- pristine-linux-2.6.16.12/drivers/xen/tpmback/Makefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/tpmback/Makefile	2006-01-05 19:06:51.000000000 +0100
 @@ -0,0 +1,4 @@
 +
 +obj-$(CONFIG_XEN_TPMDEV_BACKEND)	+= tpmbk.o
 +
 +tpmbk-y += tpmback.o interface.o xenbus.o
-diff -Nurp pristine-linux-2.6.16/drivers/xen/tpmback/tpmback.c tmp-linux-2.6-xen.patch/drivers/xen/tpmback/tpmback.c
---- pristine-linux-2.6.16/drivers/xen/tpmback/tpmback.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/tpmback/tpmback.c tmp-linux-2.6-xen.patch/drivers/xen/tpmback/tpmback.c
+--- pristine-linux-2.6.16.12/drivers/xen/tpmback/tpmback.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/tpmback/tpmback.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,1060 @@
 +/******************************************************************************
@@ -59326,8 +59275,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/tpmback/xenbus.c tmp-linux-2.6-xen.patch/drivers/xen/tpmback/xenbus.c
---- pristine-linux-2.6.16/drivers/xen/tpmback/xenbus.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/tpmback/xenbus.c tmp-linux-2.6-xen.patch/drivers/xen/tpmback/xenbus.c
+--- pristine-linux-2.6.16.12/drivers/xen/tpmback/xenbus.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/tpmback/xenbus.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,328 @@
 +/*  Xenbus code for tpmif backend
@@ -59658,14 +59607,14 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/tpmfront/Makefile tmp-linux-2.6-xen.patch/drivers/xen/tpmfront/Makefile
---- pristine-linux-2.6.16/drivers/xen/tpmfront/Makefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/tpmfront/Makefile tmp-linux-2.6-xen.patch/drivers/xen/tpmfront/Makefile
+--- pristine-linux-2.6.16.12/drivers/xen/tpmfront/Makefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/tpmfront/Makefile	2006-01-05 19:06:51.000000000 +0100
 @@ -0,0 +1,2 @@
 +
 +obj-$(CONFIG_XEN_TPMDEV_FRONTEND)	+= tpmfront.o
-diff -Nurp pristine-linux-2.6.16/drivers/xen/tpmfront/tpmfront.c tmp-linux-2.6-xen.patch/drivers/xen/tpmfront/tpmfront.c
---- pristine-linux-2.6.16/drivers/xen/tpmfront/tpmfront.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/tpmfront/tpmfront.c tmp-linux-2.6-xen.patch/drivers/xen/tpmfront/tpmfront.c
+--- pristine-linux-2.6.16.12/drivers/xen/tpmfront/tpmfront.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/tpmfront/tpmfront.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,731 @@
 +/*
@@ -60399,8 +60348,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/tpmfront/tpmfront.h tmp-linux-2.6-xen.patch/drivers/xen/tpmfront/tpmfront.h
---- pristine-linux-2.6.16/drivers/xen/tpmfront/tpmfront.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/tpmfront/tpmfront.h tmp-linux-2.6-xen.patch/drivers/xen/tpmfront/tpmfront.h
+--- pristine-linux-2.6.16.12/drivers/xen/tpmfront/tpmfront.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/tpmfront/tpmfront.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,40 @@
 +#ifndef TPM_FRONT_H
@@ -60443,8 +60392,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/util.c tmp-linux-2.6-xen.patch/drivers/xen/util.c
---- pristine-linux-2.6.16/drivers/xen/util.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/util.c tmp-linux-2.6-xen.patch/drivers/xen/util.c
+--- pristine-linux-2.6.16.12/drivers/xen/util.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/util.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,80 @@
 +#include <linux/config.h>
@@ -60527,8 +60476,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/xenbus/Makefile tmp-linux-2.6-xen.patch/drivers/xen/xenbus/Makefile
---- pristine-linux-2.6.16/drivers/xen/xenbus/Makefile	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/xenbus/Makefile tmp-linux-2.6-xen.patch/drivers/xen/xenbus/Makefile
+--- pristine-linux-2.6.16.12/drivers/xen/xenbus/Makefile	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/xenbus/Makefile	2006-04-11 21:49:57.000000000 +0200
 @@ -0,0 +1,12 @@
 +obj-y	+= xenbus.o
@@ -60543,8 +60492,8 @@
 +xenbus-objs += xenbus_xs.o
 +xenbus-objs += xenbus_probe.o
 +xenbus-objs += xenbus_dev.o
-diff -Nurp pristine-linux-2.6.16/drivers/xen/xenbus/xenbus_backend_client.c tmp-linux-2.6-xen.patch/drivers/xen/xenbus/xenbus_backend_client.c
---- pristine-linux-2.6.16/drivers/xen/xenbus/xenbus_backend_client.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/xenbus/xenbus_backend_client.c tmp-linux-2.6-xen.patch/drivers/xen/xenbus/xenbus_backend_client.c
+--- pristine-linux-2.6.16.12/drivers/xen/xenbus/xenbus_backend_client.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/xenbus/xenbus_backend_client.c	2006-04-28 23:38:29.000000000 +0200
 @@ -0,0 +1,151 @@
 +/******************************************************************************
@@ -60698,8 +60647,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/xenbus/xenbus_client.c tmp-linux-2.6-xen.patch/drivers/xen/xenbus/xenbus_client.c
---- pristine-linux-2.6.16/drivers/xen/xenbus/xenbus_client.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/xenbus/xenbus_client.c tmp-linux-2.6-xen.patch/drivers/xen/xenbus/xenbus_client.c
+--- pristine-linux-2.6.16.12/drivers/xen/xenbus/xenbus_client.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/xenbus/xenbus_client.c	2006-04-11 21:49:57.000000000 +0200
 @@ -0,0 +1,284 @@
 +/******************************************************************************
@@ -60986,8 +60935,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/xenbus/xenbus_comms.c tmp-linux-2.6-xen.patch/drivers/xen/xenbus/xenbus_comms.c
---- pristine-linux-2.6.16/drivers/xen/xenbus/xenbus_comms.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/xenbus/xenbus_comms.c tmp-linux-2.6-xen.patch/drivers/xen/xenbus/xenbus_comms.c
+--- pristine-linux-2.6.16.12/drivers/xen/xenbus/xenbus_comms.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/xenbus/xenbus_comms.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,218 @@
 +/******************************************************************************
@@ -61208,8 +61157,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/xenbus/xenbus_comms.h tmp-linux-2.6-xen.patch/drivers/xen/xenbus/xenbus_comms.h
---- pristine-linux-2.6.16/drivers/xen/xenbus/xenbus_comms.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/xenbus/xenbus_comms.h tmp-linux-2.6-xen.patch/drivers/xen/xenbus/xenbus_comms.h
+--- pristine-linux-2.6.16.12/drivers/xen/xenbus/xenbus_comms.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/xenbus/xenbus_comms.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,53 @@
 +/*
@@ -61265,8 +61214,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/xenbus/xenbus_dev.c tmp-linux-2.6-xen.patch/drivers/xen/xenbus/xenbus_dev.c
---- pristine-linux-2.6.16/drivers/xen/xenbus/xenbus_dev.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/xenbus/xenbus_dev.c tmp-linux-2.6-xen.patch/drivers/xen/xenbus/xenbus_dev.c
+--- pristine-linux-2.6.16.12/drivers/xen/xenbus/xenbus_dev.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/xenbus/xenbus_dev.c	2006-04-18 16:21:25.000000000 +0200
 @@ -0,0 +1,255 @@
 +/*
@@ -61524,8 +61473,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/xenbus/xenbus_probe.c tmp-linux-2.6-xen.patch/drivers/xen/xenbus/xenbus_probe.c
---- pristine-linux-2.6.16/drivers/xen/xenbus/xenbus_probe.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/xenbus/xenbus_probe.c tmp-linux-2.6-xen.patch/drivers/xen/xenbus/xenbus_probe.c
+--- pristine-linux-2.6.16.12/drivers/xen/xenbus/xenbus_probe.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/xenbus/xenbus_probe.c	2006-04-18 16:21:25.000000000 +0200
 @@ -0,0 +1,1093 @@
 +/******************************************************************************
@@ -62621,8 +62570,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/drivers/xen/xenbus/xenbus_xs.c tmp-linux-2.6-xen.patch/drivers/xen/xenbus/xenbus_xs.c
---- pristine-linux-2.6.16/drivers/xen/xenbus/xenbus_xs.c	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/drivers/xen/xenbus/xenbus_xs.c tmp-linux-2.6-xen.patch/drivers/xen/xenbus/xenbus_xs.c
+--- pristine-linux-2.6.16.12/drivers/xen/xenbus/xenbus_xs.c	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/drivers/xen/xenbus/xenbus_xs.c	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,856 @@
 +/******************************************************************************
@@ -63481,8 +63430,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/fs/Kconfig tmp-linux-2.6-xen.patch/fs/Kconfig
---- pristine-linux-2.6.16/fs/Kconfig	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/fs/Kconfig tmp-linux-2.6-xen.patch/fs/Kconfig
+--- pristine-linux-2.6.16.12/fs/Kconfig	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/fs/Kconfig	2006-04-05 22:43:19.000000000 +0200
 @@ -841,6 +841,7 @@ config TMPFS
  config HUGETLBFS
@@ -63492,8 +63441,8 @@
  
  config HUGETLB_PAGE
  	def_bool HUGETLBFS
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/a.out.h tmp-linux-2.6-xen.patch/include/asm-i386/a.out.h
---- pristine-linux-2.6.16/include/asm-i386/a.out.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/a.out.h tmp-linux-2.6-xen.patch/include/asm-i386/a.out.h
+--- pristine-linux-2.6.16.12/include/asm-i386/a.out.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/a.out.h	2006-04-05 22:43:19.000000000 +0200
 @@ -19,7 +19,7 @@ struct exec
  
@@ -63504,8 +63453,8 @@
  
  #endif
  
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/apic.h tmp-linux-2.6-xen.patch/include/asm-i386/apic.h
---- pristine-linux-2.6.16/include/asm-i386/apic.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/apic.h tmp-linux-2.6-xen.patch/include/asm-i386/apic.h
+--- pristine-linux-2.6.16.12/include/asm-i386/apic.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/apic.h	2006-04-05 22:43:19.000000000 +0200
 @@ -132,10 +132,12 @@ extern unsigned int nmi_watchdog;
  
@@ -63520,8 +63469,8 @@
  
  extern int timer_over_8254;
  
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/atomic.h tmp-linux-2.6-xen.patch/include/asm-i386/atomic.h
---- pristine-linux-2.6.16/include/asm-i386/atomic.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/atomic.h tmp-linux-2.6-xen.patch/include/asm-i386/atomic.h
+--- pristine-linux-2.6.16.12/include/asm-i386/atomic.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/atomic.h	2006-04-05 22:43:19.000000000 +0200
 @@ -4,18 +4,13 @@
  #include <linux/config.h>
@@ -63543,8 +63492,8 @@
  /*
   * Make sure gcc doesn't try to be clever and move things around
   * on us. We need to use _exactly_ the address the user gave us,
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/bitops.h tmp-linux-2.6-xen.patch/include/asm-i386/bitops.h
---- pristine-linux-2.6.16/include/asm-i386/bitops.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/bitops.h tmp-linux-2.6-xen.patch/include/asm-i386/bitops.h
+--- pristine-linux-2.6.16.12/include/asm-i386/bitops.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/bitops.h	2006-04-05 22:43:19.000000000 +0200
 @@ -7,6 +7,7 @@
  
@@ -63621,8 +63570,8 @@
  		"btcl %2,%1\n\tsbbl %0,%0"
  		:"=r" (oldbit),"+m" (ADDR)
  		:"Ir" (nr) : "memory");
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/elf.h tmp-linux-2.6-xen.patch/include/asm-i386/elf.h
---- pristine-linux-2.6.16/include/asm-i386/elf.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/elf.h tmp-linux-2.6-xen.patch/include/asm-i386/elf.h
+--- pristine-linux-2.6.16.12/include/asm-i386/elf.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/elf.h	2006-04-05 22:43:19.000000000 +0200
 @@ -129,11 +129,16 @@ extern int dump_task_extended_fpu (struc
  #define ELF_CORE_COPY_FPREGS(tsk, elf_fpregs) dump_task_fpu(tsk, elf_fpregs)
@@ -63642,8 +63591,8 @@
  #define ARCH_DLINFO						\
  do {								\
  		NEW_AUX_ENT(AT_SYSINFO,	VSYSCALL_ENTRY);	\
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/fixmap.h tmp-linux-2.6-xen.patch/include/asm-i386/fixmap.h
---- pristine-linux-2.6.16/include/asm-i386/fixmap.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/fixmap.h tmp-linux-2.6-xen.patch/include/asm-i386/fixmap.h
+--- pristine-linux-2.6.16.12/include/asm-i386/fixmap.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/fixmap.h	2006-04-05 22:43:19.000000000 +0200
 @@ -20,7 +20,7 @@
   * Leave one empty page between vmalloc'ed areas and
@@ -63686,8 +63635,8 @@
  extern void __this_fixmap_does_not_exist(void);
  
  /*
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/futex.h tmp-linux-2.6-xen.patch/include/asm-i386/futex.h
---- pristine-linux-2.6.16/include/asm-i386/futex.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/futex.h tmp-linux-2.6-xen.patch/include/asm-i386/futex.h
+--- pristine-linux-2.6.16.12/include/asm-i386/futex.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/futex.h	2006-04-05 22:43:19.000000000 +0200
 @@ -28,7 +28,7 @@
  "1:	movl	%2, %0\n\
@@ -63707,8 +63656,8 @@
  					   oldval, uaddr, oparg);
  			break;
  		case FUTEX_OP_OR:
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-default/mach_traps.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-default/mach_traps.h
---- pristine-linux-2.6.16/include/asm-i386/mach-default/mach_traps.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-default/mach_traps.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-default/mach_traps.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-default/mach_traps.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-default/mach_traps.h	2006-04-05 22:43:19.000000000 +0200
 @@ -15,6 +15,18 @@ static inline void clear_mem_error(unsig
  	outb(reason, 0x61);
@@ -63729,8 +63678,8 @@
  static inline unsigned char get_nmi_reason(void)
  {
  	return inb(0x61);
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/agp.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/agp.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/agp.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/agp.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/agp.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/agp.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/agp.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,37 @@
 +#ifndef AGP_H
@@ -63770,8 +63719,8 @@
 +	dma_free_coherent(NULL,PAGE_SIZE<<(order),(table),virt_to_bus(table))
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/desc.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/desc.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/desc.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/desc.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/desc.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/desc.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/desc.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,164 @@
 +#ifndef __ARCH_DESC_H
@@ -63938,8 +63887,8 @@
 +#endif /* !__ASSEMBLY__ */
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/dma-mapping.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/dma-mapping.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/dma-mapping.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/dma-mapping.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/dma-mapping.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/dma-mapping.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/dma-mapping.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,156 @@
 +#ifndef _ASM_I386_DMA_MAPPING_H
@@ -64098,8 +64047,8 @@
 +				  dma_addr_t device_addr, size_t size);
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/fixmap.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/fixmap.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/fixmap.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/fixmap.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/fixmap.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/fixmap.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/fixmap.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,156 @@
 +/*
@@ -64258,8 +64207,8 @@
 +
 +#endif /* !__ASSEMBLY__ */
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/floppy.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/floppy.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/floppy.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/floppy.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/floppy.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/floppy.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/floppy.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,147 @@
 +/*
@@ -64409,8 +64358,8 @@
 +#define EXTRA_FLOPPY_PARAMS
 +
 +#endif /* __ASM_XEN_I386_FLOPPY_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/highmem.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/highmem.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/highmem.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/highmem.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/highmem.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/highmem.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/highmem.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,81 @@
 +/*
@@ -64494,8 +64443,8 @@
 +#endif /* __KERNEL__ */
 +
 +#endif /* _ASM_HIGHMEM_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/hw_irq.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/hw_irq.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/hw_irq.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/hw_irq.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/hw_irq.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/hw_irq.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/hw_irq.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,73 @@
 +#ifndef _ASM_HW_IRQ_H
@@ -64571,8 +64520,8 @@
 +extern void hw_resend_irq(struct hw_interrupt_type *h, unsigned int i);
 +
 +#endif /* _ASM_HW_IRQ_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/hypercall.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/hypercall.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/hypercall.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/hypercall.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/hypercall.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/hypercall.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/hypercall.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,342 @@
 +/******************************************************************************
@@ -64917,8 +64866,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/hypervisor.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/hypervisor.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/hypervisor.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/hypervisor.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/hypervisor.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/hypervisor.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/hypervisor.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,224 @@
 +/******************************************************************************
@@ -65145,8 +65094,8 @@
 +}
 +
 +#endif /* __HYPERVISOR_H__ */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/io.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/io.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/io.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/io.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/io.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/io.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/io.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,401 @@
 +#ifndef _ASM_IO_H
@@ -65550,8 +65499,8 @@
 +#define ARCH_HAS_DEV_MEM
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/kmap_types.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/kmap_types.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/kmap_types.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/kmap_types.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/kmap_types.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/kmap_types.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/kmap_types.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,32 @@
 +#ifndef _ASM_KMAP_TYPES_H
@@ -65586,8 +65535,8 @@
 +#undef D
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/mmu_context.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/mmu_context.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/mmu_context.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/mmu_context.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/mmu_context.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/mmu_context.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/mmu_context.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,105 @@
 +#ifndef __I386_SCHED_H
@@ -65695,8 +65644,8 @@
 +	switch_mm((prev),(next),NULL)
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/mmu.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/mmu.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/mmu.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/mmu.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/mmu.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/mmu.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/mmu.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,21 @@
 +#ifndef __i386_MMU_H
@@ -65720,8 +65669,8 @@
 +#define arch_exit_mmap(_mm) _arch_exit_mmap(_mm)
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/page.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/page.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/page.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/page.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/page.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/page.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/page.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,327 @@
 +#ifndef _I386_PAGE_H
@@ -66051,8 +66000,8 @@
 +#include <asm-generic/page.h>
 +
 +#endif /* _I386_PAGE_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/param.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/param.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/param.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/param.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/param.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/param.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/param.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,24 @@
 +#ifndef _ASMi386_PARAM_H
@@ -66079,8 +66028,8 @@
 +#define COMMAND_LINE_SIZE 256
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/pci.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/pci.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/pci.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/pci.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/pci.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/pci.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/pci.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,154 @@
 +#ifndef __i386_PCI_H
@@ -66237,8 +66186,8 @@
 +#define pcibios_scan_all_fns(a, b)	1
 +
 +#endif /* __i386_PCI_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/pgalloc.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/pgalloc.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/pgalloc.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/pgalloc.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/pgalloc.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/pgalloc.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/pgalloc.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,64 @@
 +#ifndef _I386_PGALLOC_H
@@ -66305,8 +66254,8 @@
 +#define check_pgt_cache()	do { } while (0)
 +
 +#endif /* _I386_PGALLOC_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/pgtable-2level-defs.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/pgtable-2level-defs.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/pgtable-2level-defs.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/pgtable-2level-defs.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/pgtable-2level-defs.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/pgtable-2level-defs.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/pgtable-2level-defs.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,21 @@
 +#ifndef _I386_PGTABLE_2LEVEL_DEFS_H
@@ -66330,8 +66279,8 @@
 +#define PTRS_PER_PTE	1024
 +
 +#endif /* _I386_PGTABLE_2LEVEL_DEFS_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/pgtable-2level.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/pgtable-2level.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/pgtable-2level.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/pgtable-2level.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/pgtable-2level.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/pgtable-2level.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/pgtable-2level.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,83 @@
 +#ifndef _I386_PGTABLE_2LEVEL_H
@@ -66417,8 +66366,8 @@
 +#define __swp_entry_to_pte(x)		((pte_t) { (x).val })
 +
 +#endif /* _I386_PGTABLE_2LEVEL_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/pgtable-3level-defs.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/pgtable-3level-defs.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/pgtable-3level-defs.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/pgtable-3level-defs.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/pgtable-3level-defs.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/pgtable-3level-defs.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/pgtable-3level-defs.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,25 @@
 +#ifndef _I386_PGTABLE_3LEVEL_DEFS_H
@@ -66446,8 +66395,8 @@
 +#define PTRS_PER_PTE	512
 +
 +#endif /* _I386_PGTABLE_3LEVEL_DEFS_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/pgtable-3level.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/pgtable-3level.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/pgtable-3level.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/pgtable-3level.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/pgtable-3level.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/pgtable-3level.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/pgtable-3level.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,181 @@
 +#ifndef _I386_PGTABLE_3LEVEL_H
@@ -66631,8 +66580,8 @@
 +#define __pmd_free_tlb(tlb, x)		do { } while (0)
 +
 +#endif /* _I386_PGTABLE_3LEVEL_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/pgtable.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/pgtable.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/pgtable.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/pgtable.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/pgtable.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/pgtable.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/pgtable.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,521 @@
 +#ifndef _I386_PGTABLE_H
@@ -67156,8 +67105,8 @@
 +#include <asm-generic/pgtable.h>
 +
 +#endif /* _I386_PGTABLE_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/processor.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/processor.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/processor.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/processor.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/processor.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/processor.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/processor.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,753 @@
 +/*
@@ -67913,8 +67862,8 @@
 +#endif
 +
 +#endif /* __ASM_I386_PROCESSOR_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/ptrace.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/ptrace.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/ptrace.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/ptrace.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/ptrace.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/ptrace.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/ptrace.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,90 @@
 +#ifndef _I386_PTRACE_H
@@ -68007,8 +67956,8 @@
 +#endif /* __KERNEL__ */
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/scatterlist.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/scatterlist.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/scatterlist.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/scatterlist.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/scatterlist.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/scatterlist.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/scatterlist.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,22 @@
 +#ifndef _I386_SCATTERLIST_H
@@ -68033,8 +67982,8 @@
 +#define ISA_DMA_THRESHOLD (0x00ffffff)
 +
 +#endif /* !(_I386_SCATTERLIST_H) */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/segment.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/segment.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/segment.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/segment.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/segment.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/segment.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/segment.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,117 @@
 +#ifndef _ASM_SEGMENT_H
@@ -68154,8 +68103,8 @@
 +#define IDT_ENTRIES 256
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/setup.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/setup.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/setup.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/setup.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/setup.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/setup.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/setup.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,66 @@
 +/*
@@ -68224,8 +68173,8 @@
 +#endif /* __ASSEMBLY__ */
 +
 +#endif /* _i386_SETUP_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/smp.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/smp.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/smp.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/smp.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/smp.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/smp.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/smp.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,103 @@
 +#ifndef __ASM_SMP_H
@@ -68331,8 +68280,8 @@
 +
 +#endif
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/spinlock.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/spinlock.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/spinlock.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/spinlock.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/spinlock.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/spinlock.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/spinlock.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,217 @@
 +#ifndef __ASM_SPINLOCK_H
@@ -68552,8 +68501,8 @@
 +}
 +
 +#endif /* __ASM_SPINLOCK_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/swiotlb.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/swiotlb.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/swiotlb.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/swiotlb.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/swiotlb.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/swiotlb.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/swiotlb.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,43 @@
 +#ifndef _ASM_SWIOTLB_H
@@ -68599,8 +68548,8 @@
 +#endif
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/synch_bitops.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/synch_bitops.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/synch_bitops.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/synch_bitops.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/synch_bitops.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/synch_bitops.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/synch_bitops.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,141 @@
 +#ifndef __XEN_SYNCH_BITOPS_H__
@@ -68744,8 +68693,8 @@
 + synch_var_test_bit((nr),(addr)))
 +
 +#endif /* __XEN_SYNCH_BITOPS_H__ */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/system.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/system.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/system.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/system.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/system.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/system.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/system.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,679 @@
 +#ifndef __ASM_SYSTEM_H
@@ -69427,8 +69376,8 @@
 +extern unsigned long arch_align_stack(unsigned long sp);
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/tlbflush.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/tlbflush.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/tlbflush.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/tlbflush.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/tlbflush.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/tlbflush.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/tlbflush.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,102 @@
 +#ifndef _I386_TLBFLUSH_H
@@ -69533,8 +69482,8 @@
 +}
 +
 +#endif /* _I386_TLBFLUSH_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/vga.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/vga.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/asm/vga.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/vga.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/vga.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/asm/vga.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/asm/vga.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,20 @@
 +/*
@@ -69557,8 +69506,8 @@
 +#define vga_writeb(x,y) (*(y) = (x))
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/irq_vectors.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/irq_vectors.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/irq_vectors.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/irq_vectors.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/irq_vectors.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/irq_vectors.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/irq_vectors.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,125 @@
 +/*
@@ -69686,8 +69635,8 @@
 +#define irq_to_dynirq(_x)	((_x) - DYNIRQ_BASE)
 +
 +#endif /* _ASM_IRQ_VECTORS_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/mach_traps.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/mach_traps.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/mach_traps.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/mach_traps.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/mach_traps.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/mach_traps.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/mach_traps.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,33 @@
 +/*
@@ -69723,8 +69672,8 @@
 +static inline void reassert_nmi(void) {}
 +
 +#endif /* !_MACH_TRAPS_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/setup_arch_post.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/setup_arch_post.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/setup_arch_post.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/setup_arch_post.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/setup_arch_post.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/setup_arch_post.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/setup_arch_post.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,45 @@
 +/**
@@ -69772,8 +69721,8 @@
 +				   &pp) == 0)
 +		set_fixaddr_top(pp.virt_start - PAGE_SIZE);
 +}
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/mach-xen/setup_arch_pre.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/setup_arch_pre.h
---- pristine-linux-2.6.16/include/asm-i386/mach-xen/setup_arch_pre.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/mach-xen/setup_arch_pre.h tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/setup_arch_pre.h
+--- pristine-linux-2.6.16.12/include/asm-i386/mach-xen/setup_arch_pre.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/mach-xen/setup_arch_pre.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,5 @@
 +/* Hook to call BIOS initialisation function */
@@ -69781,8 +69730,8 @@
 +#define ARCH_SETUP machine_specific_arch_setup();
 +
 +static void __init machine_specific_arch_setup(void);
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/page.h tmp-linux-2.6-xen.patch/include/asm-i386/page.h
---- pristine-linux-2.6.16/include/asm-i386/page.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/page.h tmp-linux-2.6-xen.patch/include/asm-i386/page.h
+--- pristine-linux-2.6.16.12/include/asm-i386/page.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/page.h	2006-04-05 22:43:19.000000000 +0200
 @@ -121,7 +121,7 @@ extern int page_is_ram(unsigned long pag
  
@@ -69802,32 +69751,8 @@
  #endif /* __KERNEL__ */
  
  #include <asm-generic/page.h>
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/pgtable-2level-defs.h tmp-linux-2.6-xen.patch/include/asm-i386/pgtable-2level-defs.h
---- pristine-linux-2.6.16/include/asm-i386/pgtable-2level-defs.h	2006-03-20 06:53:29.000000000 +0100
-+++ tmp-linux-2.6-xen.patch/include/asm-i386/pgtable-2level-defs.h	2006-04-28 23:39:09.000000000 +0200
-@@ -1,6 +1,8 @@
- #ifndef _I386_PGTABLE_2LEVEL_DEFS_H
- #define _I386_PGTABLE_2LEVEL_DEFS_H
- 
-+#define HAVE_SHARED_KERNEL_PMD 0
-+
- /*
-  * traditional i386 two-level paging structure:
-  */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/pgtable-3level-defs.h tmp-linux-2.6-xen.patch/include/asm-i386/pgtable-3level-defs.h
---- pristine-linux-2.6.16/include/asm-i386/pgtable-3level-defs.h	2006-03-20 06:53:29.000000000 +0100
-+++ tmp-linux-2.6-xen.patch/include/asm-i386/pgtable-3level-defs.h	2006-04-28 23:39:09.000000000 +0200
-@@ -1,6 +1,8 @@
- #ifndef _I386_PGTABLE_3LEVEL_DEFS_H
- #define _I386_PGTABLE_3LEVEL_DEFS_H
- 
-+#define HAVE_SHARED_KERNEL_PMD 1
-+
- /*
-  * PGDIR_SHIFT determines what a top-level page table entry can map
-  */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/rwsem.h tmp-linux-2.6-xen.patch/include/asm-i386/rwsem.h
---- pristine-linux-2.6.16/include/asm-i386/rwsem.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/rwsem.h tmp-linux-2.6-xen.patch/include/asm-i386/rwsem.h
+--- pristine-linux-2.6.16.12/include/asm-i386/rwsem.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/rwsem.h	2006-04-05 22:43:19.000000000 +0200
 @@ -40,6 +40,7 @@
  
@@ -69909,8 +69834,8 @@
  		: "+r"(tmp), "=m"(sem->count)
  		: "r"(sem), "m"(sem->count)
  		: "memory");
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/smp_alt.h tmp-linux-2.6-xen.patch/include/asm-i386/smp_alt.h
---- pristine-linux-2.6.16/include/asm-i386/smp_alt.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/smp_alt.h tmp-linux-2.6-xen.patch/include/asm-i386/smp_alt.h
+--- pristine-linux-2.6.16.12/include/asm-i386/smp_alt.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/smp_alt.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,32 @@
 +#ifndef __ASM_SMP_ALT_H__
@@ -69945,8 +69870,8 @@
 +#endif
 +
 +#endif /* __ASM_SMP_ALT_H__ */
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/spinlock.h tmp-linux-2.6-xen.patch/include/asm-i386/spinlock.h
---- pristine-linux-2.6.16/include/asm-i386/spinlock.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/spinlock.h tmp-linux-2.6-xen.patch/include/asm-i386/spinlock.h
+--- pristine-linux-2.6.16.12/include/asm-i386/spinlock.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/spinlock.h	2006-04-05 22:43:19.000000000 +0200
 @@ -6,6 +6,7 @@
  #include <asm/page.h>
@@ -70030,8 +69955,8 @@
  				 : "=m" (rw->lock) : : "memory");
  }
  
-diff -Nurp pristine-linux-2.6.16/include/asm-i386/system.h tmp-linux-2.6-xen.patch/include/asm-i386/system.h
---- pristine-linux-2.6.16/include/asm-i386/system.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-i386/system.h tmp-linux-2.6-xen.patch/include/asm-i386/system.h
+--- pristine-linux-2.6.16.12/include/asm-i386/system.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/asm-i386/system.h	2006-04-05 22:43:19.000000000 +0200
 @@ -5,7 +5,7 @@
  #include <linux/kernel.h>
@@ -70131,14 +70056,14 @@
  #else
  #define smp_mb()	barrier()
  #define smp_rmb()	barrier()
-diff -Nurp pristine-linux-2.6.16/include/asm-ia64/fixmap.h tmp-linux-2.6-xen.patch/include/asm-ia64/fixmap.h
---- pristine-linux-2.6.16/include/asm-ia64/fixmap.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-ia64/fixmap.h tmp-linux-2.6-xen.patch/include/asm-ia64/fixmap.h
+--- pristine-linux-2.6.16.12/include/asm-ia64/fixmap.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-ia64/fixmap.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,2 @@
 +#define clear_fixmap(x)	do {} while (0)
 +#define	set_fixmap(x,y)	do {} while (0)
-diff -Nurp pristine-linux-2.6.16/include/asm-ia64/gcc_intrin.h tmp-linux-2.6-xen.patch/include/asm-ia64/gcc_intrin.h
---- pristine-linux-2.6.16/include/asm-ia64/gcc_intrin.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-ia64/gcc_intrin.h tmp-linux-2.6-xen.patch/include/asm-ia64/gcc_intrin.h
+--- pristine-linux-2.6.16.12/include/asm-ia64/gcc_intrin.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/asm-ia64/gcc_intrin.h	2006-01-05 19:06:51.000000000 +0100
 @@ -26,7 +26,7 @@ extern void ia64_bad_param_for_getreg (v
  
@@ -70329,8 +70254,8 @@
 +#define __ia64_get_psr_i()	(__ia64_getreg(_IA64_REG_PSR) & 0x4000UL)
 +
  #endif /* _ASM_IA64_GCC_INTRIN_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-ia64/hypercall.h tmp-linux-2.6-xen.patch/include/asm-ia64/hypercall.h
---- pristine-linux-2.6.16/include/asm-ia64/hypercall.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-ia64/hypercall.h tmp-linux-2.6-xen.patch/include/asm-ia64/hypercall.h
+--- pristine-linux-2.6.16.12/include/asm-ia64/hypercall.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-ia64/hypercall.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,274 @@
 +/******************************************************************************
@@ -70607,8 +70532,8 @@
 +#define do_IRQ(irq, regs) __do_IRQ((irq), (regs))
 +
 +#endif /* __HYPERCALL_H__ */
-diff -Nurp pristine-linux-2.6.16/include/asm-ia64/hypervisor.h tmp-linux-2.6-xen.patch/include/asm-ia64/hypervisor.h
---- pristine-linux-2.6.16/include/asm-ia64/hypervisor.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-ia64/hypervisor.h tmp-linux-2.6-xen.patch/include/asm-ia64/hypervisor.h
+--- pristine-linux-2.6.16.12/include/asm-ia64/hypervisor.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-ia64/hypervisor.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,138 @@
 +/******************************************************************************
@@ -70749,8 +70674,8 @@
 +#define pfn_pte_ma(_x,_y)	__pte_ma(0)
 +
 +#endif /* __HYPERVISOR_H__ */
-diff -Nurp pristine-linux-2.6.16/include/asm-ia64/intel_intrin.h tmp-linux-2.6-xen.patch/include/asm-ia64/intel_intrin.h
---- pristine-linux-2.6.16/include/asm-ia64/intel_intrin.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-ia64/intel_intrin.h tmp-linux-2.6-xen.patch/include/asm-ia64/intel_intrin.h
+--- pristine-linux-2.6.16.12/include/asm-ia64/intel_intrin.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/asm-ia64/intel_intrin.h	2006-01-05 19:06:51.000000000 +0100
 @@ -119,10 +119,10 @@ __s64 _m64_popcnt(__s64 a);
  		 	 * intrinsic
@@ -70874,8 +70799,8 @@
 +#define __ia64_get_psr_i()	(__ia64_getreg(_IA64_REG_PSR) & 0x4000UL)
 +
  #endif /* _ASM_IA64_INTEL_INTRIN_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-ia64/meminit.h tmp-linux-2.6-xen.patch/include/asm-ia64/meminit.h
---- pristine-linux-2.6.16/include/asm-ia64/meminit.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-ia64/meminit.h tmp-linux-2.6-xen.patch/include/asm-ia64/meminit.h
+--- pristine-linux-2.6.16.12/include/asm-ia64/meminit.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/asm-ia64/meminit.h	2006-04-05 22:43:19.000000000 +0200
 @@ -17,10 +17,15 @@
   * 	- command line string
@@ -70893,8 +70818,8 @@
  
  struct rsvd_region {
  	unsigned long start;	/* virtual address of beginning of element */
-diff -Nurp pristine-linux-2.6.16/include/asm-ia64/pal.h tmp-linux-2.6-xen.patch/include/asm-ia64/pal.h
---- pristine-linux-2.6.16/include/asm-ia64/pal.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-ia64/pal.h tmp-linux-2.6-xen.patch/include/asm-ia64/pal.h
+--- pristine-linux-2.6.16.12/include/asm-ia64/pal.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/asm-ia64/pal.h	2006-04-05 22:43:19.000000000 +0200
 @@ -81,6 +81,7 @@
  #ifndef __ASSEMBLY__
@@ -70904,8 +70829,8 @@
  #include <asm/fpu.h>
  
  /*
-diff -Nurp pristine-linux-2.6.16/include/asm-ia64/privop.h tmp-linux-2.6-xen.patch/include/asm-ia64/privop.h
---- pristine-linux-2.6.16/include/asm-ia64/privop.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-ia64/privop.h tmp-linux-2.6-xen.patch/include/asm-ia64/privop.h
+--- pristine-linux-2.6.16.12/include/asm-ia64/privop.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-ia64/privop.h	2006-01-05 19:06:51.000000000 +0100
 @@ -0,0 +1,59 @@
 +#ifndef _ASM_IA64_PRIVOP_H
@@ -70967,8 +70892,8 @@
 +#endif /* !__ASSEMBLY */
 +
 +#endif /* _ASM_IA64_PRIVOP_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-ia64/processor.h tmp-linux-2.6-xen.patch/include/asm-ia64/processor.h
---- pristine-linux-2.6.16/include/asm-ia64/processor.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-ia64/processor.h tmp-linux-2.6-xen.patch/include/asm-ia64/processor.h
+--- pristine-linux-2.6.16.12/include/asm-ia64/processor.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/asm-ia64/processor.h	2006-04-05 22:43:19.000000000 +0200
 @@ -19,6 +19,7 @@
  #include <asm/kregs.h>
@@ -70978,8 +70903,8 @@
  
  #define IA64_NUM_DBG_REGS	8
  /*
-diff -Nurp pristine-linux-2.6.16/include/asm-ia64/synch_bitops.h tmp-linux-2.6-xen.patch/include/asm-ia64/synch_bitops.h
---- pristine-linux-2.6.16/include/asm-ia64/synch_bitops.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-ia64/synch_bitops.h tmp-linux-2.6-xen.patch/include/asm-ia64/synch_bitops.h
+--- pristine-linux-2.6.16.12/include/asm-ia64/synch_bitops.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-ia64/synch_bitops.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,61 @@
 +#ifndef __XEN_SYNCH_BITOPS_H__
@@ -71043,8 +70968,8 @@
 + synch_var_test_bit((nr),(addr)))
 +
 +#endif /* __XEN_SYNCH_BITOPS_H__ */
-diff -Nurp pristine-linux-2.6.16/include/asm-ia64/system.h tmp-linux-2.6-xen.patch/include/asm-ia64/system.h
---- pristine-linux-2.6.16/include/asm-ia64/system.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-ia64/system.h tmp-linux-2.6-xen.patch/include/asm-ia64/system.h
+--- pristine-linux-2.6.16.12/include/asm-ia64/system.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/asm-ia64/system.h	2006-04-05 22:43:19.000000000 +0200
 @@ -125,7 +125,7 @@ extern struct ia64_boot_param {
  #define __local_irq_save(x)			\
@@ -71064,8 +70989,8 @@
  
  #define irqs_disabled()				\
  ({						\
-diff -Nurp pristine-linux-2.6.16/include/asm-ia64/xen/privop.h tmp-linux-2.6-xen.patch/include/asm-ia64/xen/privop.h
---- pristine-linux-2.6.16/include/asm-ia64/xen/privop.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-ia64/xen/privop.h tmp-linux-2.6-xen.patch/include/asm-ia64/xen/privop.h
+--- pristine-linux-2.6.16.12/include/asm-ia64/xen/privop.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-ia64/xen/privop.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,277 @@
 +#ifndef _ASM_IA64_XEN_PRIVOP_H
@@ -71345,8 +71270,8 @@
 +#define	ia64_pal_call_static		xen_pal_call_static
 +
 +#endif /* _ASM_IA64_XEN_PRIVOP_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-um/page.h tmp-linux-2.6-xen.patch/include/asm-um/page.h
---- pristine-linux-2.6.16/include/asm-um/page.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-um/page.h tmp-linux-2.6-xen.patch/include/asm-um/page.h
+--- pristine-linux-2.6.16.12/include/asm-um/page.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/asm-um/page.h	2006-04-05 22:43:19.000000000 +0200
 @@ -118,7 +118,7 @@ extern unsigned long uml_physmem;
  extern struct page *arch_validate(struct page *page, gfp_t mask, int order);
@@ -71357,8 +71282,8 @@
  #define HAVE_ARCH_FREE_PAGE
  
  #include <asm-generic/page.h>
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/apic.h tmp-linux-2.6-xen.patch/include/asm-x86_64/apic.h
---- pristine-linux-2.6.16/include/asm-x86_64/apic.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/apic.h tmp-linux-2.6-xen.patch/include/asm-x86_64/apic.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/apic.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/apic.h	2006-04-05 22:43:19.000000000 +0200
 @@ -105,11 +105,13 @@ extern int disable_timer_pin_1;
  
@@ -71374,20 +71299,8 @@
  
  #endif /* CONFIG_X86_LOCAL_APIC */
  
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/hw_irq.h tmp-linux-2.6-xen.patch/include/asm-x86_64/hw_irq.h
---- pristine-linux-2.6.16/include/asm-x86_64/hw_irq.h	2006-03-20 06:53:29.000000000 +0100
-+++ tmp-linux-2.6-xen.patch/include/asm-x86_64/hw_irq.h	2006-04-28 23:39:09.000000000 +0200
-@@ -127,7 +127,7 @@ asmlinkage void IRQ_NAME(nr); \
- __asm__( \
- "\n.p2align\n" \
- "IRQ" #nr "_interrupt:\n\t" \
--	"push $" #nr "-256 ; " \
-+	"push $~(" #nr ") ; " \
- 	"jmp common_interrupt");
- 
- #if defined(CONFIG_X86_IO_APIC)
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/arch_hooks.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/arch_hooks.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/arch_hooks.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/arch_hooks.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/arch_hooks.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/arch_hooks.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/arch_hooks.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,27 @@
 +#ifndef _ASM_ARCH_HOOKS_H
@@ -71417,8 +71330,8 @@
 +extern void mca_nmi_hook(void);
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/bootsetup.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/bootsetup.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/bootsetup.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/bootsetup.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/bootsetup.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/bootsetup.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/bootsetup.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,42 @@
 +
@@ -71463,8 +71376,8 @@
 +#define RAMDISK_LOAD_FLAG		0x4000	
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/desc.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/desc.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/desc.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/desc.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/desc.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/desc.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/desc.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,263 @@
 +/* Written 2000 by Andi Kleen */ 
@@ -71730,8 +71643,8 @@
 +#endif /* !__ASSEMBLY__ */
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/dma-mapping.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/dma-mapping.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/dma-mapping.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/dma-mapping.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/dma-mapping.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/dma-mapping.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/dma-mapping.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,191 @@
 +#ifndef _X8664_DMA_MAPPING_H
@@ -71925,8 +71838,8 @@
 +#endif /* _X8664_DMA_MAPPING_H */
 +
 +#include <asm-i386/mach-xen/asm/dma-mapping.h>
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/fixmap.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/fixmap.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/fixmap.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/fixmap.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/fixmap.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/fixmap.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/fixmap.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,109 @@
 +/*
@@ -72038,8 +71951,8 @@
 +}
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/floppy.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/floppy.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/floppy.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/floppy.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/floppy.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/floppy.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/floppy.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,206 @@
 +/*
@@ -72248,8 +72161,8 @@
 +#define EXTRA_FLOPPY_PARAMS
 +
 +#endif /* __ASM_XEN_X86_64_FLOPPY_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/hw_irq.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/hw_irq.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/hw_irq.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/hw_irq.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/hw_irq.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/hw_irq.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/hw_irq.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,141 @@
 +#ifndef _ASM_HW_IRQ_H
@@ -72393,8 +72306,8 @@
 +#endif
 +
 +#endif /* _ASM_HW_IRQ_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/hypercall.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/hypercall.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/hypercall.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/hypercall.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/hypercall.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/hypercall.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/hypercall.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,343 @@
 +/******************************************************************************
@@ -72740,14 +72653,14 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/hypervisor.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/hypervisor.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/hypervisor.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/hypervisor.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/hypervisor.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/hypervisor.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/hypervisor.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,2 @@
 +
 +#include <asm-i386/mach-xen/asm/hypervisor.h>
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/io.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/io.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/io.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/io.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/io.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/io.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/io.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,359 @@
 +#ifndef _ASM_IO_H
@@ -73109,8 +73022,8 @@
 +#define ARCH_HAS_DEV_MEM
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/irq.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/irq.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/irq.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/irq.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/irq.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/irq.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/irq.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,39 @@
 +#ifndef _ASM_IRQ_H
@@ -73152,8 +73065,8 @@
 +#define __ARCH_HAS_DO_SOFTIRQ 1
 +
 +#endif /* _ASM_IRQ_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/mmu_context.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/mmu_context.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/mmu_context.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/mmu_context.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/mmu_context.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/mmu_context.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/mmu_context.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,134 @@
 +#ifndef __X86_64_MMU_CONTEXT_H
@@ -73290,8 +73203,8 @@
 +} while (0)
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/mmu.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/mmu.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/mmu.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/mmu.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/mmu.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/mmu.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/mmu.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,33 @@
 +#ifndef __x86_64_MMU_H
@@ -73327,8 +73240,8 @@
 +#endif
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/msr.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/msr.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/msr.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/msr.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/msr.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/msr.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/msr.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,399 @@
 +#ifndef X86_64_MSR_H
@@ -73730,8 +73643,8 @@
 +#define MSR_P4_U2L_ESCR1 		0x3b1
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/nmi.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/nmi.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/nmi.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/nmi.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/nmi.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/nmi.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/nmi.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,75 @@
 +/*
@@ -73809,8 +73722,8 @@
 +extern int check_nmi_watchdog(void);
 + 
 +#endif /* ASM_NMI_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/page.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/page.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/page.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/page.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/page.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/page.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/page.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,318 @@
 +#ifndef _X86_64_PAGE_H
@@ -74131,8 +74044,8 @@
 +#include <asm-generic/page.h>
 +
 +#endif /* _X86_64_PAGE_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/pci.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/pci.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/pci.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/pci.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/pci.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/pci.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/pci.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,174 @@
 +#ifndef __x8664_PCI_H
@@ -74309,8 +74222,8 @@
 +#define pcibios_scan_all_fns(a, b)	1
 +
 +#endif /* __x8664_PCI_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/pgalloc.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/pgalloc.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/pgalloc.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/pgalloc.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/pgalloc.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/pgalloc.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/pgalloc.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,198 @@
 +#ifndef _X86_64_PGALLOC_H
@@ -74511,8 +74424,8 @@
 +#define __pud_free_tlb(tlb,x)   pud_free((x))
 +
 +#endif /* _X86_64_PGALLOC_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/pgtable.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/pgtable.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/pgtable.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/pgtable.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/pgtable.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/pgtable.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/pgtable.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,560 @@
 +#ifndef _X86_64_PGTABLE_H
@@ -75075,8 +74988,8 @@
 +#include <asm-generic/pgtable.h>
 +
 +#endif /* _X86_64_PGTABLE_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/processor.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/processor.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/processor.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/processor.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/processor.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/processor.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/processor.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,493 @@
 +/*
@@ -75572,8 +75485,8 @@
 +#define HAVE_ARCH_PICK_MMAP_LAYOUT 1
 +
 +#endif /* __ASM_X86_64_PROCESSOR_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/ptrace.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/ptrace.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/ptrace.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/ptrace.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/ptrace.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/ptrace.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/ptrace.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,125 @@
 +#ifndef _X86_64_PTRACE_H
@@ -75701,8 +75614,8 @@
 +#endif
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/smp.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/smp.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/smp.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/smp.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/smp.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/smp.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/smp.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,152 @@
 +#ifndef __ASM_SMP_H
@@ -75857,14 +75770,14 @@
 +
 +#endif
 +
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/synch_bitops.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/synch_bitops.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/synch_bitops.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/synch_bitops.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/synch_bitops.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/synch_bitops.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/synch_bitops.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,2 @@
 +
 +#include <asm-i386/mach-xen/asm/synch_bitops.h>
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/system.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/system.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/system.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/system.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/system.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/system.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/system.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,434 @@
 +#ifndef __ASM_SYSTEM_H
@@ -76301,8 +76214,8 @@
 +extern unsigned long arch_align_stack(unsigned long sp);
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/timer.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/timer.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/timer.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/timer.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/timer.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/timer.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/timer.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,67 @@
 +#ifndef _ASMi386_TIMER_H
@@ -76372,8 +76285,8 @@
 +extern struct init_timer_opts timer_pmtmr_init;
 +#endif
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/tlbflush.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/tlbflush.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/tlbflush.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/tlbflush.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/tlbflush.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/tlbflush.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/tlbflush.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,104 @@
 +#ifndef _X8664_TLBFLUSH_H
@@ -76480,8 +76393,8 @@
 +}
 +
 +#endif /* _X8664_TLBFLUSH_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/vga.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/vga.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/vga.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/vga.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/vga.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/vga.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/vga.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,20 @@
 +/*
@@ -76504,8 +76417,8 @@
 +#define vga_writeb(x,y) (*(y) = (x))
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/xor.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/xor.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/asm/xor.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/xor.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/xor.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/asm/xor.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/asm/xor.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,328 @@
 +/*
@@ -76836,8 +76749,8 @@
 +   We may also be able to load into the L1 only depending on how the cpu
 +   deals with a load to a line that is being prefetched.  */
 +#define XOR_SELECT_TEMPLATE(FASTEST) (&xor_block_sse)
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/irq_vectors.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/irq_vectors.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/irq_vectors.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/irq_vectors.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/irq_vectors.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/irq_vectors.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/irq_vectors.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,123 @@
 +/*
@@ -76963,8 +76876,8 @@
 +#define irq_to_dynirq(_x)	((_x) - DYNIRQ_BASE)
 +
 +#endif /* _ASM_IRQ_VECTORS_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/mach_time.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/mach_time.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/mach_time.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/mach_time.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/mach_time.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/mach_time.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/mach_time.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,122 @@
 +/*
@@ -77089,8 +77002,8 @@
 +}
 +
 +#endif /* !_MACH_TIME_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/mach_timer.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/mach_timer.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/mach_timer.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/mach_timer.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/mach_timer.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/mach_timer.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/mach_timer.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,48 @@
 +/*
@@ -77141,8 +77054,8 @@
 +}
 +
 +#endif /* !_MACH_TIMER_H */
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/setup_arch_post.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/setup_arch_post.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/setup_arch_post.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/setup_arch_post.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/setup_arch_post.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/setup_arch_post.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/setup_arch_post.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,28 @@
 +/**
@@ -77173,8 +77086,8 @@
 +	HYPERVISOR_nmi_op(XENNMI_register_callback, &cb);
 +#endif
 +}
-diff -Nurp pristine-linux-2.6.16/include/asm-x86_64/mach-xen/setup_arch_pre.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/setup_arch_pre.h
---- pristine-linux-2.6.16/include/asm-x86_64/mach-xen/setup_arch_pre.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/setup_arch_pre.h tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/setup_arch_pre.h
+--- pristine-linux-2.6.16.12/include/asm-x86_64/mach-xen/setup_arch_pre.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/asm-x86_64/mach-xen/setup_arch_pre.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,5 @@
 +/* Hook to call BIOS initialisation function */
@@ -77182,8 +77095,8 @@
 +#define ARCH_SETUP machine_specific_arch_setup();
 +
 +static void __init machine_specific_arch_setup(void);
-diff -Nurp pristine-linux-2.6.16/include/linux/gfp.h tmp-linux-2.6-xen.patch/include/linux/gfp.h
---- pristine-linux-2.6.16/include/linux/gfp.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/linux/gfp.h tmp-linux-2.6-xen.patch/include/linux/gfp.h
+--- pristine-linux-2.6.16.12/include/linux/gfp.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/linux/gfp.h	2006-04-05 22:43:19.000000000 +0200
 @@ -98,7 +98,11 @@ static inline int gfp_zone(gfp_t gfp)
   */
@@ -77198,8 +77111,8 @@
  #endif
  
  extern struct page *
-diff -Nurp pristine-linux-2.6.16/include/linux/highmem.h tmp-linux-2.6-xen.patch/include/linux/highmem.h
---- pristine-linux-2.6.16/include/linux/highmem.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/linux/highmem.h tmp-linux-2.6-xen.patch/include/linux/highmem.h
+--- pristine-linux-2.6.16.12/include/linux/highmem.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/linux/highmem.h	2006-04-05 22:43:19.000000000 +0200
 @@ -13,10 +13,16 @@
  
@@ -77218,8 +77131,8 @@
  
  static inline void *kmap(struct page *page)
  {
-diff -Nurp pristine-linux-2.6.16/include/linux/mm.h tmp-linux-2.6-xen.patch/include/linux/mm.h
---- pristine-linux-2.6.16/include/linux/mm.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/linux/mm.h tmp-linux-2.6-xen.patch/include/linux/mm.h
+--- pristine-linux-2.6.16.12/include/linux/mm.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/linux/mm.h	2006-04-05 22:43:19.000000000 +0200
 @@ -166,6 +166,9 @@ extern unsigned int kobjsize(const void 
  #define VM_NONLINEAR	0x00800000	/* Is non-linear (remap_file_pages) */
@@ -77231,7 +77144,20 @@
  
  #ifndef VM_STACK_DEFAULT_FLAGS		/* arch can override this */
  #define VM_STACK_DEFAULT_FLAGS VM_DATA_DEFAULT_FLAGS
-@@ -245,6 +248,9 @@ struct page {
+@@ -229,9 +232,10 @@ struct page {
+ 		unsigned long private;		/* Mapping-private opaque data:
+ 					 	 * usually used for buffer_heads
+ 						 * if PagePrivate set; used for
+-						 * swp_entry_t if PageSwapCache;
++						 * swp_entry_t if PageSwapCache.
++						 * When page is free, this
+ 						 * indicates order in the buddy
+-						 * system if PG_buddy is set.
++						 * system.
+ 						 */
+ 		struct address_space *mapping;	/* If low bit clear, points to
+ 						 * inode address_space, or NULL.
+@@ -244,6 +248,9 @@ struct page {
  #if NR_CPUS >= CONFIG_SPLIT_PTLOCK_CPUS
  	    spinlock_t ptl;
  #endif
@@ -77241,7 +77167,7 @@
  	};
  	pgoff_t index;			/* Our offset within mapping. */
  	struct list_head lru;		/* Pageout list, eg. active_list
-@@ -1013,6 +1019,13 @@ struct page *follow_page(struct vm_area_
+@@ -1012,6 +1019,13 @@ struct page *follow_page(struct vm_area_
  #define FOLL_GET	0x04	/* do get_page on page */
  #define FOLL_ANON	0x08	/* give ZERO_PAGE if no pgtable */
  
@@ -77255,8 +77181,8 @@
  #ifdef CONFIG_PROC_FS
  void vm_stat_account(struct mm_struct *, unsigned long, struct file *, long);
  #else
-diff -Nurp pristine-linux-2.6.16/include/linux/skbuff.h tmp-linux-2.6-xen.patch/include/linux/skbuff.h
---- pristine-linux-2.6.16/include/linux/skbuff.h	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/linux/skbuff.h tmp-linux-2.6-xen.patch/include/linux/skbuff.h
+--- pristine-linux-2.6.16.12/include/linux/skbuff.h	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/include/linux/skbuff.h	2006-04-05 22:43:19.000000000 +0200
 @@ -189,6 +189,8 @@ enum {
   *	@local_df: allow local fragmentation
@@ -77300,8 +77226,8 @@
  #endif
  
  /**
-diff -Nurp pristine-linux-2.6.16/include/xen/balloon.h tmp-linux-2.6-xen.patch/include/xen/balloon.h
---- pristine-linux-2.6.16/include/xen/balloon.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/balloon.h tmp-linux-2.6-xen.patch/include/xen/balloon.h
+--- pristine-linux-2.6.16.12/include/xen/balloon.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/balloon.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,73 @@
 +/******************************************************************************
@@ -77377,8 +77303,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/driver_util.h tmp-linux-2.6-xen.patch/include/xen/driver_util.h
---- pristine-linux-2.6.16/include/xen/driver_util.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/driver_util.h tmp-linux-2.6-xen.patch/include/xen/driver_util.h
+--- pristine-linux-2.6.16.12/include/xen/driver_util.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/driver_util.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,26 @@
 +
@@ -77407,8 +77333,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/evtchn.h tmp-linux-2.6-xen.patch/include/xen/evtchn.h
---- pristine-linux-2.6.16/include/xen/evtchn.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/evtchn.h tmp-linux-2.6-xen.patch/include/xen/evtchn.h
+--- pristine-linux-2.6.16.12/include/xen/evtchn.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/evtchn.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,126 @@
 +/******************************************************************************
@@ -77537,8 +77463,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/features.h tmp-linux-2.6-xen.patch/include/xen/features.h
---- pristine-linux-2.6.16/include/xen/features.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/features.h tmp-linux-2.6-xen.patch/include/xen/features.h
+--- pristine-linux-2.6.16.12/include/xen/features.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/features.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,20 @@
 +/******************************************************************************
@@ -77561,8 +77487,8 @@
 +#define xen_feature(flag)	(xen_features[flag])
 +
 +#endif /* __ASM_XEN_FEATURES_H__ */
-diff -Nurp pristine-linux-2.6.16/include/xen/foreign_page.h tmp-linux-2.6-xen.patch/include/xen/foreign_page.h
---- pristine-linux-2.6.16/include/xen/foreign_page.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/foreign_page.h tmp-linux-2.6-xen.patch/include/xen/foreign_page.h
+--- pristine-linux-2.6.16.12/include/xen/foreign_page.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/foreign_page.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,40 @@
 +/******************************************************************************
@@ -77605,8 +77531,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/gnttab.h tmp-linux-2.6-xen.patch/include/xen/gnttab.h
---- pristine-linux-2.6.16/include/xen/gnttab.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/gnttab.h tmp-linux-2.6-xen.patch/include/xen/gnttab.h
+--- pristine-linux-2.6.16.12/include/xen/gnttab.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/gnttab.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,126 @@
 +/******************************************************************************
@@ -77735,8 +77661,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/hypervisor_sysfs.h tmp-linux-2.6-xen.patch/include/xen/hypervisor_sysfs.h
---- pristine-linux-2.6.16/include/xen/hypervisor_sysfs.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/hypervisor_sysfs.h tmp-linux-2.6-xen.patch/include/xen/hypervisor_sysfs.h
+--- pristine-linux-2.6.16.12/include/xen/hypervisor_sysfs.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/hypervisor_sysfs.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,32 @@
 +/*
@@ -77771,8 +77697,8 @@
 +};
 +
 +#endif /* _HYP_SYSFS_H_ */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/acm.h tmp-linux-2.6-xen.patch/include/xen/interface/acm.h
---- pristine-linux-2.6.16/include/xen/interface/acm.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/acm.h tmp-linux-2.6-xen.patch/include/xen/interface/acm.h
+--- pristine-linux-2.6.16.12/include/xen/interface/acm.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/acm.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,181 @@
 +/*
@@ -77956,8 +77882,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/acm_ops.h tmp-linux-2.6-xen.patch/include/xen/interface/acm_ops.h
---- pristine-linux-2.6.16/include/xen/interface/acm_ops.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/acm_ops.h tmp-linux-2.6-xen.patch/include/xen/interface/acm_ops.h
+--- pristine-linux-2.6.16.12/include/xen/interface/acm_ops.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/acm_ops.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,98 @@
 +/*
@@ -78058,8 +77984,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/arch-ia64.h tmp-linux-2.6-xen.patch/include/xen/interface/arch-ia64.h
---- pristine-linux-2.6.16/include/xen/interface/arch-ia64.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/arch-ia64.h tmp-linux-2.6-xen.patch/include/xen/interface/arch-ia64.h
+--- pristine-linux-2.6.16.12/include/xen/interface/arch-ia64.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/arch-ia64.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,337 @@
 +/******************************************************************************
@@ -78399,8 +78325,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/arch-x86_32.h tmp-linux-2.6-xen.patch/include/xen/interface/arch-x86_32.h
---- pristine-linux-2.6.16/include/xen/interface/arch-x86_32.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/arch-x86_32.h tmp-linux-2.6-xen.patch/include/xen/interface/arch-x86_32.h
+--- pristine-linux-2.6.16.12/include/xen/interface/arch-x86_32.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/arch-x86_32.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,195 @@
 +/******************************************************************************
@@ -78598,8 +78524,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/arch-x86_64.h tmp-linux-2.6-xen.patch/include/xen/interface/arch-x86_64.h
---- pristine-linux-2.6.16/include/xen/interface/arch-x86_64.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/arch-x86_64.h tmp-linux-2.6-xen.patch/include/xen/interface/arch-x86_64.h
+--- pristine-linux-2.6.16.12/include/xen/interface/arch-x86_64.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/arch-x86_64.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,271 @@
 +/******************************************************************************
@@ -78873,8 +78799,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/COPYING tmp-linux-2.6-xen.patch/include/xen/interface/COPYING
---- pristine-linux-2.6.16/include/xen/interface/COPYING	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/COPYING tmp-linux-2.6-xen.patch/include/xen/interface/COPYING
+--- pristine-linux-2.6.16.12/include/xen/interface/COPYING	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/COPYING	2006-01-05 19:06:54.000000000 +0100
 @@ -0,0 +1,28 @@
 +XEN NOTICE
@@ -78905,8 +78831,8 @@
 +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
 +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
 +DEALINGS IN THE SOFTWARE.
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/dom0_ops.h tmp-linux-2.6-xen.patch/include/xen/interface/dom0_ops.h
---- pristine-linux-2.6.16/include/xen/interface/dom0_ops.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/dom0_ops.h tmp-linux-2.6-xen.patch/include/xen/interface/dom0_ops.h
+--- pristine-linux-2.6.16.12/include/xen/interface/dom0_ops.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/dom0_ops.h	2006-04-25 11:20:48.000000000 +0200
 @@ -0,0 +1,533 @@
 +/******************************************************************************
@@ -79442,8 +79368,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/event_channel.h tmp-linux-2.6-xen.patch/include/xen/interface/event_channel.h
---- pristine-linux-2.6.16/include/xen/interface/event_channel.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/event_channel.h tmp-linux-2.6-xen.patch/include/xen/interface/event_channel.h
+--- pristine-linux-2.6.16.12/include/xen/interface/event_channel.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/event_channel.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,205 @@
 +/******************************************************************************
@@ -79651,8 +79577,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/features.h tmp-linux-2.6-xen.patch/include/xen/interface/features.h
---- pristine-linux-2.6.16/include/xen/interface/features.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/features.h tmp-linux-2.6-xen.patch/include/xen/interface/features.h
+--- pristine-linux-2.6.16.12/include/xen/interface/features.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/features.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,53 @@
 +/******************************************************************************
@@ -79708,8 +79634,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/grant_table.h tmp-linux-2.6-xen.patch/include/xen/interface/grant_table.h
---- pristine-linux-2.6.16/include/xen/interface/grant_table.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/grant_table.h tmp-linux-2.6-xen.patch/include/xen/interface/grant_table.h
+--- pristine-linux-2.6.16.12/include/xen/interface/grant_table.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/grant_table.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,311 @@
 +/******************************************************************************
@@ -80023,8 +79949,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/hvm/hvm_info_table.h tmp-linux-2.6-xen.patch/include/xen/interface/hvm/hvm_info_table.h
---- pristine-linux-2.6.16/include/xen/interface/hvm/hvm_info_table.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/hvm/hvm_info_table.h tmp-linux-2.6-xen.patch/include/xen/interface/hvm/hvm_info_table.h
+--- pristine-linux-2.6.16.12/include/xen/interface/hvm/hvm_info_table.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/hvm/hvm_info_table.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,24 @@
 +/******************************************************************************
@@ -80051,8 +79977,8 @@
 +};
 +
 +#endif /* __XEN_PUBLIC_HVM_HVM_INFO_TABLE_H__ */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/hvm/ioreq.h tmp-linux-2.6-xen.patch/include/xen/interface/hvm/ioreq.h
---- pristine-linux-2.6.16/include/xen/interface/hvm/ioreq.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/hvm/ioreq.h tmp-linux-2.6-xen.patch/include/xen/interface/hvm/ioreq.h
+--- pristine-linux-2.6.16.12/include/xen/interface/hvm/ioreq.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/hvm/ioreq.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,94 @@
 +/*
@@ -80149,8 +80075,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/hvm/vmx_assist.h tmp-linux-2.6-xen.patch/include/xen/interface/hvm/vmx_assist.h
---- pristine-linux-2.6.16/include/xen/interface/hvm/vmx_assist.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/hvm/vmx_assist.h tmp-linux-2.6-xen.patch/include/xen/interface/hvm/vmx_assist.h
+--- pristine-linux-2.6.16.12/include/xen/interface/hvm/vmx_assist.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/hvm/vmx_assist.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,97 @@
 +/*
@@ -80250,8 +80176,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/io/blkif.h tmp-linux-2.6-xen.patch/include/xen/interface/io/blkif.h
---- pristine-linux-2.6.16/include/xen/interface/io/blkif.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/io/blkif.h tmp-linux-2.6-xen.patch/include/xen/interface/io/blkif.h
+--- pristine-linux-2.6.16.12/include/xen/interface/io/blkif.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/io/blkif.h	2006-01-05 19:06:54.000000000 +0100
 @@ -0,0 +1,85 @@
 +/******************************************************************************
@@ -80339,8 +80265,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/io/console.h tmp-linux-2.6-xen.patch/include/xen/interface/io/console.h
---- pristine-linux-2.6.16/include/xen/interface/io/console.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/io/console.h tmp-linux-2.6-xen.patch/include/xen/interface/io/console.h
+--- pristine-linux-2.6.16.12/include/xen/interface/io/console.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/io/console.h	2006-01-05 19:06:54.000000000 +0100
 @@ -0,0 +1,33 @@
 +/******************************************************************************
@@ -80376,8 +80302,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/io/netif.h tmp-linux-2.6-xen.patch/include/xen/interface/io/netif.h
---- pristine-linux-2.6.16/include/xen/interface/io/netif.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/io/netif.h tmp-linux-2.6-xen.patch/include/xen/interface/io/netif.h
+--- pristine-linux-2.6.16.12/include/xen/interface/io/netif.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/io/netif.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,84 @@
 +/******************************************************************************
@@ -80464,8 +80390,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/io/pciif.h tmp-linux-2.6-xen.patch/include/xen/interface/io/pciif.h
---- pristine-linux-2.6.16/include/xen/interface/io/pciif.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/io/pciif.h tmp-linux-2.6-xen.patch/include/xen/interface/io/pciif.h
+--- pristine-linux-2.6.16.12/include/xen/interface/io/pciif.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/io/pciif.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,55 @@
 +/*
@@ -80523,8 +80449,8 @@
 +};
 +
 +#endif /* __XEN_PCI_COMMON_H__ */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/io/ring.h tmp-linux-2.6-xen.patch/include/xen/interface/io/ring.h
---- pristine-linux-2.6.16/include/xen/interface/io/ring.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/io/ring.h tmp-linux-2.6-xen.patch/include/xen/interface/io/ring.h
+--- pristine-linux-2.6.16.12/include/xen/interface/io/ring.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/io/ring.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,265 @@
 +/******************************************************************************
@@ -80792,8 +80718,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/io/tpmif.h tmp-linux-2.6-xen.patch/include/xen/interface/io/tpmif.h
---- pristine-linux-2.6.16/include/xen/interface/io/tpmif.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/io/tpmif.h tmp-linux-2.6-xen.patch/include/xen/interface/io/tpmif.h
+--- pristine-linux-2.6.16.12/include/xen/interface/io/tpmif.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/io/tpmif.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,56 @@
 +/******************************************************************************
@@ -80852,8 +80778,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/io/xenbus.h tmp-linux-2.6-xen.patch/include/xen/interface/io/xenbus.h
---- pristine-linux-2.6.16/include/xen/interface/io/xenbus.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/io/xenbus.h tmp-linux-2.6-xen.patch/include/xen/interface/io/xenbus.h
+--- pristine-linux-2.6.16.12/include/xen/interface/io/xenbus.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/io/xenbus.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,42 @@
 +/*****************************************************************************
@@ -80898,8 +80824,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/io/xs_wire.h tmp-linux-2.6-xen.patch/include/xen/interface/io/xs_wire.h
---- pristine-linux-2.6.16/include/xen/interface/io/xs_wire.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/io/xs_wire.h tmp-linux-2.6-xen.patch/include/xen/interface/io/xs_wire.h
+--- pristine-linux-2.6.16.12/include/xen/interface/io/xs_wire.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/io/xs_wire.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,97 @@
 +/*
@@ -80999,8 +80925,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/memory.h tmp-linux-2.6-xen.patch/include/xen/interface/memory.h
---- pristine-linux-2.6.16/include/xen/interface/memory.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/memory.h tmp-linux-2.6-xen.patch/include/xen/interface/memory.h
+--- pristine-linux-2.6.16.12/include/xen/interface/memory.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/memory.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,155 @@
 +/******************************************************************************
@@ -81158,8 +81084,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/nmi.h tmp-linux-2.6-xen.patch/include/xen/interface/nmi.h
---- pristine-linux-2.6.16/include/xen/interface/nmi.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/nmi.h tmp-linux-2.6-xen.patch/include/xen/interface/nmi.h
+--- pristine-linux-2.6.16.12/include/xen/interface/nmi.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/nmi.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,59 @@
 +/******************************************************************************
@@ -81221,8 +81147,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/physdev.h tmp-linux-2.6-xen.patch/include/xen/interface/physdev.h
---- pristine-linux-2.6.16/include/xen/interface/physdev.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/physdev.h tmp-linux-2.6-xen.patch/include/xen/interface/physdev.h
+--- pristine-linux-2.6.16.12/include/xen/interface/physdev.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/physdev.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,71 @@
 +
@@ -81296,8 +81222,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/sched_ctl.h tmp-linux-2.6-xen.patch/include/xen/interface/sched_ctl.h
---- pristine-linux-2.6.16/include/xen/interface/sched_ctl.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/sched_ctl.h tmp-linux-2.6-xen.patch/include/xen/interface/sched_ctl.h
+--- pristine-linux-2.6.16.12/include/xen/interface/sched_ctl.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/sched_ctl.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,64 @@
 +/******************************************************************************
@@ -81364,8 +81290,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/sched.h tmp-linux-2.6-xen.patch/include/xen/interface/sched.h
---- pristine-linux-2.6.16/include/xen/interface/sched.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/sched.h tmp-linux-2.6-xen.patch/include/xen/interface/sched.h
+--- pristine-linux-2.6.16.12/include/xen/interface/sched.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/sched.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,87 @@
 +/******************************************************************************
@@ -81455,8 +81381,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/trace.h tmp-linux-2.6-xen.patch/include/xen/interface/trace.h
---- pristine-linux-2.6.16/include/xen/interface/trace.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/trace.h tmp-linux-2.6-xen.patch/include/xen/interface/trace.h
+--- pristine-linux-2.6.16.12/include/xen/interface/trace.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/trace.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,86 @@
 +/******************************************************************************
@@ -81545,8 +81471,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/vcpu.h tmp-linux-2.6-xen.patch/include/xen/interface/vcpu.h
---- pristine-linux-2.6.16/include/xen/interface/vcpu.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/vcpu.h tmp-linux-2.6-xen.patch/include/xen/interface/vcpu.h
+--- pristine-linux-2.6.16.12/include/xen/interface/vcpu.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/vcpu.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,119 @@
 +/******************************************************************************
@@ -81668,8 +81594,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/version.h tmp-linux-2.6-xen.patch/include/xen/interface/version.h
---- pristine-linux-2.6.16/include/xen/interface/version.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/version.h tmp-linux-2.6-xen.patch/include/xen/interface/version.h
+--- pristine-linux-2.6.16.12/include/xen/interface/version.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/version.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,64 @@
 +/******************************************************************************
@@ -81736,8 +81662,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/xen-compat.h tmp-linux-2.6-xen.patch/include/xen/interface/xen-compat.h
---- pristine-linux-2.6.16/include/xen/interface/xen-compat.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/xen-compat.h tmp-linux-2.6-xen.patch/include/xen/interface/xen-compat.h
+--- pristine-linux-2.6.16.12/include/xen/interface/xen-compat.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/xen-compat.h	2006-04-05 22:43:20.000000000 +0200
 @@ -0,0 +1,31 @@
 +/******************************************************************************
@@ -81771,8 +81697,8 @@
 +#endif
 +
 +#endif /* __XEN_PUBLIC_XEN_COMPAT_H__ */
-diff -Nurp pristine-linux-2.6.16/include/xen/interface/xen.h tmp-linux-2.6-xen.patch/include/xen/interface/xen.h
---- pristine-linux-2.6.16/include/xen/interface/xen.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/interface/xen.h tmp-linux-2.6-xen.patch/include/xen/interface/xen.h
+--- pristine-linux-2.6.16.12/include/xen/interface/xen.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/interface/xen.h	2006-04-05 22:43:21.000000000 +0200
 @@ -0,0 +1,451 @@
 +/******************************************************************************
@@ -82226,8 +82152,8 @@
 + * indent-tabs-mode: nil
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/net_driver_util.h tmp-linux-2.6-xen.patch/include/xen/net_driver_util.h
---- pristine-linux-2.6.16/include/xen/net_driver_util.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/net_driver_util.h tmp-linux-2.6-xen.patch/include/xen/net_driver_util.h
+--- pristine-linux-2.6.16.12/include/xen/net_driver_util.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/net_driver_util.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,58 @@
 +/*****************************************************************************
@@ -82288,8 +82214,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/pcifront.h tmp-linux-2.6-xen.patch/include/xen/pcifront.h
---- pristine-linux-2.6.16/include/xen/pcifront.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/pcifront.h tmp-linux-2.6-xen.patch/include/xen/pcifront.h
+--- pristine-linux-2.6.16.12/include/xen/pcifront.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/pcifront.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,39 @@
 +/*
@@ -82331,8 +82257,8 @@
 +#endif /* __KERNEL__ */
 +
 +#endif /* __XEN_ASM_PCIFRONT_H__ */
-diff -Nurp pristine-linux-2.6.16/include/xen/public/evtchn.h tmp-linux-2.6-xen.patch/include/xen/public/evtchn.h
---- pristine-linux-2.6.16/include/xen/public/evtchn.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/public/evtchn.h tmp-linux-2.6-xen.patch/include/xen/public/evtchn.h
+--- pristine-linux-2.6.16.12/include/xen/public/evtchn.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/public/evtchn.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,101 @@
 +/******************************************************************************
@@ -82436,8 +82362,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/public/privcmd.h tmp-linux-2.6-xen.patch/include/xen/public/privcmd.h
---- pristine-linux-2.6.16/include/xen/public/privcmd.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/public/privcmd.h tmp-linux-2.6-xen.patch/include/xen/public/privcmd.h
+--- pristine-linux-2.6.16.12/include/xen/public/privcmd.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/public/privcmd.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,94 @@
 +/******************************************************************************
@@ -82534,8 +82460,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/tpmfe.h tmp-linux-2.6-xen.patch/include/xen/tpmfe.h
---- pristine-linux-2.6.16/include/xen/tpmfe.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/tpmfe.h tmp-linux-2.6-xen.patch/include/xen/tpmfe.h
+--- pristine-linux-2.6.16.12/include/xen/tpmfe.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/tpmfe.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,40 @@
 +#ifndef TPM_FE_H
@@ -82578,8 +82504,8 @@
 +void tpm_fe_unregister_receiver(void);
 +
 +#endif
-diff -Nurp pristine-linux-2.6.16/include/xen/xenbus.h tmp-linux-2.6-xen.patch/include/xen/xenbus.h
---- pristine-linux-2.6.16/include/xen/xenbus.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/xenbus.h tmp-linux-2.6-xen.patch/include/xen/xenbus.h
+--- pristine-linux-2.6.16.12/include/xen/xenbus.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/xenbus.h	2006-04-28 23:38:29.000000000 +0200
 @@ -0,0 +1,306 @@
 +/******************************************************************************
@@ -82888,8 +82814,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/include/xen/xencons.h tmp-linux-2.6-xen.patch/include/xen/xencons.h
---- pristine-linux-2.6.16/include/xen/xencons.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/xencons.h tmp-linux-2.6-xen.patch/include/xen/xencons.h
+--- pristine-linux-2.6.16.12/include/xen/xencons.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/xencons.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,14 @@
 +#ifndef __ASM_XENCONS_H__
@@ -82906,8 +82832,8 @@
 +int xencons_ring_send(const char *data, unsigned len);
 +
 +#endif /* __ASM_XENCONS_H__ */
-diff -Nurp pristine-linux-2.6.16/include/xen/xen_proc.h tmp-linux-2.6-xen.patch/include/xen/xen_proc.h
---- pristine-linux-2.6.16/include/xen/xen_proc.h	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/include/xen/xen_proc.h tmp-linux-2.6-xen.patch/include/xen/xen_proc.h
+--- pristine-linux-2.6.16.12/include/xen/xen_proc.h	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/include/xen/xen_proc.h	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,23 @@
 +
@@ -82933,8 +82859,8 @@
 + *  tab-width: 8
 + * End:
 + */
-diff -Nurp pristine-linux-2.6.16/kernel/Kconfig.preempt tmp-linux-2.6-xen.patch/kernel/Kconfig.preempt
---- pristine-linux-2.6.16/kernel/Kconfig.preempt	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/kernel/Kconfig.preempt tmp-linux-2.6-xen.patch/kernel/Kconfig.preempt
+--- pristine-linux-2.6.16.12/kernel/Kconfig.preempt	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/kernel/Kconfig.preempt	2006-04-05 22:43:19.000000000 +0200
 @@ -35,6 +35,7 @@ config PREEMPT_VOLUNTARY
  
@@ -82944,8 +82870,8 @@
  	help
  	  This option reduces the latency of the kernel by making
  	  all kernel code (that is not executing in a critical section)
-diff -Nurp pristine-linux-2.6.16/lib/Makefile tmp-linux-2.6-xen.patch/lib/Makefile
---- pristine-linux-2.6.16/lib/Makefile	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/lib/Makefile tmp-linux-2.6-xen.patch/lib/Makefile
+--- pristine-linux-2.6.16.12/lib/Makefile	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/lib/Makefile	2006-04-05 22:43:19.000000000 +0200
 @@ -45,6 +45,9 @@ obj-$(CONFIG_TEXTSEARCH_BM) += ts_bm.o
  obj-$(CONFIG_TEXTSEARCH_FSM) += ts_fsm.o
@@ -82957,8 +82883,8 @@
  
  hostprogs-y	:= gen_crc32table
  clean-files	:= crc32table.h
-diff -Nurp pristine-linux-2.6.16/mm/highmem.c tmp-linux-2.6-xen.patch/mm/highmem.c
---- pristine-linux-2.6.16/mm/highmem.c	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/mm/highmem.c tmp-linux-2.6-xen.patch/mm/highmem.c
+--- pristine-linux-2.6.16.12/mm/highmem.c	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/mm/highmem.c	2006-04-05 22:43:19.000000000 +0200
 @@ -152,6 +152,17 @@ start:
  	return vaddr;
@@ -82978,8 +82904,8 @@
  void fastcall *kmap_high(struct page *page)
  {
  	unsigned long vaddr;
-diff -Nurp pristine-linux-2.6.16/mm/Kconfig tmp-linux-2.6-xen.patch/mm/Kconfig
---- pristine-linux-2.6.16/mm/Kconfig	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/mm/Kconfig tmp-linux-2.6-xen.patch/mm/Kconfig
+--- pristine-linux-2.6.16.12/mm/Kconfig	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/mm/Kconfig	2006-04-05 22:43:19.000000000 +0200
 @@ -126,11 +126,14 @@ comment "Memory hotplug is currently inc
  # Default to 4 for wider testing, though 8 might be more appropriate.
@@ -82996,8 +82922,8 @@
  	default "4"
  
  #
-diff -Nurp pristine-linux-2.6.16/mm/memory.c tmp-linux-2.6-xen.patch/mm/memory.c
---- pristine-linux-2.6.16/mm/memory.c	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/mm/memory.c tmp-linux-2.6-xen.patch/mm/memory.c
+--- pristine-linux-2.6.16.12/mm/memory.c	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/mm/memory.c	2006-04-05 22:43:19.000000000 +0200
 @@ -405,7 +405,8 @@ struct page *vm_normal_page(struct vm_ar
  	 * Remove this test eventually!
@@ -83136,8 +83062,8 @@
  /*
   * handle_pte_fault chooses page fault handler according to an entry
   * which was read non-atomically.  Before making any commitment, on
-diff -Nurp pristine-linux-2.6.16/mm/mmap.c tmp-linux-2.6-xen.patch/mm/mmap.c
---- pristine-linux-2.6.16/mm/mmap.c	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/mm/mmap.c tmp-linux-2.6-xen.patch/mm/mmap.c
+--- pristine-linux-2.6.16.12/mm/mmap.c	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/mm/mmap.c	2006-04-05 22:43:19.000000000 +0200
 @@ -1937,6 +1937,10 @@ void exit_mmap(struct mm_struct *mm)
  	unsigned long nr_accounted = 0;
@@ -83150,10 +83076,86 @@
  	lru_add_drain();
  	flush_cache_mm(mm);
  	tlb = tlb_gather_mmu(mm, 1);
-diff -Nurp pristine-linux-2.6.16/mm/page_alloc.c tmp-linux-2.6-xen.patch/mm/page_alloc.c
---- pristine-linux-2.6.16/mm/page_alloc.c	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/mm/page_alloc.c tmp-linux-2.6-xen.patch/mm/page_alloc.c
+--- pristine-linux-2.6.16.12/mm/page_alloc.c	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/mm/page_alloc.c	2006-04-05 22:43:19.000000000 +0200
-@@ -418,7 +418,8 @@ static void __free_pages_ok(struct page 
+@@ -153,8 +153,7 @@ static void bad_page(struct page *page)
+ 			1 << PG_reclaim |
+ 			1 << PG_slab    |
+ 			1 << PG_swapcache |
+-			1 << PG_writeback |
+-			1 << PG_buddy );
++			1 << PG_writeback );
+ 	set_page_count(page, 0);
+ 	reset_page_mapcount(page);
+ 	page->mapping = NULL;
+@@ -225,12 +224,12 @@ static inline unsigned long page_order(s
+ 
+ static inline void set_page_order(struct page *page, int order) {
+ 	set_page_private(page, order);
+-	__SetPageBuddy(page);
++	__SetPagePrivate(page);
+ }
+ 
+ static inline void rmv_page_order(struct page *page)
+ {
+-	__ClearPageBuddy(page);
++	__ClearPagePrivate(page);
+ 	set_page_private(page, 0);
+ }
+ 
+@@ -269,13 +268,11 @@ __find_combined_index(unsigned long page
+  * This function checks whether a page is free && is the buddy
+  * we can do coalesce a page and its buddy if
+  * (a) the buddy is not in a hole &&
+- * (b) the buddy is in the buddy system &&
+- * (c) a page and its buddy have the same order.
+- *
+- * For recording whether a page is in the buddy system, we use PG_buddy.
+- * Setting, clearing, and testing PG_buddy is serialized by zone->lock.
++ * (b) the buddy is free &&
++ * (c) the buddy is on the buddy system &&
++ * (d) a page and its buddy have the same order.
++ * for recording page's order, we use page_private(page) and PG_private.
+  *
+- * For recording page's order, we use page_private(page).
+  */
+ static inline int page_is_buddy(struct page *page, int order)
+ {
+@@ -284,10 +281,10 @@ static inline int page_is_buddy(struct p
+ 		return 0;
+ #endif
+ 
+-	if (PageBuddy(page) && page_order(page) == order) {
+-		BUG_ON(page_count(page) != 0);
++       if (PagePrivate(page)           &&
++           (page_order(page) == order) &&
++            page_count(page) == 0)
+                return 1;
+-	}
+        return 0;
+ }
+ 
+@@ -304,7 +301,7 @@ static inline int page_is_buddy(struct p
+  * as necessary, plus some accounting needed to play nicely with other
+  * parts of the VM system.
+  * At each level, we keep a list of pages, which are heads of continuous
+- * free pages of length of (1 << order) and marked with PG_buddy. Page's
++ * free pages of length of (1 << order) and marked with PG_Private.Page's
+  * order is recorded in page_private(page) field.
+  * So when we are allocating or freeing one, we can derive the state of the
+  * other.  That is, if we allocate a small block, and both were   
+@@ -367,8 +364,7 @@ static inline int free_pages_check(struc
+ 			1 << PG_slab	|
+ 			1 << PG_swapcache |
+ 			1 << PG_writeback |
+-			1 << PG_reserved |
+-			1 << PG_buddy ))))
++			1 << PG_reserved ))))
+ 		bad_page(page);
+ 	if (PageDirty(page))
+ 		__ClearPageDirty(page);
+@@ -422,7 +418,8 @@ static void __free_pages_ok(struct page 
  	int i;
  	int reserved = 0;
  
@@ -83163,7 +83165,17 @@
  	if (!PageHighMem(page))
  		mutex_debug_check_no_locks_freed(page_address(page),
  						 PAGE_SIZE<<order);
-@@ -711,7 +712,8 @@ static void fastcall free_hot_cold_page(
+@@ -526,8 +523,7 @@ static int prep_new_page(struct page *pa
+ 			1 << PG_slab    |
+ 			1 << PG_swapcache |
+ 			1 << PG_writeback |
+-			1 << PG_reserved |
+-			1 << PG_buddy ))))
++			1 << PG_reserved ))))
+ 		bad_page(page);
+ 
+ 	/*
+@@ -716,7 +712,8 @@ static void fastcall free_hot_cold_page(
  	struct per_cpu_pages *pcp;
  	unsigned long flags;
  
@@ -83173,8 +83185,8 @@
  
  	if (PageAnon(page))
  		page->mapping = NULL;
-diff -Nurp pristine-linux-2.6.16/net/core/dev.c tmp-linux-2.6-xen.patch/net/core/dev.c
---- pristine-linux-2.6.16/net/core/dev.c	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/net/core/dev.c tmp-linux-2.6-xen.patch/net/core/dev.c
+--- pristine-linux-2.6.16.12/net/core/dev.c	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/net/core/dev.c	2006-04-25 11:20:48.000000000 +0200
 @@ -116,6 +116,12 @@
  #endif	/* CONFIG_NET_RADIO */
@@ -83266,6 +83278,19 @@
  	list_for_each_entry_rcu(ptype, &ptype_all, list) {
  		if (!ptype->dev || ptype->dev == skb->dev) {
  			if (pt_prev) 
+@@ -2932,11 +2994,11 @@ void netdev_run_todo(void)
+ 
+ 		switch(dev->reg_state) {
+ 		case NETREG_REGISTERING:
+-			dev->reg_state = NETREG_REGISTERED;
+ 			err = netdev_register_sysfs(dev);
+ 			if (err)
+ 				printk(KERN_ERR "%s: failed sysfs registration (%d)\n",
+ 				       dev->name, err);
++			dev->reg_state = NETREG_REGISTERED;
+ 			break;
+ 
+ 		case NETREG_UNREGISTERING:
 @@ -3300,6 +3362,7 @@ EXPORT_SYMBOL(unregister_netdevice_notif
  EXPORT_SYMBOL(net_enable_timestamp);
  EXPORT_SYMBOL(net_disable_timestamp);
@@ -83274,8 +83299,8 @@
  
  #if defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE)
  EXPORT_SYMBOL(br_handle_frame_hook);
-diff -Nurp pristine-linux-2.6.16/net/core/skbuff.c tmp-linux-2.6-xen.patch/net/core/skbuff.c
---- pristine-linux-2.6.16/net/core/skbuff.c	2006-03-20 06:53:29.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/net/core/skbuff.c tmp-linux-2.6-xen.patch/net/core/skbuff.c
+--- pristine-linux-2.6.16.12/net/core/skbuff.c	2006-05-01 21:14:26.000000000 +0200
 +++ tmp-linux-2.6-xen.patch/net/core/skbuff.c	2006-04-05 22:43:19.000000000 +0200
 @@ -132,6 +132,7 @@ void skb_under_panic(struct sk_buff *skb
   *	Buffers may only be allocated from interrupts using a @gfp_mask of
@@ -83362,72 +83387,8 @@
  	C(pkt_type);
  	C(ip_summed);
  	C(priority);
-diff -Nurp pristine-linux-2.6.16/net/ipv4/netfilter/ip_nat_proto_tcp.c tmp-linux-2.6-xen.patch/net/ipv4/netfilter/ip_nat_proto_tcp.c
---- pristine-linux-2.6.16/net/ipv4/netfilter/ip_nat_proto_tcp.c	2006-03-20 06:53:29.000000000 +0100
-+++ tmp-linux-2.6-xen.patch/net/ipv4/netfilter/ip_nat_proto_tcp.c	2006-04-28 23:39:09.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 -Nurp pristine-linux-2.6.16/net/ipv4/netfilter/ip_nat_proto_udp.c tmp-linux-2.6-xen.patch/net/ipv4/netfilter/ip_nat_proto_udp.c
---- pristine-linux-2.6.16/net/ipv4/netfilter/ip_nat_proto_udp.c	2006-03-20 06:53:29.000000000 +0100
-+++ tmp-linux-2.6-xen.patch/net/ipv4/netfilter/ip_nat_proto_udp.c	2006-04-28 23:39:09.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 -Nurp pristine-linux-2.6.16/net/ipv4/xfrm4_output.c tmp-linux-2.6-xen.patch/net/ipv4/xfrm4_output.c
---- pristine-linux-2.6.16/net/ipv4/xfrm4_output.c	2006-03-20 06:53:29.000000000 +0100
-+++ tmp-linux-2.6-xen.patch/net/ipv4/xfrm4_output.c	2006-04-28 23:39:09.000000000 +0200
-@@ -17,6 +17,8 @@
- #include <net/xfrm.h>
- #include <net/icmp.h>
- 
-+extern int skb_checksum_setup(struct sk_buff *skb);
-+
- /* Add encapsulation header.
-  *
-  * In transport mode, the IP header will be moved forward to make space
-@@ -103,6 +105,10 @@ static int xfrm4_output_one(struct sk_bu
- 	struct xfrm_state *x = dst->xfrm;
- 	int err;
- 	
-+	err = skb_checksum_setup(skb);
-+	if (err)
-+		goto error_nolock;
-+
- 	if (skb->ip_summed == CHECKSUM_HW) {
- 		err = skb_checksum_help(skb, 0);
- 		if (err)
-diff -Nurp pristine-linux-2.6.16/scripts/Makefile.xen tmp-linux-2.6-xen.patch/scripts/Makefile.xen
---- pristine-linux-2.6.16/scripts/Makefile.xen	1970-01-01 01:00:00.000000000 +0100
+diff -Nurp pristine-linux-2.6.16.12/scripts/Makefile.xen tmp-linux-2.6-xen.patch/scripts/Makefile.xen
+--- pristine-linux-2.6.16.12/scripts/Makefile.xen	1970-01-01 01:00:00.000000000 +0100
 +++ tmp-linux-2.6-xen.patch/scripts/Makefile.xen	2006-04-05 22:43:19.000000000 +0200
 @@ -0,0 +1,14 @@
 +



More information about the Kernel-svn-changes mailing list