Home Home > GIT Browse > openSUSE-15.1
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2012-12-18 16:39:47 +0100
committerJan Beulich <jbeulich@suse.com>2012-12-18 16:39:47 +0100
commit756a7d4cdc1ff631cbb6beadb2eebd2177263d97 (patch)
tree6d30f1f7f8b6b3d9a4406616be7f2db96e305b4a
parent7c5f8a66f8f85266c2b47afcfc8260ddc55169d2 (diff)
- Update Xen patches to 3.7.1 and c/s 1213.rpm-3.7.1-1
-rw-r--r--patches.xen/xen-blkback-cdrom48
-rw-r--r--patches.xen/xen-blkback-multi-page-ring10
-rw-r--r--patches.xen/xen-blkif-op-packet8
-rw-r--r--patches.xen/xen-blkif-protocol-fallback-hack8
-rw-r--r--patches.xen/xen3-auto-arch-i386.diff2
-rw-r--r--patches.xen/xen3-auto-arch-x86.diff2
-rw-r--r--patches.xen/xen3-auto-arch-x86_64.diff2
-rw-r--r--patches.xen/xen3-auto-common.diff94
-rw-r--r--patches.xen/xen3-auto-include-xen-interface.diff93
-rw-r--r--patches.xen/xen3-auto-xen-arch.diff2
-rw-r--r--patches.xen/xen3-auto-xen-drivers.diff57
-rw-r--r--patches.xen/xen3-auto-xen-kconfig.diff2
-rw-r--r--patches.xen/xen3-fixup-xen477
-rw-r--r--patches.xen/xen3-patch-2.6.1827
-rw-r--r--patches.xen/xen3-patch-2.6.1930
-rw-r--r--patches.xen/xen3-patch-2.6.2124
-rw-r--r--patches.xen/xen3-patch-2.6.2228
-rw-r--r--patches.xen/xen3-patch-2.6.2380
-rw-r--r--patches.xen/xen3-patch-2.6.2496
-rw-r--r--patches.xen/xen3-patch-2.6.2644
-rw-r--r--patches.xen/xen3-patch-2.6.2732
-rw-r--r--patches.xen/xen3-patch-2.6.2811
-rw-r--r--patches.xen/xen3-patch-2.6.2928
-rw-r--r--patches.xen/xen3-patch-2.6.3032
-rw-r--r--patches.xen/xen3-patch-2.6.3144
-rw-r--r--patches.xen/xen3-patch-2.6.3254
-rw-r--r--patches.xen/xen3-patch-2.6.3410
-rw-r--r--patches.xen/xen3-patch-2.6.3632
-rw-r--r--patches.xen/xen3-patch-2.6.3724
-rw-r--r--patches.xen/xen3-patch-2.6.3846
-rw-r--r--patches.xen/xen3-patch-2.6.3934
-rw-r--r--patches.xen/xen3-patch-3.024
-rw-r--r--patches.xen/xen3-patch-3.154
-rw-r--r--patches.xen/xen3-patch-3.256
-rw-r--r--patches.xen/xen3-patch-3.348
-rw-r--r--patches.xen/xen3-patch-3.426
-rw-r--r--patches.xen/xen3-patch-3.66
-rw-r--r--patches.xen/xen3-patch-3.7 (renamed from patches.xen/xen3-patch-3.7-rc3)209
-rw-r--r--patches.xen/xen3-patch-3.7-rc4-rc5105
-rw-r--r--patches.xen/xen3-patch-3.7-rc6-rc738
-rw-r--r--series.conf4
41 files changed, 1142 insertions, 909 deletions
diff --git a/patches.xen/xen-blkback-cdrom b/patches.xen/xen-blkback-cdrom
index 9f1d225d11..0a516b0c06 100644
--- a/patches.xen/xen-blkback-cdrom
+++ b/patches.xen/xen-blkback-cdrom
@@ -283,8 +283,8 @@ References: 159907
/*
* Write the current state; we will use this to synchronize
* the front-end. If the current state is "connected" the
---- head.orig/drivers/xen/blkback/xenbus.c 2012-10-31 12:21:00.000000000 +0100
-+++ head/drivers/xen/blkback/xenbus.c 2012-10-31 12:21:12.000000000 +0100
+--- head.orig/drivers/xen/blkback/xenbus.c 2012-12-18 12:22:08.000000000 +0100
++++ head/drivers/xen/blkback/xenbus.c 2012-12-18 12:27:34.000000000 +0100
@@ -57,7 +57,7 @@ static void update_blkif_status(blkif_t
char name[TASK_COMM_LEN];
@@ -330,23 +330,33 @@ References: 159907
if (be->blkif) {
blkif_disconnect(be->blkif);
vbd_free(&be->blkif->vbd);
-@@ -383,7 +394,13 @@ static void backend_changed(struct xenbu
- | (strchr(be->mode, 'w') ? FMODE_WRITE : 0)
- | (strchr(be->mode, '!') ? 0 : FMODE_EXCL),
- cdrom);
-- if (err) {
-+ switch (err) {
-+ case -ENOMEDIUM:
-+ if (be->blkif->vbd.type
-+ & (VDISK_CDROM | VDISK_REMOVABLE))
-+ case 0:
-+ break;
-+ default:
- be->major = be->minor = 0;
- xenbus_dev_fatal(dev, err, "creating vbd structure");
- return;
-@@ -399,6 +416,9 @@ static void backend_changed(struct xenbu
+@@ -383,14 +394,21 @@ static void backend_changed(struct xenbu
+ | (strchr(be->mode, '!') ? 0 : FMODE_EXCL),
+ cdrom);
+- if (err)
+- xenbus_dev_fatal(dev, err, "creating vbd structure");
+- else {
++ switch (err) {
++ case -ENOMEDIUM:
++ if (!(be->blkif->vbd.type & (VDISK_CDROM | VDISK_REMOVABLE))) {
++ default:
++ xenbus_dev_fatal(dev, err, "creating vbd structure");
++ break;
++ }
++ /* fall through */
++ case 0:
+ err = xenvbd_sysfs_addif(dev);
+ if (err) {
+ vbd_free(&be->blkif->vbd);
+ xenbus_dev_fatal(dev, err, "creating sysfs entries");
+ }
++ break;
+ }
+
+ if (err) {
+@@ -400,6 +418,9 @@ static void backend_changed(struct xenbu
+ } else {
/* We're potentially connected now */
update_blkif_status(be->blkif);
+
@@ -355,7 +365,7 @@ References: 159907
}
}
-@@ -439,7 +459,8 @@ static void frontend_changed(struct xenb
+@@ -440,7 +461,8 @@ static void frontend_changed(struct xenb
err = connect_ring(be);
if (err)
break;
diff --git a/patches.xen/xen-blkback-multi-page-ring b/patches.xen/xen-blkback-multi-page-ring
index 7d0a5c9168..d63cc84013 100644
--- a/patches.xen/xen-blkback-multi-page-ring
+++ b/patches.xen/xen-blkback-multi-page-ring
@@ -145,9 +145,9 @@ Acked-by: jbeulich@suse.com
})
case BLKIF_PROTOCOL_NATIVE:
BLKBK_RING_INIT(native);
---- head.orig/drivers/xen/blkback/xenbus.c 2012-03-22 14:26:51.000000000 +0100
-+++ head/drivers/xen/blkback/xenbus.c 2012-10-31 12:21:00.000000000 +0100
-@@ -297,6 +297,11 @@ static int blkback_probe(struct xenbus_d
+--- head.orig/drivers/xen/blkback/xenbus.c 2012-12-18 12:11:42.000000000 +0100
++++ head/drivers/xen/blkback/xenbus.c 2012-12-18 12:22:08.000000000 +0100
+@@ -298,6 +298,11 @@ static int blkback_probe(struct xenbus_d
if (err)
goto fail;
@@ -159,7 +159,7 @@ Acked-by: jbeulich@suse.com
err = xenbus_switch_state(dev, XenbusStateInitWait);
if (err)
goto fail;
-@@ -529,21 +534,22 @@ again:
+@@ -530,21 +535,22 @@ again:
static int connect_ring(struct backend_info *be)
{
struct xenbus_device *dev = be->dev;
@@ -189,7 +189,7 @@ Acked-by: jbeulich@suse.com
be->blkif->blk_protocol = BLKIF_PROTOCOL_NATIVE;
protocol = xenbus_read(XBT_NIL, dev->otherend, "protocol", NULL);
if (IS_ERR(protocol))
-@@ -557,20 +563,62 @@ static int connect_ring(struct backend_i
+@@ -558,20 +564,62 @@ static int connect_ring(struct backend_i
be->blkif->blk_protocol = BLKIF_PROTOCOL_X86_64;
#endif
else if (0 != strcmp(protocol, XEN_IO_PROTO_ABI_NATIVE)) {
diff --git a/patches.xen/xen-blkif-op-packet b/patches.xen/xen-blkif-op-packet
index 1ddf264ac9..b9a4fed39d 100644
--- a/patches.xen/xen-blkif-op-packet
+++ b/patches.xen/xen-blkif-op-packet
@@ -108,7 +108,7 @@ References: fate#300964
}
int tap_blkif_schedule(void *arg)
-@@ -1391,6 +1392,11 @@ static int do_block_io_op(blkif_t *blkif
+@@ -1391,6 +1392,11 @@ static int _do_block_io_op(blkif_t *blki
dispatch_rw_block_io(blkif, &req, pending_req);
break;
@@ -283,9 +283,9 @@ References: fate#300964
time->tv_sec, time->tv_usec);
}
---- head.orig/include/xen/interface/io/blkif.h 2012-04-04 10:31:20.000000000 +0200
-+++ head/include/xen/interface/io/blkif.h 2012-04-04 13:38:32.000000000 +0200
-@@ -376,10 +376,9 @@
+--- head.orig/include/xen/interface/io/blkif.h 2012-12-18 12:12:00.000000000 +0100
++++ head/include/xen/interface/io/blkif.h 2012-12-18 12:28:55.000000000 +0100
+@@ -436,10 +436,9 @@
*/
#define BLKIF_OP_FLUSH_DISKCACHE 3
/*
diff --git a/patches.xen/xen-blkif-protocol-fallback-hack b/patches.xen/xen-blkif-protocol-fallback-hack
index e5af8b797c..45f2a0e17a 100644
--- a/patches.xen/xen-blkif-protocol-fallback-hack
+++ b/patches.xen/xen-blkif-protocol-fallback-hack
@@ -33,8 +33,8 @@ See the comment below. Oh well.
help
The block tap driver is an alternative to the block back driver
and allows VM block requests to be redirected to userspace through
---- head.orig/drivers/xen/blkback/xenbus.c 2012-10-31 12:21:12.000000000 +0100
-+++ head/drivers/xen/blkback/xenbus.c 2012-10-31 12:23:18.000000000 +0100
+--- head.orig/drivers/xen/blkback/xenbus.c 2012-12-18 12:27:34.000000000 +0100
++++ head/drivers/xen/blkback/xenbus.c 2012-12-18 12:28:44.000000000 +0100
@@ -20,6 +20,7 @@
#include <stdarg.h>
#include <linux/kthread.h>
@@ -43,7 +43,7 @@ See the comment below. Oh well.
#undef DPRINTK
#define DPRINTK(fmt, args...) \
-@@ -573,8 +574,10 @@ static int connect_ring(struct backend_i
+@@ -575,8 +576,10 @@ static int connect_ring(struct backend_i
be->blkif->blk_protocol = BLKIF_PROTOCOL_NATIVE;
protocol = xenbus_read(XBT_NIL, dev->otherend, "protocol", NULL);
@@ -55,7 +55,7 @@ See the comment below. Oh well.
#ifndef CONFIG_X86_32
else if (0 == strcmp(protocol, XEN_IO_PROTO_ABI_X86_32))
be->blkif->blk_protocol = BLKIF_PROTOCOL_X86_32;
-@@ -591,8 +594,7 @@ static int connect_ring(struct backend_i
+@@ -593,8 +596,7 @@ static int connect_ring(struct backend_i
}
pr_info("blkback: protocol %d (%s)\n",
diff --git a/patches.xen/xen3-auto-arch-i386.diff b/patches.xen/xen3-auto-arch-i386.diff
index acb89de11a..26f82c86a7 100644
--- a/patches.xen/xen3-auto-arch-i386.diff
+++ b/patches.xen/xen3-auto-arch-i386.diff
@@ -1,4 +1,4 @@
-From http://xenbits.xen.org/linux-2.6.18-xen.hg (tip 1211:b9b0a1e9130e)
+From http://xenbits.xen.org/linux-2.6.18-xen.hg (tip 1213:302f7c9423c9)
Subject: xen3 arch-i386
From: xen-devel@lists.xen.org
Patch-mainline: n/a
diff --git a/patches.xen/xen3-auto-arch-x86.diff b/patches.xen/xen3-auto-arch-x86.diff
index ab211fde24..1e5c6d7fa9 100644
--- a/patches.xen/xen3-auto-arch-x86.diff
+++ b/patches.xen/xen3-auto-arch-x86.diff
@@ -1,4 +1,4 @@
-From http://xenbits.xen.org/linux-2.6.18-xen.hg (tip 1211:b9b0a1e9130e)
+From http://xenbits.xen.org/linux-2.6.18-xen.hg (tip 1213:302f7c9423c9)
Subject: xen3 arch-x86
From: xen-devel@lists.xen.org
Patch-mainline: n/a
diff --git a/patches.xen/xen3-auto-arch-x86_64.diff b/patches.xen/xen3-auto-arch-x86_64.diff
index 52aedf8738..e2724a451c 100644
--- a/patches.xen/xen3-auto-arch-x86_64.diff
+++ b/patches.xen/xen3-auto-arch-x86_64.diff
@@ -1,4 +1,4 @@
-From http://xenbits.xen.org/linux-2.6.18-xen.hg (tip 1211:b9b0a1e9130e)
+From http://xenbits.xen.org/linux-2.6.18-xen.hg (tip 1213:302f7c9423c9)
Subject: xen3 arch-x86_64
From: xen-devel@lists.xen.org
Patch-mainline: n/a
diff --git a/patches.xen/xen3-auto-common.diff b/patches.xen/xen3-auto-common.diff
index 4fec882722..59c8013bcd 100644
--- a/patches.xen/xen3-auto-common.diff
+++ b/patches.xen/xen3-auto-common.diff
@@ -1,4 +1,4 @@
-From http://xenbits.xen.org/linux-2.6.18-xen.hg (tip 1211:b9b0a1e9130e)
+From http://xenbits.xen.org/linux-2.6.18-xen.hg (tip 1213:302f7c9423c9)
Subject: xen3 common
From: xen-devel@lists.xen.org
Patch-mainline: n/a
@@ -22,7 +22,7 @@ take the forward porting patches:
2.6.35/kernel/time.c
3.4/drivers/acpi/acpica/hwsleep.c
---- head.orig/drivers/Makefile 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/Makefile 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/Makefile 2012-10-22 17:22:16.000000000 +0200
@@ -55,6 +55,7 @@ obj-$(CONFIG_PARPORT) += parport/
obj-y += base/ block/ misc/ mfd/ nfc/
@@ -32,7 +32,7 @@ take the forward porting patches:
obj-$(CONFIG_IDE) += ide/
obj-$(CONFIG_SCSI) += scsi/
obj-$(CONFIG_ATA) += ata/
---- head.orig/drivers/acpi/Makefile 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/acpi/Makefile 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/acpi/Makefile 2012-10-22 17:22:12.000000000 +0200
@@ -72,6 +72,9 @@ obj-$(CONFIG_ACPI_BGRT) += bgrt.o
processor-y := processor_driver.o processor_throttling.o
@@ -44,7 +44,7 @@ take the forward porting patches:
obj-$(CONFIG_ACPI_PROCESSOR_AGGREGATOR) += acpi_pad.o
---- head.orig/drivers/acpi/processor_driver.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/acpi/processor_driver.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/acpi/processor_driver.c 2012-10-31 10:43:58.000000000 +0100
@@ -326,7 +326,8 @@ static int acpi_processor_get_info(struc
* they are physically not present.
@@ -523,7 +523,7 @@ take the forward porting patches:
+ kfree(perf);
+ return ret;
+}
---- head.orig/drivers/acpi/processor_idle.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/acpi/processor_idle.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/acpi/processor_idle.c 2012-10-22 17:22:04.000000000 +0200
@@ -448,7 +448,8 @@ static int acpi_processor_get_power_info
*/
@@ -569,7 +569,7 @@ take the forward porting patches:
return 0;
}
---- head.orig/drivers/acpi/processor_perflib.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/acpi/processor_perflib.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/acpi/processor_perflib.c 2012-10-22 17:22:06.000000000 +0200
@@ -75,6 +75,7 @@ MODULE_PARM_DESC(ignore_ppc, "If the fre
@@ -650,7 +650,7 @@ take the forward porting patches:
{
int result = 0;
acpi_status status = AE_OK;
---- head.orig/drivers/acpi/sleep.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/acpi/sleep.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/acpi/sleep.c 2012-08-20 10:16:59.000000000 +0200
@@ -63,6 +63,7 @@ static struct notifier_block tts_notifie
static int acpi_sleep_prepare(u32 acpi_state)
@@ -668,7 +668,7 @@ take the forward porting patches:
ACPI_FLUSH_CPU_CACHE();
#endif
printk(KERN_INFO PREFIX "Preparing to enter system sleep state S%d\n",
---- head.orig/drivers/block/floppy.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/block/floppy.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/block/floppy.c 2012-04-10 15:43:06.000000000 +0200
@@ -146,7 +146,9 @@
@@ -680,7 +680,7 @@ take the forward porting patches:
#define DEBUGT 2
---- head.orig/drivers/char/agp/intel-gtt.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/char/agp/intel-gtt.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/char/agp/intel-gtt.c 2012-10-22 17:21:51.000000000 +0200
@@ -138,8 +138,19 @@ static struct page *i8xx_alloc_pages(voi
if (page == NULL)
@@ -712,7 +712,7 @@ take the forward porting patches:
put_page(page);
__free_pages(page, 2);
atomic_dec(&agp_bridge->current_memory_agp);
---- head.orig/drivers/char/mem.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/char/mem.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/char/mem.c 2012-08-20 10:17:14.000000000 +0200
@@ -89,6 +89,7 @@ void __weak unxlate_dev_mem_ptr(unsigned
{
@@ -772,7 +772,7 @@ take the forward porting patches:
#ifdef CONFIG_DEVKMEM
static const struct file_operations kmem_fops = {
---- head.orig/drivers/char/tpm/Makefile 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/char/tpm/Makefile 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/char/tpm/Makefile 2012-10-22 17:21:06.000000000 +0200
@@ -17,3 +17,5 @@ obj-$(CONFIG_TCG_NSC) += tpm_nsc.o
obj-$(CONFIG_TCG_ATMEL) += tpm_atmel.o
@@ -780,7 +780,7 @@ take the forward porting patches:
obj-$(CONFIG_TCG_IBMVTPM) += tpm_ibmvtpm.o
+obj-$(CONFIG_TCG_XEN) += tpm_xenu.o
+tpm_xenu-y = tpm_xen.o tpm_vtpm.o
---- head.orig/drivers/char/tpm/tpm.h 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/char/tpm/tpm.h 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/char/tpm/tpm.h 2012-10-22 17:20:59.000000000 +0200
@@ -129,6 +129,9 @@ struct tpm_chip {
struct dentry **bios_dir;
@@ -2135,7 +2135,7 @@ take the forward porting patches:
+module_init(tpmif_init);
+
+MODULE_LICENSE("Dual BSD/GPL");
---- head.orig/drivers/tty/tty_io.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/tty/tty_io.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/tty/tty_io.c 2012-10-22 17:20:47.000000000 +0200
@@ -137,6 +137,8 @@ EXPORT_SYMBOL(tty_mutex);
/* Spinlock to protect the tty->tty_files list */
@@ -2167,7 +2167,7 @@ take the forward porting patches:
#endif
return 0;
}
---- head.orig/drivers/edac/edac_mc.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/edac/edac_mc.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/edac/edac_mc.c 2012-12-06 16:04:05.000000000 +0100
@@ -838,6 +838,10 @@ static void edac_mc_scrub_block(unsigned
@@ -2180,7 +2180,7 @@ take the forward porting patches:
/* ECC error page was not in our memory. Ignore it. */
if (!pfn_valid(page))
return;
---- head.orig/drivers/firmware/dell_rbu.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/firmware/dell_rbu.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/firmware/dell_rbu.c 2011-04-13 11:25:29.000000000 +0200
@@ -170,9 +170,28 @@ static int create_packet(void *data, siz
spin_lock(&rbu_data.lock);
@@ -2288,7 +2288,7 @@ take the forward porting patches:
spin_lock_init(&rbu_data.lock);
init_packet_head();
---- head.orig/drivers/ide/ide-lib.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/ide/ide-lib.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/ide/ide-lib.c 2011-11-16 17:01:48.000000000 +0100
@@ -19,12 +19,12 @@ void ide_toggle_bounce(ide_drive_t *driv
{
@@ -2307,7 +2307,7 @@ take the forward porting patches:
addr = *dev->dma_mask;
}
---- head.orig/drivers/oprofile/buffer_sync.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/oprofile/buffer_sync.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/oprofile/buffer_sync.c 2012-10-22 17:20:27.000000000 +0200
@@ -8,6 +8,10 @@
* @author Barry Kasindorf
@@ -2502,7 +2502,7 @@ take the forward porting patches:
mark_done(cpu);
mutex_unlock(&buffer_mutex);
---- head.orig/drivers/oprofile/cpu_buffer.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/oprofile/cpu_buffer.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/oprofile/cpu_buffer.c 2011-04-13 12:22:07.000000000 +0200
@@ -8,6 +8,10 @@
* @author Barry Kasindorf <barry.kasindorf@amd.com>
@@ -2625,7 +2625,7 @@ take the forward porting patches:
/*
* This serves to avoid cpu buffer overflow, and makes sure
* the task mortuary progresses
---- head.orig/drivers/oprofile/cpu_buffer.h 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/oprofile/cpu_buffer.h 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/oprofile/cpu_buffer.h 2011-04-13 11:25:29.000000000 +0200
@@ -41,7 +41,7 @@ struct op_entry;
struct oprofile_cpu_buffer {
@@ -2661,7 +2661,7 @@ take the forward porting patches:
+#define DOMAIN_SWITCH (1UL << 5)
#endif /* OPROFILE_CPU_BUFFER_H */
---- head.orig/drivers/oprofile/event_buffer.h 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/oprofile/event_buffer.h 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/oprofile/event_buffer.h 2011-04-13 11:25:29.000000000 +0200
@@ -30,6 +30,9 @@ void wake_up_buffer_waiter(void);
#define INVALID_COOKIE ~0UL
@@ -2673,7 +2673,7 @@ take the forward porting patches:
extern const struct file_operations event_buffer_fops;
/* mutex between sync_cpu_buffers() and the
---- head.orig/drivers/oprofile/oprof.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/oprofile/oprof.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/oprofile/oprof.c 2011-01-31 17:01:49.000000000 +0100
@@ -5,6 +5,10 @@
* @remark Read the file COPYING
@@ -2721,7 +2721,7 @@ take the forward porting patches:
int oprofile_setup(void)
{
int err;
---- head.orig/drivers/oprofile/oprof.h 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/oprofile/oprof.h 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/oprofile/oprof.h 2012-02-08 10:51:51.000000000 +0100
@@ -48,4 +48,7 @@ static inline int op_nmi_timer_init(stru
int oprofile_set_ulong(unsigned long *addr, unsigned long val);
@@ -2731,7 +2731,7 @@ take the forward porting patches:
+int oprofile_set_passive(int passive_domains[], unsigned int pdomains);
+
#endif /* OPROF_H */
---- head.orig/drivers/oprofile/oprofile_files.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/oprofile/oprofile_files.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/oprofile/oprofile_files.c 2012-02-16 11:09:01.000000000 +0100
@@ -5,11 +5,17 @@
* @remark Read the file COPYING
@@ -2901,7 +2901,7 @@ take the forward porting patches:
oprofilefs_create_file(sb, root, "buffer", &event_buffer_fops);
oprofilefs_create_ulong(sb, root, "buffer_size", &oprofile_buffer_size);
oprofilefs_create_ulong(sb, root, "buffer_watershed", &oprofile_buffer_watershed);
---- head.orig/fs/aio.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/fs/aio.c 2012-12-18 11:38:26.000000000 +0100
+++ head/fs/aio.c 2012-08-20 10:17:31.000000000 +0200
@@ -39,6 +39,11 @@
#include <asm/kmap_types.h>
@@ -3088,7 +3088,7 @@ take the forward porting patches:
io_destroy(ioctx);
put_ioctx(ioctx);
}
---- head.orig/fs/compat_ioctl.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/fs/compat_ioctl.c 2012-12-18 11:38:26.000000000 +0100
+++ head/fs/compat_ioctl.c 2012-10-31 10:43:47.000000000 +0100
@@ -116,6 +116,13 @@
#include <asm/fbio.h>
@@ -3124,7 +3124,7 @@ take the forward porting patches:
};
/*
---- head.orig/include/acpi/processor.h 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/include/acpi/processor.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/acpi/processor.h 2012-10-22 17:19:29.000000000 +0200
@@ -41,6 +41,17 @@
@@ -3296,7 +3296,7 @@ take the forward porting patches:
+#endif /* CONFIG_XEN */
+
#endif
---- head.orig/include/linux/aio.h 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/include/linux/aio.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/linux/aio.h 2012-08-20 10:17:46.000000000 +0200
@@ -203,6 +203,12 @@ struct kioctx {
@@ -3311,7 +3311,7 @@ take the forward porting patches:
struct rcu_head rcu_head;
};
---- head.orig/include/linux/highmem.h 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/include/linux/highmem.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/linux/highmem.h 2012-08-20 10:17:53.000000000 +0200
@@ -182,12 +182,14 @@ alloc_zeroed_user_highpage_movable(struc
return __alloc_zeroed_user_highpage(__GFP_MOVABLE, vma, vaddr);
@@ -3344,7 +3344,7 @@ take the forward porting patches:
+#endif
+
#endif /* _LINUX_HIGHMEM_H */
---- head.orig/include/linux/interrupt.h 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/include/linux/interrupt.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/linux/interrupt.h 2012-08-20 10:17:58.000000000 +0200
@@ -386,6 +386,11 @@ static inline int disable_irq_wake(unsig
}
@@ -3358,7 +3358,7 @@ take the forward porting patches:
#ifdef CONFIG_IRQ_FORCED_THREADING
extern bool force_irqthreads;
---- head.orig/include/linux/kexec.h 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/include/linux/kexec.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/linux/kexec.h 2012-10-22 17:19:14.000000000 +0200
@@ -57,6 +57,13 @@
KEXEC_CORE_NOTE_DESC_BYTES )
@@ -3387,7 +3387,7 @@ take the forward porting patches:
extern asmlinkage long sys_kexec_load(unsigned long entry,
unsigned long nr_segments,
struct kexec_segment __user *segments,
---- head.orig/include/linux/mm.h 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/include/linux/mm.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/linux/mm.h 2012-10-22 17:19:04.000000000 +0200
@@ -104,8 +104,14 @@ extern unsigned int kobjsize(const void
#define VM_DONTDUMP 0x04000000 /* Do not include in the core dump */
@@ -3433,7 +3433,7 @@ take the forward porting patches:
#ifdef CONFIG_NUMA
/*
* set_policy() op must add a reference to any non-NULL @new mempolicy
---- head.orig/include/linux/oprofile.h 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/include/linux/oprofile.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/linux/oprofile.h 2011-09-07 15:19:35.000000000 +0200
@@ -19,6 +19,9 @@
#include <linux/errno.h>
@@ -3488,7 +3488,7 @@ take the forward porting patches:
/**
* Create a file of the given name as a child of the given root, with
---- head.orig/include/linux/page-flags.h 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/include/linux/page-flags.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/linux/page-flags.h 2012-08-20 10:18:05.000000000 +0200
@@ -109,6 +109,11 @@ enum pageflags {
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
@@ -3567,7 +3567,7 @@ take the forward porting patches:
#endif
#ifdef CONFIG_PCIEPORTBUS
---- head.orig/include/linux/vermagic.h 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/include/linux/vermagic.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/linux/vermagic.h 2011-11-16 17:02:46.000000000 +0100
@@ -21,6 +21,11 @@
#else
@@ -3588,7 +3588,7 @@ take the forward porting patches:
- MODULE_ARCH_VERMAGIC
+ MODULE_VERMAGIC_XEN MODULE_ARCH_VERMAGIC
---- head.orig/kernel/irq/spurious.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/kernel/irq/spurious.c 2012-12-18 11:38:26.000000000 +0100
+++ head/kernel/irq/spurious.c 2011-12-21 10:08:43.000000000 +0100
@@ -290,7 +290,7 @@ void note_interrupt(unsigned int irq, st
*/
@@ -3599,7 +3599,7 @@ take the forward porting patches:
desc->irqs_unhandled++;
desc->last_unhandled = jiffies;
}
---- head.orig/kernel/kexec.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/kernel/kexec.c 2012-12-18 11:38:26.000000000 +0100
+++ head/kernel/kexec.c 2012-10-22 17:19:41.000000000 +0200
@@ -354,13 +354,26 @@ static int kimage_is_destination_range(s
return 0;
@@ -3801,7 +3801,7 @@ take the forward porting patches:
/* Install the new kernel, and Uninstall the old */
image = xchg(dest_image, image);
---- head.orig/kernel/sysctl.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/kernel/sysctl.c 2012-12-18 11:38:26.000000000 +0100
+++ head/kernel/sysctl.c 2012-10-22 17:19:44.000000000 +0200
@@ -877,7 +877,7 @@ static struct ctl_table kern_table[] = {
.proc_handler = proc_dointvec,
@@ -3812,7 +3812,7 @@ take the forward porting patches:
{
.procname = "acpi_video_flags",
.data = &acpi_realmode_flags,
---- head.orig/mm/memory.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/mm/memory.c 2012-12-18 11:38:26.000000000 +0100
+++ head/mm/memory.c 2012-10-22 17:19:52.000000000 +0200
@@ -783,6 +783,12 @@ struct page *vm_normal_page(struct vm_ar
{
@@ -3891,9 +3891,9 @@ take the forward porting patches:
if (!vma ||
(vma->vm_flags & (VM_IO | VM_PFNMAP)) ||
!(vm_flags & vma->vm_flags))
---- head.orig/mm/mmap.c 2012-12-06 15:58:43.000000000 +0100
-+++ head/mm/mmap.c 2012-12-06 16:04:11.000000000 +0100
-@@ -1944,6 +1944,14 @@ static void unmap_region(struct mm_struc
+--- head.orig/mm/mmap.c 2012-12-18 11:38:26.000000000 +0100
++++ head/mm/mmap.c 2012-12-18 11:40:21.000000000 +0100
+@@ -1959,6 +1959,14 @@ static void unmap_region(struct mm_struc
tlb_finish_mmu(&tlb, start, end);
}
@@ -3908,7 +3908,7 @@ take the forward porting patches:
/*
* Create a list of vma's touched by the unmap, removing them from the mm's
* vma list as we go..
-@@ -1960,6 +1968,7 @@ detach_vmas_to_be_unmapped(struct mm_str
+@@ -1975,6 +1983,7 @@ detach_vmas_to_be_unmapped(struct mm_str
vma->vm_prev = NULL;
do {
rb_erase(&vma->vm_rb, &mm->mm_rb);
@@ -3916,7 +3916,7 @@ take the forward porting patches:
mm->map_count--;
tail_vma = vma;
vma = vma->vm_next;
-@@ -2304,6 +2313,11 @@ void exit_mmap(struct mm_struct *mm)
+@@ -2319,6 +2328,11 @@ void exit_mmap(struct mm_struct *mm)
arch_exit_mmap(mm);
@@ -3928,7 +3928,7 @@ take the forward porting patches:
vma = mm->mmap;
if (!vma) /* Can happen if dup_mmap() received an OOM */
return;
---- head.orig/mm/mprotect.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/mm/mprotect.c 2012-12-18 11:38:26.000000000 +0100
+++ head/mm/mprotect.c 2011-06-30 15:38:52.000000000 +0200
@@ -97,6 +97,8 @@ static inline void change_pmd_range(stru
}
@@ -3939,7 +3939,7 @@ take the forward porting patches:
change_pte_range(vma->vm_mm, pmd, addr, next, newprot,
dirty_accountable);
} while (pmd++, addr = next, addr != end);
---- head.orig/mm/page_alloc.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/mm/page_alloc.c 2012-12-18 11:38:26.000000000 +0100
+++ head/mm/page_alloc.c 2012-10-22 17:20:00.000000000 +0200
@@ -693,6 +693,13 @@ static bool free_pages_prepare(struct pa
int i;
@@ -3955,7 +3955,7 @@ take the forward porting patches:
trace_mm_page_free(page, order);
kmemcheck_free_shadow(page, order);
---- head.orig/scripts/Makefile.build 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/scripts/Makefile.build 2012-12-18 11:38:26.000000000 +0100
+++ head/scripts/Makefile.build 2011-06-30 15:39:08.000000000 +0200
@@ -128,6 +128,21 @@ ifndef obj
$(warning kbuild: Makefile.build is included improperly)
@@ -3979,7 +3979,7 @@ take the forward porting patches:
# ===========================================================================
ifneq ($(strip $(lib-y) $(lib-m) $(lib-n) $(lib-)),)
---- head.orig/scripts/Makefile.lib 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/scripts/Makefile.lib 2012-12-18 11:38:26.000000000 +0100
+++ head/scripts/Makefile.lib 2012-04-10 15:40:06.000000000 +0200
@@ -22,6 +22,12 @@ obj-m := $(filter-out $(obj-y),$(obj-m))
diff --git a/patches.xen/xen3-auto-include-xen-interface.diff b/patches.xen/xen3-auto-include-xen-interface.diff
index 973c314e71..7938d9c692 100644
--- a/patches.xen/xen3-auto-include-xen-interface.diff
+++ b/patches.xen/xen3-auto-include-xen-interface.diff
@@ -1,4 +1,4 @@
-From http://xenbits.xen.org/linux-2.6.18-xen.hg (tip 1211:b9b0a1e9130e)
+From http://xenbits.xen.org/linux-2.6.18-xen.hg (tip 1213:302f7c9423c9)
Subject: xen3 include-xen-interface
From: xen-devel@lists.xen.org
Patch-mainline: n/a
@@ -1539,8 +1539,8 @@ Acked-by: jbeulich@suse.com
+ * End:
+ */
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head/include/xen/interface/arch-x86/xen.h 2012-10-04 11:18:40.000000000 +0200
-@@ -0,0 +1,237 @@
++++ head/include/xen/interface/arch-x86/xen.h 2012-12-18 10:47:37.000000000 +0100
+@@ -0,0 +1,260 @@
+/******************************************************************************
+ * arch-x86/xen.h
+ *
@@ -1581,12 +1581,21 @@ Acked-by: jbeulich@suse.com
+ typedef type * __guest_handle_ ## name
+#endif
+
++/*
++ * XEN_GUEST_HANDLE represents a guest pointer, when passed as a field
++ * in a struct in memory.
++ * XEN_GUEST_HANDLE_PARAM represent a guest pointer, when passed as an
++ * hypercall argument.
++ * XEN_GUEST_HANDLE_PARAM and XEN_GUEST_HANDLE are the same on X86 but
++ * they might not be on other architectures.
++ */
+#define __DEFINE_XEN_GUEST_HANDLE(name, type) \
+ ___DEFINE_XEN_GUEST_HANDLE(name, type); \
+ ___DEFINE_XEN_GUEST_HANDLE(const_##name, const type)
+#define DEFINE_XEN_GUEST_HANDLE(name) __DEFINE_XEN_GUEST_HANDLE(name, name)
+#define __XEN_GUEST_HANDLE(name) __guest_handle_ ## name
+#define XEN_GUEST_HANDLE(name) __XEN_GUEST_HANDLE(name)
++#define XEN_GUEST_HANDLE_PARAM(name) XEN_GUEST_HANDLE(name)
+#define set_xen_guest_handle_raw(hnd, val) do { (hnd).p = val; } while (0)
+#ifdef __XEN_TOOLS__
+#define get_xen_guest_handle(val, hnd) do { val = (hnd).p; } while (0)
@@ -1605,7 +1614,7 @@ Acked-by: jbeulich@suse.com
+#endif
+
+/*
-+ * SEGMENT DESCRIPTOR TABLES
++ * `incontents 200 segdesc Segment Descriptor Tables
+ */
+/*
+ * ` enum neg_errnoval
@@ -1617,17 +1626,31 @@ Acked-by: jbeulich@suse.com
+ * start of the GDT because some stupid OSes export hard-coded selector values
+ * in their ABI. These hard-coded values are always near the start of the GDT,
+ * so Xen places itself out of the way, at the far end of the GDT.
++ *
++ * NB The LDT is set using the MMUEXT_SET_LDT op of HYPERVISOR_mmuext_op
+ */
+#define FIRST_RESERVED_GDT_PAGE 14
+#define FIRST_RESERVED_GDT_BYTE (FIRST_RESERVED_GDT_PAGE * 4096)
+#define FIRST_RESERVED_GDT_ENTRY (FIRST_RESERVED_GDT_BYTE / 8)
+
++
++/*
++ * ` enum neg_errnoval
++ * ` HYPERVISOR_update_descriptor(u64 pa, u64 desc);
++ * `
++ * ` @pa The machine physical address of the descriptor to
++ * ` update. Must be either a descriptor page or writable.
++ * ` @desc The descriptor value to update, in the same format as a
++ * ` native descriptor table entry.
++ */
++
+/* Maximum number of virtual CPUs in legacy multi-processor guests. */
+#define XEN_LEGACY_MAX_VCPUS 32
+
+#ifndef __ASSEMBLY__
+
+typedef unsigned long xen_ulong_t;
++#define PRI_xen_ulong "lx"
+
+/*
+ * ` enum neg_errnoval
@@ -1978,8 +2001,8 @@ Acked-by: jbeulich@suse.com
+ * End:
+ */
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head/include/xen/interface/domctl.h 2012-10-04 11:18:40.000000000 +0200
-@@ -0,0 +1,999 @@
++++ head/include/xen/interface/domctl.h 2012-12-18 10:47:37.000000000 +0100
+@@ -0,0 +1,1007 @@
+/******************************************************************************
+ * domctl.h
+ *
@@ -2118,7 +2141,7 @@ Acked-by: jbeulich@suse.com
+#define XEN_DOMCTL_PFINFO_LPINTAB (0x1U<<31)
+#define XEN_DOMCTL_PFINFO_XTAB (0xfU<<28) /* invalid page */
+#define XEN_DOMCTL_PFINFO_XALLOC (0xeU<<28) /* allocate-only page */
-+#define XEN_DOMCTL_PFINFO_PAGEDTAB (0x8U<<28)
++#define XEN_DOMCTL_PFINFO_BROKEN (0xdU<<28) /* broken page */
+#define XEN_DOMCTL_PFINFO_LTAB_MASK (0xfU<<28)
+
+struct xen_domctl_getpageframeinfo {
@@ -2839,6 +2862,12 @@ Acked-by: jbeulich@suse.com
+typedef struct xen_domctl_set_access_required xen_domctl_set_access_required_t;
+DEFINE_XEN_GUEST_HANDLE(xen_domctl_set_access_required_t);
+
++struct xen_domctl_set_broken_page_p2m {
++ uint64_aligned_t pfn;
++};
++typedef struct xen_domctl_set_broken_page_p2m xen_domctl_set_broken_page_p2m_t;
++DEFINE_XEN_GUEST_HANDLE(xen_domctl_set_broken_page_p2m_t);
++
+struct xen_domctl {
+ uint32_t cmd;
+#define XEN_DOMCTL_createdomain 1
@@ -2904,6 +2933,7 @@ Acked-by: jbeulich@suse.com
+#define XEN_DOMCTL_set_access_required 64
+#define XEN_DOMCTL_audit_p2m 65
+#define XEN_DOMCTL_set_virq_handler 66
++#define XEN_DOMCTL_set_broken_page_p2m 67
+#define XEN_DOMCTL_gdbsx_guestmemio 1000
+#define XEN_DOMCTL_gdbsx_pausevcpu 1001
+#define XEN_DOMCTL_gdbsx_unpausevcpu 1002
@@ -2960,6 +2990,7 @@ Acked-by: jbeulich@suse.com
+ struct xen_domctl_audit_p2m audit_p2m;
+ struct xen_domctl_set_virq_handler set_virq_handler;
+ struct xen_domctl_gdbsx_memio gdbsx_guest_memio;
++ struct xen_domctl_set_broken_page_p2m set_broken_page_p2m;
+ struct xen_domctl_gdbsx_pauseunp_vcpu gdbsx_pauseunp_vcpu;
+ struct xen_domctl_gdbsx_domstatus gdbsx_domstatus;
+ uint8_t pad[128];
@@ -3930,8 +3961,8 @@ Acked-by: jbeulich@suse.com
+
+#endif /* __XEN_PUBLIC_IO_USBIF_H__ */
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head/include/xen/interface/io/vscsiif.h 2008-07-21 11:00:33.000000000 +0200
-@@ -0,0 +1,105 @@
++++ head/include/xen/interface/io/vscsiif.h 2012-12-18 10:47:37.000000000 +0100
+@@ -0,0 +1,117 @@
+/******************************************************************************
+ * vscsiif.h
+ *
@@ -3964,29 +3995,33 @@ Acked-by: jbeulich@suse.com
+#include "ring.h"
+#include "../grant_table.h"
+
-+/* command between backend and frontend */
++/* commands between backend and frontend */
+#define VSCSIIF_ACT_SCSI_CDB 1 /* SCSI CDB command */
+#define VSCSIIF_ACT_SCSI_ABORT 2 /* SCSI Device(Lun) Abort*/
+#define VSCSIIF_ACT_SCSI_RESET 3 /* SCSI Device(Lun) Reset*/
-+
-+
-+#define VSCSIIF_BACK_MAX_PENDING_REQS 128
++#define VSCSIIF_ACT_SCSI_SG_PRESET 4 /* Preset SG elements */
+
+/*
+ * Maximum scatter/gather segments per request.
+ *
-+ * Considering balance between allocating al least 16 "vscsiif_request"
-+ * structures on one page (4096bytes) and number of scatter gather
-+ * needed, we decided to use 26 as a magic number.
++ * Considering balance between allocating at least 16 "vscsiif_request"
++ * structures on one page (4096 bytes) and the number of scatter/gather
++ * elements needed, we decided to use 26 as a magic number.
+ */
+#define VSCSIIF_SG_TABLESIZE 26
+
+/*
-+ * base on linux kernel 2.6.18
++ * based on Linux kernel 2.6.18
+ */
+#define VSCSIIF_MAX_COMMAND_SIZE 16
+#define VSCSIIF_SENSE_BUFFERSIZE 96
+
++struct scsiif_request_segment {
++ grant_ref_t gref;
++ uint16_t offset;
++ uint16_t length;
++};
++typedef struct scsiif_request_segment vscsiif_segment_t;
+
+struct vscsiif_request {
+ uint16_t rqid; /* private guest value, echoed in resp */
@@ -4003,18 +4038,26 @@ Acked-by: jbeulich@suse.com
+ DMA_NONE(3) requests */
+ uint8_t nr_segments; /* Number of pieces of scatter-gather */
+
-+ struct scsiif_request_segment {
-+ grant_ref_t gref;
-+ uint16_t offset;
-+ uint16_t length;
-+ } seg[VSCSIIF_SG_TABLESIZE];
++ vscsiif_segment_t seg[VSCSIIF_SG_TABLESIZE];
+ uint32_t reserved[3];
+};
+typedef struct vscsiif_request vscsiif_request_t;
+
++#define VSCSIIF_SG_LIST_SIZE ((sizeof(vscsiif_request_t) - 4) \
++ / sizeof(vscsiif_segment_t))
++
++struct vscsiif_sg_list {
++ /* First two fields must match struct vscsiif_request! */
++ uint16_t rqid; /* private guest value, must match main req */
++ uint8_t act; /* VSCSIIF_ACT_SCSI_SG_PRESET */
++ uint8_t nr_segments; /* Number of pieces of scatter-gather */
++ vscsiif_segment_t seg[VSCSIIF_SG_LIST_SIZE];
++};
++typedef struct vscsiif_sg_list vscsiif_sg_list_t;
++
+struct vscsiif_response {
+ uint16_t rqid;
-+ uint8_t padding;
++ uint8_t act; /* valid only when backend supports SG_PRESET */
+ uint8_t sense_len;
+ uint8_t sense_buffer[VSCSIIF_SENSE_BUFFERSIZE];
+ int32_t rslt;
@@ -5471,7 +5514,7 @@ Acked-by: jbeulich@suse.com
+ * End:
+ */
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head/include/xen/interface/xen-compat.h 2012-02-16 11:09:01.000000000 +0100
++++ head/include/xen/interface/xen-compat.h 2012-12-18 10:47:37.000000000 +0100
@@ -0,0 +1,44 @@
+/******************************************************************************
+ * xen-compat.h
@@ -5502,7 +5545,7 @@ Acked-by: jbeulich@suse.com
+#ifndef __XEN_PUBLIC_XEN_COMPAT_H__
+#define __XEN_PUBLIC_XEN_COMPAT_H__
+
-+#define __XEN_LATEST_INTERFACE_VERSION__ 0x00040200
++#define __XEN_LATEST_INTERFACE_VERSION__ 0x00040300
+
+#if defined(__XEN__) || defined(__XEN_TOOLS__)
+/* Xen is built with matching headers and implements the latest interface. */
diff --git a/patches.xen/xen3-auto-xen-arch.diff b/patches.xen/xen3-auto-xen-arch.diff
index 8d00637ff2..f33173bce2 100644
--- a/patches.xen/xen3-auto-xen-arch.diff
+++ b/patches.xen/xen3-auto-xen-arch.diff
@@ -1,4 +1,4 @@
-From http://xenbits.xen.org/linux-2.6.18-xen.hg (tip 1211:b9b0a1e9130e)
+From http://xenbits.xen.org/linux-2.6.18-xen.hg (tip 1213:302f7c9423c9)
Subject: xen3 xen-arch
From: xen-devel@lists.xen.org
Patch-mainline: n/a
diff --git a/patches.xen/xen3-auto-xen-drivers.diff b/patches.xen/xen3-auto-xen-drivers.diff
index 915be33056..98cf74b63c 100644
--- a/patches.xen/xen3-auto-xen-drivers.diff
+++ b/patches.xen/xen3-auto-xen-drivers.diff
@@ -1,4 +1,4 @@
-From http://xenbits.xen.org/linux-2.6.18-xen.hg (tip 1211:b9b0a1e9130e)
+From http://xenbits.xen.org/linux-2.6.18-xen.hg (tip 1213:302f7c9423c9)
Subject: xen3 xen-drivers
From: xen-devel@lists.xen.org
Patch-mainline: n/a
@@ -2296,8 +2296,8 @@ and in case upstream wants to take the forward porting patches:
+ xenbus_transaction_end(xbt, 1);
+}
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head/drivers/xen/blkback/xenbus.c 2012-04-04 08:57:09.000000000 +0200
-@@ -0,0 +1,549 @@
++++ head/drivers/xen/blkback/xenbus.c 2012-12-18 10:47:37.000000000 +0100
+@@ -0,0 +1,550 @@
+/* Xenbus code for blkif backend
+ Copyright (C) 2005 Rusty Russell <rusty@rustcorp.com.au>
+ Copyright (C) 2005 XenSource Ltd
@@ -2498,6 +2498,7 @@ and in case upstream wants to take the forward porting patches:
+ be->blkif = NULL;
+ }
+
++ kfree(be->mode);
+ kfree(be);
+ dev->dev.driver_data = NULL;
+ write_unlock(&sysfs_read_lock);
@@ -2578,6 +2579,7 @@ and in case upstream wants to take the forward porting patches:
+ = container_of(watch, struct backend_info, backend_watch);
+ struct xenbus_device *dev = be->dev;
+ int cdrom = 0;
++ unsigned long handle;
+ char *device_type;
+
+ DPRINTK("");
@@ -2595,12 +2597,12 @@ and in case upstream wants to take the forward porting patches:
+ return;
+ }
+
-+ if ((be->major || be->minor) &&
-+ ((be->major != major) || (be->minor != minor))) {
-+ printk(KERN_WARNING
-+ "blkback: changing physical device (from %x:%x to "
-+ "%x:%x) not supported.\n", be->major, be->minor,
-+ major, minor);
++ if (be->major | be->minor) {
++ if (be->major != major || be->minor != minor)
++ printk(KERN_WARNING "blkback: "
++ "changing physical device (from %x:%x to "
++ "%x:%x) not supported.\n",
++ be->major, be->minor, major, minor);
+ return;
+ }
+
@@ -2618,31 +2620,30 @@ and in case upstream wants to take the forward porting patches:
+ kfree(device_type);
+ }
+
-+ if (be->major == 0 && be->minor == 0) {
-+ /* Front end dir is a number, which is used as the handle. */
++ /* Front end dir is a number, which is used as the handle. */
++ handle = simple_strtoul(strrchr(dev->otherend, '/') + 1, NULL, 0);
+
-+ char *p = strrchr(dev->otherend, '/') + 1;
-+ long handle = simple_strtoul(p, NULL, 0);
++ be->major = major;
++ be->minor = minor;
+
-+ be->major = major;
-+ be->minor = minor;
-+
-+ err = vbd_create(be->blkif, handle, major, minor,
-+ (NULL == strchr(be->mode, 'w')), cdrom);
-+ if (err) {
-+ be->major = be->minor = 0;
-+ xenbus_dev_fatal(dev, err, "creating vbd structure");
-+ return;
-+ }
++ err = vbd_create(be->blkif, handle, major, minor,
++ (NULL == strchr(be->mode, 'w')), cdrom);
+
++ if (err)
++ xenbus_dev_fatal(dev, err, "creating vbd structure");
++ else {
+ err = xenvbd_sysfs_addif(dev);
+ if (err) {
+ vbd_free(&be->blkif->vbd);
-+ be->major = be->minor = 0;
+ xenbus_dev_fatal(dev, err, "creating sysfs entries");
-+ return;
+ }
++ }
+
++ if (err) {
++ kfree(be->mode);
++ be->mode = NULL;
++ be->major = be->minor = 0;
++ } else {
+ /* We're potentially connected now */
+ update_blkif_status(be->blkif);
+ }
@@ -27436,7 +27437,7 @@ and in case upstream wants to take the forward porting patches:
+ kmem_cache_destroy(scsiback_cachep);
+}
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ head/drivers/xen/scsiback/scsiback.c 2012-12-06 15:59:02.000000000 +0100
++++ head/drivers/xen/scsiback/scsiback.c 2012-12-18 10:47:37.000000000 +0100
@@ -0,0 +1,751 @@
+/*
+ * Xen SCSI backend driver
@@ -27492,8 +27493,8 @@ and in case upstream wants to take the forward porting patches:
+DEFINE_SPINLOCK(pending_free_lock);
+DECLARE_WAIT_QUEUE_HEAD(pending_free_wq);
+
-+int vscsiif_reqs = VSCSIIF_BACK_MAX_PENDING_REQS;
-+module_param_named(reqs, vscsiif_reqs, int, 0);
++static unsigned int vscsiif_reqs = 128;
++module_param_named(reqs, vscsiif_reqs, uint, 0);
+MODULE_PARM_DESC(reqs, "Number of scsiback requests to allocate");
+
+static unsigned int log_print_stat = 0;
diff --git a/patches.xen/xen3-auto-xen-kconfig.diff b/patches.xen/xen3-auto-xen-kconfig.diff
index 50124aaa4c..01ef5f7f32 100644
--- a/patches.xen/xen3-auto-xen-kconfig.diff
+++ b/patches.xen/xen3-auto-xen-kconfig.diff
@@ -1,4 +1,4 @@
-From http://xenbits.xen.org/linux-2.6.18-xen.hg (tip 1211:b9b0a1e9130e)
+From http://xenbits.xen.org/linux-2.6.18-xen.hg (tip 1213:302f7c9423c9)
Subject: xen3 xen-kconfig
From: xen-devel@lists.xen.org
Patch-mainline: n/a
diff --git a/patches.xen/xen3-fixup-xen b/patches.xen/xen3-fixup-xen
index c34b3d629d..e626680f98 100644
--- a/patches.xen/xen3-fixup-xen
+++ b/patches.xen/xen3-fixup-xen
@@ -1,11 +1,11 @@
-From http://xenbits.xen.org/linux-2.6.18-xen.hg (tip 1211:b9b0a1e9130e)
+From http://xenbits.xen.org/linux-2.6.18-xen.hg (tip 1213:302f7c9423c9)
Subject: Fix Xen build wrt. Xen files coming from mainline.
From: xen-devel@lists.xen.org
Patch-mainline: n/a
Acked-by: jbeulich@suse.com
---- head.orig/drivers/xen/Makefile 2012-11-14 12:32:30.000000000 +0100
+--- head.orig/drivers/xen/Makefile 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/xen/Makefile 2011-01-31 15:14:12.000000000 +0100
@@ -1,36 +1,28 @@
-ifneq ($(CONFIG_ARM),y)
@@ -70,7 +70,7 @@ Acked-by: jbeulich@suse.com
+obj-$(CONFIG_XEN_NETDEV_ACCEL_SFC_UTIL) += sfc_netutil/
+obj-$(CONFIG_XEN_NETDEV_ACCEL_SFC_FRONTEND) += sfc_netfront/
+obj-$(CONFIG_XEN_NETDEV_ACCEL_SFC_BACKEND) += sfc_netback/
---- head.orig/drivers/xen/xenbus/Makefile 2012-03-19 00:15:34.000000000 +0100
+--- head.orig/drivers/xen/xenbus/Makefile 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/xen/xenbus/Makefile 2011-02-02 17:06:11.000000000 +0100
@@ -1,14 +1,9 @@
-obj-y += xenbus.o
@@ -94,7 +94,7 @@ Acked-by: jbeulich@suse.com
+xenbus-$(CONFIG_XEN_BACKEND) += xenbus_probe_backend.o
+obj-y += $(xenbus-y) $(xenbus-m)
+obj-$(CONFIG_XEN_XENBUS_DEV) += xenbus_dev.o
---- head.orig/drivers/xen/xenbus/xenbus_client.c 2012-10-22 15:53:15.000000000 +0200
+--- head.orig/drivers/xen/xenbus/xenbus_client.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/xen/xenbus/xenbus_client.c 2011-11-28 09:44:25.000000000 +0100
@@ -31,40 +31,17 @@
*/
@@ -786,7 +786,7 @@ Acked-by: jbeulich@suse.com
- else
- ring_ops = &ring_ops_hvm;
-}
---- head.orig/drivers/xen/xenbus/xenbus_comms.c 2012-10-22 15:53:15.000000000 +0200
+--- head.orig/drivers/xen/xenbus/xenbus_comms.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/xen/xenbus/xenbus_comms.c 2011-04-11 13:43:15.000000000 +0200
@@ -34,25 +34,55 @@
#include <linux/interrupt.h>
@@ -918,7 +918,7 @@ Acked-by: jbeulich@suse.com
- xenbus_irq = 0;
+ return 0;
}
---- head.orig/drivers/xen/xenbus/xenbus_comms.h 2012-07-21 22:58:29.000000000 +0200
+--- head.orig/drivers/xen/xenbus/xenbus_comms.h 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/xen/xenbus/xenbus_comms.h 2011-04-11 13:43:15.000000000 +0200
@@ -31,11 +31,8 @@
#ifndef _XENBUS_COMMS_H
@@ -961,7 +961,7 @@ Acked-by: jbeulich@suse.com
+#endif
#endif /* _XENBUS_COMMS_H */
---- head.orig/drivers/xen/xenbus/xenbus_probe.c 2012-10-22 15:53:15.000000000 +0200
+--- head.orig/drivers/xen/xenbus/xenbus_probe.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/xen/xenbus/xenbus_probe.c 2012-03-12 12:51:05.000000000 +0100
@@ -4,6 +4,7 @@
* Copyright (C) 2005 Rusty Russell, IBM Corporation
@@ -2315,7 +2315,7 @@ Acked-by: jbeulich@suse.com
+ return bus_for_each_dev(&xenbus_frontend.bus, NULL, arg, fn);
+}
+EXPORT_SYMBOL_GPL(xenbus_for_each_frontend);
---- head.orig/drivers/xen/xenbus/xenbus_probe.h 2012-03-19 00:15:34.000000000 +0100
+--- head.orig/drivers/xen/xenbus/xenbus_probe.h 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/xen/xenbus/xenbus_probe.h 2011-09-07 15:18:14.000000000 +0200
@@ -34,21 +34,36 @@
#ifndef _XENBUS_PROBE_H
@@ -2383,7 +2383,7 @@ Acked-by: jbeulich@suse.com
+extern void dev_changed(const char *node, struct xen_bus_type *bus);
#endif
---- head.orig/drivers/xen/xenbus/xenbus_probe_backend.c 2012-03-19 00:15:34.000000000 +0100
+--- head.orig/drivers/xen/xenbus/xenbus_probe_backend.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/xen/xenbus/xenbus_probe_backend.c 2011-09-07 15:18:19.000000000 +0200
@@ -33,7 +33,7 @@
@@ -2694,7 +2694,7 @@ Acked-by: jbeulich@suse.com
}
-subsys_initcall(xenbus_probe_backend_init);
+EXPORT_SYMBOL_GPL(xenbus_for_each_backend);
---- head.orig/drivers/xen/xenbus/xenbus_xs.c 2012-10-31 10:18:34.000000000 +0100
+--- head.orig/drivers/xen/xenbus/xenbus_xs.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/xen/xenbus/xenbus_xs.c 2012-10-31 10:58:23.000000000 +0100
@@ -44,11 +44,16 @@
#include <linux/rwsem.h>
@@ -2991,7 +2991,7 @@ Acked-by: jbeulich@suse.com
task = kthread_run(xenwatch_thread, NULL, "xenwatch");
if (IS_ERR(task))
return PTR_ERR(task);
---- head.orig/include/xen/balloon.h 2012-03-19 00:15:34.000000000 +0100
+--- head.orig/include/xen/balloon.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/xen/balloon.h 2007-06-12 13:14:19.000000000 +0200
@@ -1,40 +1,57 @@
/******************************************************************************
@@ -3087,7 +3087,7 @@ Acked-by: jbeulich@suse.com
+#define balloon_unlock(__flags) spin_unlock_irqrestore(&balloon_lock, __flags)
+
+#endif /* __ASM_BALLOON_H__ */
---- head.orig/include/xen/hvm.h 2012-11-14 12:32:30.000000000 +0100
+--- head.orig/include/xen/hvm.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/xen/hvm.h 2011-01-31 15:14:12.000000000 +0100
@@ -3,39 +3,8 @@
#define XEN_HVM_H__
@@ -3152,7 +3152,7 @@ Acked-by: jbeulich@suse.com
- HVM_CALLBACK_VIA_TYPE_SHIFT | (x))
-
#endif /* XEN_HVM_H__ */
---- head.orig/include/xen/interface/callback.h 2012-10-22 15:53:38.000000000 +0200
+--- head.orig/include/xen/interface/callback.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/xen/interface/callback.h 2011-01-31 15:14:12.000000000 +0100
@@ -27,7 +27,7 @@
#ifndef __XEN_PUBLIC_CALLBACK_H__
@@ -3185,7 +3185,7 @@ Acked-by: jbeulich@suse.com
+#endif
#endif /* __XEN_PUBLIC_CALLBACK_H__ */
---- head.orig/include/xen/interface/elfnote.h 2011-05-19 06:06:34.000000000 +0200
+--- head.orig/include/xen/interface/elfnote.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/xen/interface/elfnote.h 2011-08-08 12:54:10.000000000 +0200
@@ -3,6 +3,24 @@
*
@@ -3340,7 +3340,7 @@ Acked-by: jbeulich@suse.com
#endif /* __XEN_PUBLIC_ELFNOTE_H__ */
/*
---- head.orig/include/xen/interface/event_channel.h 2009-03-24 00:12:14.000000000 +0100
+--- head.orig/include/xen/interface/event_channel.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/xen/interface/event_channel.h 2012-04-04 08:57:09.000000000 +0200
@@ -3,6 +3,24 @@
*
@@ -3616,7 +3616,7 @@ Acked-by: jbeulich@suse.com
+DEFINE_XEN_GUEST_HANDLE(evtchn_op_t);
#endif /* __XEN_PUBLIC_EVENT_CHANNEL_H__ */
---- head.orig/include/xen/interface/features.h 2012-10-22 15:53:38.000000000 +0200
+--- head.orig/include/xen/interface/features.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/xen/interface/features.h 2011-08-08 12:54:10.000000000 +0200
@@ -3,6 +3,24 @@
*
@@ -3668,8 +3668,8 @@ Acked-by: jbeulich@suse.com
/* operation as Dom0 is supported */
#define XENFEAT_dom0 11
---- head.orig/include/xen/interface/grant_table.h 2012-10-31 10:18:54.000000000 +0100
-+++ head/include/xen/interface/grant_table.h 2012-10-04 11:18:40.000000000 +0200
+--- head.orig/include/xen/interface/grant_table.h 2012-12-18 11:38:26.000000000 +0100
++++ head/include/xen/interface/grant_table.h 2012-12-18 10:47:37.000000000 +0100
@@ -30,14 +30,38 @@
#include <xen/interface/xen.h>
@@ -3877,7 +3877,7 @@ Acked-by: jbeulich@suse.com
/*
* GNTTABOP_setup_table: Set up a grant table for <dom> comprising at least
-@@ -303,29 +380,29 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_unmap_
+@@ -303,29 +380,33 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_unmap_
* 2. Only a sufficiently-privileged domain may specify <dom> != DOMID_SELF.
* 3. Xen may not support more than a single grant-table page per domain.
*/
@@ -3890,7 +3890,11 @@ Acked-by: jbeulich@suse.com
- int16_t status; /* GNTST_* */
- GUEST_HANDLE(xen_pfn_t) frame_list;
+ int16_t status; /* => enum grant_status */
++#if __XEN_INTERFACE_VERSION__ < 0x00040300
+ XEN_GUEST_HANDLE(ulong) frame_list;
++#else
++ XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
++#endif
};
-DEFINE_GUEST_HANDLE_STRUCT(gnttab_setup_table);
+typedef struct gnttab_setup_table gnttab_setup_table_t;
@@ -3914,7 +3918,7 @@ Acked-by: jbeulich@suse.com
/*
* GNTTABOP_transfer_grant_ref: Transfer <frame> to a foreign domain. The
-@@ -335,16 +412,17 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_dump_t
+@@ -335,16 +416,17 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_dump_t
* Note that, even if the transfer fails, the specified page no longer belongs
* to the calling domain *unless* the error is GNTST_bad_page.
*/
@@ -3935,7 +3939,7 @@ Acked-by: jbeulich@suse.com
/*
* GNTTABOP_copy: Hypervisor based copy
-@@ -368,8 +446,9 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_transf
+@@ -368,8 +450,9 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_transf
#define GNTCOPY_source_gref (1<<_GNTCOPY_source_gref)
#define _GNTCOPY_dest_gref (1)
#define GNTCOPY_dest_gref (1<<_GNTCOPY_dest_gref)
@@ -3946,7 +3950,7 @@ Acked-by: jbeulich@suse.com
struct gnttab_copy {
/* IN parameters. */
struct {
-@@ -385,7 +464,8 @@ struct gnttab_copy {
+@@ -385,7 +468,8 @@ struct gnttab_copy {
/* OUT parameters. */
int16_t status;
};
@@ -3956,7 +3960,7 @@ Acked-by: jbeulich@suse.com
/*
* GNTTABOP_query_size: Query the current and maximum sizes of the shared
-@@ -394,16 +474,16 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_copy);
+@@ -394,16 +478,16 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_copy);
* 1. <dom> may be specified as DOMID_SELF.
* 2. Only a sufficiently-privileged domain may specify <dom> != DOMID_SELF.
*/
@@ -3976,7 +3980,7 @@ Acked-by: jbeulich@suse.com
/*
* GNTTABOP_unmap_and_replace: Destroy one or more grant-reference mappings
-@@ -416,17 +496,18 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_query_
+@@ -416,17 +500,18 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_query_
* 2. After executing a batch of unmaps, it is guaranteed that no stale
* mappings will remain in the device or host TLBs.
*/
@@ -3998,7 +4002,7 @@ Acked-by: jbeulich@suse.com
/*
* GNTTABOP_set_version: Request a particular version of the grant
* table shared table structure. This operation can only be performed
-@@ -434,12 +515,13 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_unmap_
+@@ -434,12 +519,13 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_unmap_
* are activated; otherwise, the domain will be stuck with version 1.
* The only defined versions are 1 and 2.
*/
@@ -4015,7 +4019,7 @@ Acked-by: jbeulich@suse.com
/*
* GNTTABOP_get_status_frames: Get the list of frames used to store grant
-@@ -453,22 +535,21 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_set_ve
+@@ -453,22 +539,21 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_set_ve
* 1. <dom> may be specified as DOMID_SELF.
* 2. Only a sufficiently-privileged domain may specify <dom> != DOMID_SELF.
*/
@@ -4042,7 +4046,7 @@ Acked-by: jbeulich@suse.com
struct gnttab_get_version {
/* IN parameters */
domid_t dom;
-@@ -476,10 +557,26 @@ struct gnttab_get_version {
+@@ -476,10 +561,26 @@ struct gnttab_get_version {
/* OUT parameters */
uint32_t version;
};
@@ -4071,7 +4075,7 @@ Acked-by: jbeulich@suse.com
*/
/* Map the grant entry for access by I/O devices. */
#define _GNTMAP_device_map (0)
-@@ -506,9 +603,20 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_get_ve
+@@ -506,9 +607,20 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_get_ve
#define _GNTMAP_contains_pte (4)
#define GNTMAP_contains_pte (1<<_GNTMAP_contains_pte)
@@ -4092,7 +4096,7 @@ Acked-by: jbeulich@suse.com
#define GNTST_okay (0) /* Normal return. */
#define GNTST_general_error (-1) /* General undefined error. */
#define GNTST_bad_domain (-2) /* Unrecognsed domain id. */
-@@ -522,6 +630,7 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_get_ve
+@@ -522,6 +634,7 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_get_ve
#define GNTST_bad_copy_arg (-10) /* copy arguments cross page boundary. */
#define GNTST_address_too_big (-11) /* transfer page address too large. */
#define GNTST_eagain (-12) /* Operation not done; try again. */
@@ -4100,7 +4104,7 @@ Acked-by: jbeulich@suse.com
#define GNTTABOP_error_msgs { \
"okay", \
---- head.orig/include/xen/interface/hvm/hvm_op.h 2012-10-22 15:53:38.000000000 +0200
+--- head.orig/include/xen/interface/hvm/hvm_op.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/xen/interface/hvm/hvm_op.h 2012-10-04 11:18:40.000000000 +0200
@@ -21,6 +21,9 @@
#ifndef __XEN_PUBLIC_HVM_HVM_OP_H__
@@ -4361,7 +4365,7 @@ Acked-by: jbeulich@suse.com
+#endif /* defined(__XEN__) || defined(__XEN_TOOLS__) */
#endif /* __XEN_PUBLIC_HVM_HVM_OP_H__ */
---- head.orig/include/xen/interface/hvm/params.h 2012-10-22 15:53:38.000000000 +0200
+--- head.orig/include/xen/interface/hvm/params.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/xen/interface/hvm/params.h 2012-04-04 08:57:09.000000000 +0200
@@ -21,7 +21,7 @@
#ifndef __XEN_PUBLIC_HVM_PARAMS_H__
@@ -4453,8 +4457,8 @@ Acked-by: jbeulich@suse.com
+#define HVM_NR_PARAMS 30
#endif /* __XEN_PUBLIC_HVM_PARAMS_H__ */
---- head.orig/include/xen/interface/io/blkif.h 2012-10-22 15:53:40.000000000 +0200
-+++ head/include/xen/interface/io/blkif.h 2012-04-04 08:57:09.000000000 +0200
+--- head.orig/include/xen/interface/io/blkif.h 2012-12-18 11:38:26.000000000 +0100
++++ head/include/xen/interface/io/blkif.h 2012-12-18 10:47:37.000000000 +0100
@@ -3,14 +3,33 @@
*
* Unified block-device I/O interface for Xen guest OSes.
@@ -4491,7 +4495,7 @@ Acked-by: jbeulich@suse.com
/*
* Front->back notifications: When enqueuing a new request, sending a
-@@ -24,8 +43,316 @@
+@@ -24,8 +43,376 @@
* rsp_event appropriately (e.g., using RING_FINAL_CHECK_FOR_RESPONSES()).
*/
@@ -4580,6 +4584,34 @@ Acked-by: jbeulich@suse.com
+ * of this type may still be returned at any time with the
+ * BLKIF_RSP_EOPNOTSUPP result code.
+ *
++ * feature-persistent
++ * Values: 0/1 (boolean)
++ * Default Value: 0
++ * Notes: 7
++ *
++ * A value of "1" indicates that the backend can keep the grants used
++ * by the frontend driver mapped, so the same set of grants should be
++ * used in all transactions. The maximum number of grants the backend
++ * can map persistently depends on the implementation, but ideally it
++ * should be RING_SIZE * BLKIF_MAX_SEGMENTS_PER_REQUEST. Using this
++ * feature the backend doesn't need to unmap each grant, preventing
++ * costly TLB flushes. The backend driver should only map grants
++ * persistently if the frontend supports it. If a backend driver chooses
++ * to use the persistent protocol when the frontend doesn't support it,
++ * it will probably hit the maximum number of persistently mapped grants
++ * (due to the fact that the frontend won't be reusing the same grants),
++ * and fall back to non-persistent mode. Backend implementations may
++ * shrink or expand the number of persistently mapped grants without
++ * notifying the frontend depending on memory constraints (this might
++ * cause a performance degradation).
++ *
++ * If a backend driver wants to limit the maximum number of persistently
++ * mapped grants to a value less than RING_SIZE *
++ * BLKIF_MAX_SEGMENTS_PER_REQUEST a LRU strategy should be used to
++ * discard the grants that are less commonly used. Using a LRU in the
++ * backend driver paired with a LIFO queue in the frontend will
++ * allow us to have better performance in this scenario.
++ *
+ *----------------------- Request Transport Parameters ------------------------
+ *
+ * max-ring-page-order
@@ -4696,6 +4728,27 @@ Acked-by: jbeulich@suse.com
+ * The size of the frontend allocated request ring buffer in units of
+ * machine pages. The value must be a power of 2.
+ *
++ * feature-persistent
++ * Values: 0/1 (boolean)
++ * Default Value: 0
++ * Notes: 7, 8, 9
++ *
++ * A value of "1" indicates that the frontend will reuse the same grants
++ * for all transactions, allowing the backend to map them with write
++ * access (even when it should be read-only). If the frontend hits the
++ * maximum number of allowed persistently mapped grants, it can fallback
++ * to non persistent mode. This will cause a performance degradation,
++ * since the the backend driver will still try to map those grants
++ * persistently. Since the persistent grants protocol is compatible with
++ * the previous protocol, a frontend driver can choose to work in
++ * persistent mode even when the backend doesn't support it.
++ *
++ * It is recommended that the frontend driver stores the persistently
++ * mapped grants in a LIFO queue, so a subset of all persistently mapped
++ * grants gets used commonly. This is done in case the backend driver
++ * decides to limit the maximum number of persistently mapped grants
++ * to a value less than RING_SIZE * BLKIF_MAX_SEGMENTS_PER_REQUEST.
++ *
+ *------------------------- Virtual Device Properties -------------------------
+ *
+ * device-type
@@ -4733,6 +4786,17 @@ Acked-by: jbeulich@suse.com
+ * 'ring-ref' is used to communicate the grant reference for this
+ * page to the backend. When using a multi-page ring, the 'ring-ref'
+ * node is not created. Instead 'ring-ref0' - 'ring-refN' are used.
++ * (7) When using persistent grants data has to be copied from/to the page
++ * where the grant is currently mapped. The overhead of doing this copy
++ * however doesn't suppress the speed improvement of not having to unmap
++ * the grants.
++ * (8) The frontend driver has to allow the backend driver to map all grants
++ * with write access, even when they should be mapped read-only, since
++ * further requests may reuse these grants and require write permissions.
++ * (9) Linux implementation doesn't have a limit on the maximum number of
++ * grants that can be persistently mapped in the frontend driver, but
++ * due to the frontent driver implementation it should never be bigger
++ * than RING_SIZE * BLKIF_MAX_SEGMENTS_PER_REQUEST.
+ */
+
+/*
@@ -4810,7 +4874,7 @@ Acked-by: jbeulich@suse.com
/*
* REQUEST CODES.
-@@ -33,72 +360,45 @@ typedef uint64_t blkif_sector_t;
+@@ -33,72 +420,45 @@ typedef uint64_t blkif_sector_t;
#define BLKIF_OP_READ 0
#define BLKIF_OP_WRITE 1
/*
@@ -4912,7 +4976,7 @@ Acked-by: jbeulich@suse.com
*/
#define BLKIF_OP_DISCARD 5
-@@ -109,48 +409,54 @@ typedef uint64_t blkif_sector_t;
+@@ -109,48 +469,54 @@ typedef uint64_t blkif_sector_t;
*/
#define BLKIF_MAX_SEGMENTS_PER_REQUEST 11
@@ -5001,7 +5065,7 @@ Acked-by: jbeulich@suse.com
/*
* STATUS RETURN CODES.
---- head.orig/include/xen/interface/io/console.h 2007-10-09 22:31:38.000000000 +0200
+--- head.orig/include/xen/interface/io/console.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/xen/interface/io/console.h 2011-01-31 15:14:12.000000000 +0100
@@ -3,6 +3,24 @@
*
@@ -5028,7 +5092,7 @@ Acked-by: jbeulich@suse.com
* Copyright (c) 2005, Keir Fraser
*/
---- head.orig/include/xen/interface/io/fbif.h 2008-10-10 00:13:53.000000000 +0200
+--- head.orig/include/xen/interface/io/fbif.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/xen/interface/io/fbif.h 2011-01-31 15:14:12.000000000 +0100
@@ -77,13 +77,32 @@ union xenfb_out_event {
@@ -5064,7 +5128,7 @@ Acked-by: jbeulich@suse.com
char pad[XENFB_IN_EVENT_SIZE];
};
---- head.orig/include/xen/interface/io/netif.h 2012-10-22 15:53:41.000000000 +0200
+--- head.orig/include/xen/interface/io/netif.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/xen/interface/io/netif.h 2011-01-31 15:14:12.000000000 +0100
@@ -3,14 +3,32 @@
*
@@ -5268,7 +5332,7 @@ Acked-by: jbeulich@suse.com
+#define NETIF_RSP_NULL 1
#endif
---- head.orig/include/xen/interface/io/protocols.h 2012-10-22 15:53:41.000000000 +0200
+--- head.orig/include/xen/interface/io/protocols.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/xen/interface/io/protocols.h 2012-04-04 08:57:09.000000000 +0200
@@ -1,3 +1,25 @@
+/******************************************************************************
@@ -5296,7 +5360,7 @@ Acked-by: jbeulich@suse.com
#ifndef __XEN_PROTOCOLS_H__
#define __XEN_PROTOCOLS_H__
---- head.orig/include/xen/interface/io/ring.h 2011-01-05 01:50:19.000000000 +0100
+--- head.orig/include/xen/interface/io/ring.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/xen/interface/io/ring.h 2011-01-31 15:14:12.000000000 +0100
@@ -3,12 +3,38 @@
*
@@ -5504,7 +5568,7 @@ Acked-by: jbeulich@suse.com
(_work_to_do) = RING_HAS_UNCONSUMED_RESPONSES(_r); \
} while (0)
---- head.orig/include/xen/interface/io/xenbus.h 2011-01-05 01:50:19.000000000 +0100
+--- head.orig/include/xen/interface/io/xenbus.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/xen/interface/io/xenbus.h 2011-01-31 15:14:12.000000000 +0100
@@ -36,6 +36,7 @@ enum xenbus_state
@@ -5514,7 +5578,7 @@ Acked-by: jbeulich@suse.com
#endif /* _XEN_PUBLIC_IO_XENBUS_H */
---- head.orig/include/xen/interface/io/xs_wire.h 2012-10-01 01:47:46.000000000 +0200
+--- head.orig/include/xen/interface/io/xs_wire.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/xen/interface/io/xs_wire.h 2012-01-06 10:36:37.000000000 +0100
@@ -1,6 +1,25 @@
/*
@@ -5584,8 +5648,8 @@ Acked-by: jbeulich@suse.com
+#define XENSTORE_REL_PATH_MAX 2048
+
#endif /* _XS_WIRE_H */
---- head.orig/include/xen/interface/memory.h 2012-10-31 10:18:54.000000000 +0100
-+++ head/include/xen/interface/memory.h 2012-04-04 08:57:09.000000000 +0200
+--- head.orig/include/xen/interface/memory.h 2012-12-18 11:38:26.000000000 +0100
++++ head/include/xen/interface/memory.h 2012-12-18 10:47:37.000000000 +0100
@@ -3,13 +3,31 @@
*
* Memory reservation and information.
@@ -5726,36 +5790,69 @@ Acked-by: jbeulich@suse.com
/*
* Returns the location in virtual address space of the machine_to_phys
-@@ -151,7 +201,8 @@ struct xen_machphys_mapping {
+@@ -151,7 +201,17 @@ struct xen_machphys_mapping {
xen_ulong_t v_start, v_end; /* Start and end virtual addresses. */
xen_ulong_t max_mfn; /* Maximum MFN that can be looked up. */
};
-DEFINE_GUEST_HANDLE_STRUCT(xen_machphys_mapping_t);
+typedef struct xen_machphys_mapping xen_machphys_mapping_t;
+DEFINE_XEN_GUEST_HANDLE(xen_machphys_mapping_t);
++
++/* Source mapping space. */
++/* ` enum phys_map_space { */
++#define XENMAPSPACE_shared_info 0 /* shared info page */
++#define XENMAPSPACE_grant_table 1 /* grant table page */
++#define XENMAPSPACE_gmfn 2 /* GMFN */
++#define XENMAPSPACE_gmfn_range 3 /* GMFN range */
++#define XENMAPSPACE_gmfn_foreign 4 /* GMFN from another dom */
++/* ` } */
/*
* Sets the GPFN at which a particular page appears in the specified guest's
-@@ -169,15 +220,36 @@ struct xen_add_to_physmap {
- /* Source mapping space. */
- #define XENMAPSPACE_shared_info 0 /* shared info page */
- #define XENMAPSPACE_grant_table 1 /* grant table page */
-+#define XENMAPSPACE_gmfn 2 /* GMFN */
-+#define XENMAPSPACE_gmfn_range 3 /* GMFN range */
- unsigned int space;
+@@ -166,18 +226,54 @@ struct xen_add_to_physmap {
+ /* Number of pages to go through for gmfn_range */
+ uint16_t size;
-+#define XENMAPIDX_grant_table_status 0x80000000
+- /* Source mapping space. */
+-#define XENMAPSPACE_shared_info 0 /* shared info page */
+-#define XENMAPSPACE_grant_table 1 /* grant table page */
+- unsigned int space;
++ unsigned int space; /* => enum phys_map_space */
+
- /* Index into source mapping space. */
++#define XENMAPIDX_grant_table_status 0x80000000
+
+- /* Index into source mapping space. */
++ /* Index into space being mapped. */
xen_ulong_t idx;
- /* GPFN where the source mapping page should appear. */
+- /* GPFN where the source mapping page should appear. */
- xen_pfn_t gpfn;
++ /* GPFN in domid where the source mapping page should appear. */
+ xen_pfn_t gpfn;
+};
+typedef struct xen_add_to_physmap xen_add_to_physmap_t;
+DEFINE_XEN_GUEST_HANDLE(xen_add_to_physmap_t);
+
++/* A batched version of add_to_physmap. */
++#define XENMEM_add_to_physmap_range 23
++struct xen_add_to_physmap_range {
++ /* Which domain to change the mapping for. */
++ domid_t domid;
++ uint16_t space; /* => enum phys_map_space */
++
++ /* Number of pages to go through */
++ uint16_t size;
++ domid_t foreign_domid; /* IFF gmfn_foreign */
++
++ /* Indexes into space being mapped. */
++ XEN_GUEST_HANDLE(xen_ulong_t) idxs;
++
++ /* GPFN in domdwhere the source mapping page should appear. */
++ XEN_GUEST_HANDLE(xen_pfn_t) gpfns;
++};
++typedef struct xen_add_to_physmap_range xen_add_to_physmap_range_t;
++DEFINE_XEN_GUEST_HANDLE(xen_add_to_physmap_range_t);
++
+/*
+ * Unmaps the page appearing at a particular GPFN from the specified guest's
+ * pseudophysical address space.
@@ -5775,7 +5872,7 @@ Acked-by: jbeulich@suse.com
/*** REMOVED ***/
/*#define XENMEM_translate_gpfn_list 8*/
-@@ -200,9 +272,10 @@ struct xen_memory_map {
+@@ -200,9 +296,10 @@ struct xen_memory_map {
* Entries in the buffer are in the same format as returned by the
* BIOS INT 0x15 EAX=0xE820 call.
*/
@@ -5788,7 +5885,7 @@ Acked-by: jbeulich@suse.com
/*
* Returns the real physical memory map. Passes the same structure as
-@@ -211,10 +284,125 @@ DEFINE_GUEST_HANDLE_STRUCT(xen_memory_ma
+@@ -211,10 +308,131 @@ DEFINE_GUEST_HANDLE_STRUCT(xen_memory_ma
*/
#define XENMEM_machine_memory_map 10
@@ -5914,10 +6011,16 @@ Acked-by: jbeulich@suse.com
+typedef struct xen_mem_sharing_op xen_mem_sharing_op_t;
+DEFINE_XEN_GUEST_HANDLE(xen_mem_sharing_op_t);
+
++/*
++ * Reserve ops for future/out-of-tree "claim" patches (Oracle)
++ */
++#define XENMEM_claim_pages 24
++#define XENMEM_get_unclaimed_pages 25
++
+#endif /* defined(__XEN__) || defined(__XEN_TOOLS__) */
+
#endif /* __XEN_PUBLIC_MEMORY_H__ */
---- head.orig/include/xen/interface/physdev.h 2012-10-22 15:53:41.000000000 +0200
+--- head.orig/include/xen/interface/physdev.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/xen/interface/physdev.h 2012-10-04 11:18:40.000000000 +0200
@@ -21,6 +21,8 @@
#ifndef __XEN_PUBLIC_PHYSDEV_H__
@@ -6131,7 +6234,7 @@ Acked-by: jbeulich@suse.com
+#endif
+
#endif /* __XEN_PUBLIC_PHYSDEV_H__ */
---- head.orig/include/xen/interface/platform.h 2012-10-22 15:53:41.000000000 +0200
+--- head.orig/include/xen/interface/platform.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/xen/interface/platform.h 2012-10-22 17:54:10.000000000 +0200
@@ -27,7 +27,7 @@
#ifndef __XEN_PUBLIC_PLATFORM_H__
@@ -6575,9 +6678,9 @@ Acked-by: jbeulich@suse.com
+DEFINE_XEN_GUEST_HANDLE(xen_platform_op_t);
#endif /* __XEN_PUBLIC_PLATFORM_H__ */
---- head.orig/include/xen/interface/sched.h 2012-10-22 15:53:41.000000000 +0200
-+++ head/include/xen/interface/sched.h 2011-01-31 15:14:12.000000000 +0100
-@@ -3,27 +3,45 @@
+--- head.orig/include/xen/interface/sched.h 2012-12-18 11:38:26.000000000 +0100
++++ head/include/xen/interface/sched.h 2012-12-18 10:47:37.000000000 +0100
+@@ -3,29 +3,60 @@
*
* Scheduler state interactions
*
@@ -6607,13 +6710,23 @@ Acked-by: jbeulich@suse.com
-#include <xen/interface/event_channel.h>
+#include "event_channel.h"
++
++/*
++ * `incontents 150 sched Guest Scheduler Operations
++ *
++ * The SCHEDOP interface provides mechanisms for a guest to interact
++ * with the scheduler, including yield, blocking and shutting itself
++ * down.
++ */
/*
* The prototype for this hypercall is:
- * long sched_op_new(int cmd, void *arg)
-+ * long sched_op(int cmd, void *arg)
++ * ` long HYPERVISOR_sched_op(enum sched_op cmd, void *arg, ...)
++ *
* @cmd == SCHEDOP_??? (scheduler operation).
* @arg == Operation-specific extra argument(s), as described below.
++ * ... == Additional Operation-specific extra arguments, described below.
*
- * **NOTE**:
* Versions of Xen prior to 3.0.2 provide only the following legacy version
@@ -6622,45 +6735,105 @@ Acked-by: jbeulich@suse.com
* @cmd == SCHEDOP_??? (scheduler operation).
* @arg == 0 (SCHEDOP_yield and SCHEDOP_block)
* == SHUTDOWN_* code (SCHEDOP_shutdown)
-+ * This legacy version is available to new guests as sched_op_compat().
++ *
++ * This legacy version is available to new guests as:
++ * ` long HYPERVISOR_sched_op_compat(enum sched_op cmd, unsigned long arg)
*/
++/* ` enum sched_op { // SCHEDOP_* => struct sched_* */
/*
-@@ -49,7 +67,8 @@
- struct sched_shutdown {
- unsigned int reason; /* SHUTDOWN_* */
- };
+ * Voluntarily yield the CPU.
+ * @arg == NULL.
+@@ -43,69 +74,90 @@
+
+ /*
+ * Halt execution of this domain (all VCPUs) and notify the system controller.
+- * @arg == pointer to sched_shutdown structure.
++ * @arg == pointer to sched_shutdown_t structure.
++ *
++ * If the sched_shutdown_t reason is SHUTDOWN_suspend then this
++ * hypercall takes an additional extra argument which should be the
++ * MFN of the guest's start_info_t.
++ *
++ * In addition, which reason is SHUTDOWN_suspend this hypercall
++ * returns 1 if suspend was cancelled or the domain was merely
++ * checkpointed, and 0 if it is resuming in a new domain.
+ */
+ #define SCHEDOP_shutdown 2
+-struct sched_shutdown {
+- unsigned int reason; /* SHUTDOWN_* */
+-};
-DEFINE_GUEST_HANDLE_STRUCT(sched_shutdown);
-+typedef struct sched_shutdown sched_shutdown_t;
-+DEFINE_XEN_GUEST_HANDLE(sched_shutdown_t);
/*
* Poll a set of event-channel ports. Return when one or more are pending. An
-@@ -58,11 +77,12 @@ DEFINE_GUEST_HANDLE_STRUCT(sched_shutdow
+ * optional timeout may be specified.
+- * @arg == pointer to sched_poll structure.
++ * @arg == pointer to sched_poll_t structure.
*/
#define SCHEDOP_poll 3
- struct sched_poll {
+-struct sched_poll {
- GUEST_HANDLE(evtchn_port_t) ports;
-+ XEN_GUEST_HANDLE(evtchn_port_t) ports;
- unsigned int nr_ports;
- uint64_t timeout;
- };
+- unsigned int nr_ports;
+- uint64_t timeout;
+-};
-DEFINE_GUEST_HANDLE_STRUCT(sched_poll);
-+typedef struct sched_poll sched_poll_t;
-+DEFINE_XEN_GUEST_HANDLE(sched_poll_t);
/*
* Declare a shutdown for another domain. The main use of this function is
-@@ -75,6 +95,8 @@ struct sched_remote_shutdown {
- domid_t domain_id; /* Remote domain ID */
- unsigned int reason; /* SHUTDOWN_xxx reason */
- };
-+typedef struct sched_remote_shutdown sched_remote_shutdown_t;
-+DEFINE_XEN_GUEST_HANDLE(sched_remote_shutdown_t);
+ * in interpreting shutdown requests and reasons for fully-virtualized
+ * domains. A para-virtualized domain may use SCHEDOP_shutdown directly.
+- * @arg == pointer to sched_remote_shutdown structure.
++ * @arg == pointer to sched_remote_shutdown_t structure.
+ */
+ #define SCHEDOP_remote_shutdown 4
+-struct sched_remote_shutdown {
+- domid_t domain_id; /* Remote domain ID */
+- unsigned int reason; /* SHUTDOWN_xxx reason */
+-};
/*
* Latch a shutdown code, so that when the domain later shuts down it
-@@ -96,6 +118,8 @@ struct sched_watchdog {
+ * reports this code to the control tools.
+- * @arg == as for SCHEDOP_shutdown.
++ * @arg == sched_shutdown_t, as for SCHEDOP_shutdown.
+ */
+ #define SCHEDOP_shutdown_code 5
+
+ /*
+ * Setup, poke and destroy a domain watchdog timer.
+- * @arg == pointer to sched_watchdog structure.
++ * @arg == pointer to sched_watchdog_t structure.
+ * With id == 0, setup a domain watchdog timer to cause domain shutdown
+ * after timeout, returns watchdog id.
+ * With id != 0 and timeout == 0, destroy domain watchdog timer.
+ * With id != 0 and timeout != 0, poke watchdog timer and set new timeout.
+ */
+ #define SCHEDOP_watchdog 6
++/* ` } */
++
++struct sched_shutdown {
++ unsigned int reason; /* SHUTDOWN_* => enum sched_shutdown_reason */
++};
++typedef struct sched_shutdown sched_shutdown_t;
++DEFINE_XEN_GUEST_HANDLE(sched_shutdown_t);
++
++struct sched_poll {
++ XEN_GUEST_HANDLE(evtchn_port_t) ports;
++ unsigned int nr_ports;
++ uint64_t timeout;
++};
++typedef struct sched_poll sched_poll_t;
++DEFINE_XEN_GUEST_HANDLE(sched_poll_t);
++
++struct sched_remote_shutdown {
++ domid_t domain_id; /* Remote domain ID */
++ unsigned int reason; /* SHUTDOWN_* => enum sched_shutdown_reason */
++};
++typedef struct sched_remote_shutdown sched_remote_shutdown_t;
++DEFINE_XEN_GUEST_HANDLE(sched_remote_shutdown_t);
++
+ struct sched_watchdog {
uint32_t id; /* watchdog ID */
uint32_t timeout; /* timeout */
};
@@ -6669,7 +6842,19 @@ Acked-by: jbeulich@suse.com
/*
* Reason codes for SCHEDOP_shutdown. These may be interpreted by control
---- head.orig/include/xen/interface/vcpu.h 2008-07-13 23:51:29.000000000 +0200
+ * software to determine the appropriate action. For the most part, Xen does
+ * not care about the shutdown code.
+ */
++/* ` enum sched_shutdown_reason { */
+ #define SHUTDOWN_poweroff 0 /* Domain exited normally. Clean up and kill. */
+ #define SHUTDOWN_reboot 1 /* Clean up, kill, and then restart. */
+ #define SHUTDOWN_suspend 2 /* Clean up, save suspend info, kill. */
+ #define SHUTDOWN_crash 3 /* Tell controller we've crashed. */
+ #define SHUTDOWN_watchdog 4 /* Restart because watchdog time expired. */
++/* ` } */
+
+ #endif /* __XEN_PUBLIC_SCHED_H__ */
+--- head.orig/include/xen/interface/vcpu.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/xen/interface/vcpu.h 2011-03-17 13:50:24.000000000 +0100
@@ -27,6 +27,8 @@
#ifndef __XEN_PUBLIC_VCPU_H__
@@ -6789,8 +6974,8 @@ Acked-by: jbeulich@suse.com
+DEFINE_XEN_GUEST_HANDLE(vcpu_register_time_memory_area_t);
#endif /* __XEN_PUBLIC_VCPU_H__ */
---- head.orig/include/xen/interface/version.h 2012-10-22 15:53:41.000000000 +0200
-+++ head/include/xen/interface/version.h 2011-01-31 15:14:12.000000000 +0100
+--- head.orig/include/xen/interface/version.h 2012-12-18 11:38:26.000000000 +0100
++++ head/include/xen/interface/version.h 2012-12-18 10:47:37.000000000 +0100
@@ -3,6 +3,24 @@
*
* Xen version, type, and compile information.
@@ -6816,11 +7001,13 @@ Acked-by: jbeulich@suse.com
* Copyright (c) 2005, Nguyen Anh Quynh <aquynh@gmail.com>
* Copyright (c) 2005, Keir Fraser <keir@xensource.com>
*/
-@@ -10,17 +28,15 @@
+@@ -10,17 +28,17 @@
#ifndef __XEN_PUBLIC_VERSION_H__
#define __XEN_PUBLIC_VERSION_H__
-/* NB. All ops return zero on success, except XENVER_version. */
++#include "xen.h"
++
+/* NB. All ops return zero on success, except XENVER_{version,pagesize} */
/* arg == NULL; returns major:minor (16:16). */
@@ -6837,7 +7024,7 @@ Acked-by: jbeulich@suse.com
/* arg == xen_compile_info_t. */
#define XENVER_compile_info 2
-@@ -30,32 +46,31 @@ struct xen_compile_info {
+@@ -30,32 +48,31 @@ struct xen_compile_info {
char compile_domain[32];
char compile_date[32];
};
@@ -6861,8 +7048,7 @@ Acked-by: jbeulich@suse.com
#define XENVER_platform_parameters 5
struct xen_platform_parameters {
-- xen_ulong_t virt_start;
-+ unsigned long virt_start;
+ xen_ulong_t virt_start;
};
+typedef struct xen_platform_parameters xen_platform_parameters_t;
@@ -6879,7 +7065,7 @@ Acked-by: jbeulich@suse.com
/* arg == NULL; returns host memory page size. */
#define XENVER_pagesize 7
-@@ -63,4 +78,7 @@ struct xen_feature_info {
+@@ -63,4 +80,7 @@ struct xen_feature_info {
/* arg == xen_domain_handle_t. */
#define XENVER_guest_handle 8
@@ -6887,9 +7073,9 @@ Acked-by: jbeulich@suse.com
+typedef char xen_commandline_t[1024];
+
#endif /* __XEN_PUBLIC_VERSION_H__ */
---- head.orig/include/xen/interface/xen.h 2012-10-22 15:53:41.000000000 +0200
-+++ head/include/xen/interface/xen.h 2012-04-04 08:57:09.000000000 +0200
-@@ -3,34 +3,75 @@
+--- head.orig/include/xen/interface/xen.h 2012-12-18 11:38:26.000000000 +0100
++++ head/include/xen/interface/xen.h 2012-12-18 10:47:37.000000000 +0100
+@@ -3,34 +3,78 @@
*
* Guest OS interface to Xen.
*
@@ -6939,12 +7125,15 @@ Acked-by: jbeulich@suse.com
+__DEFINE_XEN_GUEST_HANDLE(uchar, unsigned char);
+DEFINE_XEN_GUEST_HANDLE(int);
+__DEFINE_XEN_GUEST_HANDLE(uint, unsigned int);
++#if __XEN_INTERFACE_VERSION__ < 0x00040300
+DEFINE_XEN_GUEST_HANDLE(long);
+__DEFINE_XEN_GUEST_HANDLE(ulong, unsigned long);
++#endif
+DEFINE_XEN_GUEST_HANDLE(void);
+
+DEFINE_XEN_GUEST_HANDLE(uint64_t);
+DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
++DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
+#endif
/*
@@ -6976,7 +7165,7 @@ Acked-by: jbeulich@suse.com
#define __HYPERVISOR_set_debugreg 8
#define __HYPERVISOR_get_debugreg 9
#define __HYPERVISOR_update_descriptor 10
-@@ -38,10 +79,10 @@
+@@ -38,10 +82,10 @@
#define __HYPERVISOR_multicall 13
#define __HYPERVISOR_update_va_mapping 14
#define __HYPERVISOR_set_timer_op 15
@@ -6989,7 +7178,7 @@ Acked-by: jbeulich@suse.com
#define __HYPERVISOR_grant_table_op 20
#define __HYPERVISOR_vm_assist 21
#define __HYPERVISOR_update_va_mapping_otherdomain 22
-@@ -49,15 +90,19 @@
+@@ -49,15 +93,19 @@
#define __HYPERVISOR_vcpu_op 24
#define __HYPERVISOR_set_segment_base 25 /* x86/64 only */
#define __HYPERVISOR_mmuext_op 26
@@ -7011,7 +7200,7 @@ Acked-by: jbeulich@suse.com
/* Architecture-specific hypercall definitions. */
#define __HYPERVISOR_arch_0 48
-@@ -69,17 +114,55 @@
+@@ -69,17 +117,55 @@
#define __HYPERVISOR_arch_6 54
#define __HYPERVISOR_arch_7 55
@@ -7074,7 +7263,7 @@ Acked-by: jbeulich@suse.com
/* Architecture-specific VIRQ definitions. */
#define VIRQ_ARCH_0 16
-@@ -90,26 +173,73 @@
+@@ -90,26 +176,73 @@
#define VIRQ_ARCH_5 21
#define VIRQ_ARCH_6 22
#define VIRQ_ARCH_7 23
@@ -7158,7 +7347,7 @@ Acked-by: jbeulich@suse.com
* ptr[1:0] == MMU_MACHPHYS_UPDATE:
* Updates an entry in the machine->pseudo-physical mapping table.
* ptr[:2] -- Machine address within the frame whose mapping to modify.
-@@ -119,6 +249,72 @@
+@@ -119,6 +252,72 @@
* ptr[1:0] == MMU_PT_UPDATE_PRESERVE_AD:
* As MMU_NORMAL_PT_UPDATE above, but A/D bits currently in the PTE are ORed
* with those in @val.
@@ -7231,7 +7420,22 @@ Acked-by: jbeulich@suse.com
*/
#define MMU_NORMAL_PT_UPDATE 0 /* checked '*ptr = val'. ptr is MA. */
#define MMU_MACHPHYS_UPDATE 1 /* ptr = MA of frame to modify entry for */
-@@ -164,9 +360,23 @@
+@@ -127,7 +326,13 @@
+ /*
+ * MMU EXTENDED OPERATIONS
+ *
+- * HYPERVISOR_mmuext_op() accepts a list of mmuext_op structures.
++ * ` enum neg_errnoval
++ * ` HYPERVISOR_mmuext_op(mmuext_op_t uops[],
++ * ` unsigned int count,
++ * ` unsigned int *pdone,
++ * ` unsigned int foreigndom)
++ */
++/* HYPERVISOR_mmuext_op() accepts a list of mmuext_op structures.
+ * A foreigndom (FD) can be specified (or DOMID_SELF for none).
+ * Where the FD has some effect, it is described below.
+ *
+@@ -164,10 +369,25 @@
* cmd: MMUEXT_FLUSH_CACHE
* No additional arguments. Writes back and flushes cache contents.
*
@@ -7253,9 +7457,11 @@ Acked-by: jbeulich@suse.com
+ * cmd: MMUEXT_[UN]MARK_SUPER
+ * mfn: Machine frame number of head of superpage to be [un]marked.
*/
++/* ` enum mmuext_cmd { */
#define MMUEXT_PIN_L1_TABLE 0
#define MMUEXT_PIN_L2_TABLE 1
-@@ -183,13 +393,19 @@
+ #define MMUEXT_PIN_L3_TABLE 2
+@@ -183,13 +403,20 @@
#define MMUEXT_FLUSH_CACHE 12
#define MMUEXT_SET_LDT 13
#define MMUEXT_NEW_USER_BASEPTR 15
@@ -7264,10 +7470,12 @@ Acked-by: jbeulich@suse.com
+#define MMUEXT_FLUSH_CACHE_GLOBAL 18
+#define MMUEXT_MARK_SUPER 19
+#define MMUEXT_UNMARK_SUPER 20
++/* ` } */
#ifndef __ASSEMBLY__
struct mmuext_op {
- unsigned int cmd;
+- unsigned int cmd;
++ unsigned int cmd; /* => enum mmuext_cmd */
union {
- /* [UN]PIN_TABLE, NEW_BASEPTR, NEW_USER_BASEPTR */
- xen_pfn_t mfn;
@@ -7277,7 +7485,7 @@ Acked-by: jbeulich@suse.com
/* INVLPG_LOCAL, INVLPG_ALL, SET_LDT */
unsigned long linear_addr;
} arg1;
-@@ -197,10 +413,17 @@ struct mmuext_op {
+@@ -197,15 +424,37 @@ struct mmuext_op {
/* SET_LDT */
unsigned int nr_ents;
/* TLB_FLUSH_MULTI, INVLPG_MULTI */
@@ -7296,8 +7504,36 @@ Acked-by: jbeulich@suse.com
+DEFINE_XEN_GUEST_HANDLE(mmuext_op_t);
#endif
++/*
++ * ` enum neg_errnoval
++ * ` HYPERVISOR_update_va_mapping(unsigned long va, u64 val,
++ * ` enum uvm_flags flags)
++ * `
++ * ` enum neg_errnoval
++ * ` HYPERVISOR_update_va_mapping_otherdomain(unsigned long va, u64 val,
++ * ` enum uvm_flags flags,
++ * ` domid_t domid)
++ * `
++ * ` @va: The virtual address whose mapping we want to change
++ * ` @val: The new page table entry, must contain a machine address
++ * ` @flags: Control TLB flushes
++ */
/* These are passed as 'flags' to update_va_mapping. They can be ORed. */
-@@ -225,11 +448,24 @@ DEFINE_GUEST_HANDLE_STRUCT(mmuext_op);
+ /* When specifying UVMF_MULTI, also OR in a pointer to a CPU bitmap. */
+ /* UVMF_LOCAL is merely UVMF_MULTI with a NULL bitmap pointer. */
++/* ` enum uvm_flags { */
+ #define UVMF_NONE (0UL<<0) /* No flushing at all. */
+ #define UVMF_TLB_FLUSH (1UL<<0) /* Flush entire TLB(s). */
+ #define UVMF_INVLPG (2UL<<0) /* Flush only one entry. */
+@@ -213,6 +462,7 @@ DEFINE_GUEST_HANDLE_STRUCT(mmuext_op);
+ #define UVMF_MULTI (0UL<<2) /* Flush subset of TLBs. */
+ #define UVMF_LOCAL (0UL<<2) /* Flush local TLB. */
+ #define UVMF_ALL (1UL<<2) /* Flush all TLBs. */
++/* ` } */
+
+ /*
+ * Commands to HYPERVISOR_console_io().
+@@ -225,11 +475,24 @@ DEFINE_GUEST_HANDLE_STRUCT(mmuext_op);
*/
#define VMASST_CMD_enable 0
#define VMASST_CMD_disable 1
@@ -7323,7 +7559,7 @@ Acked-by: jbeulich@suse.com
#ifndef __ASSEMBLY__
-@@ -261,6 +497,16 @@ typedef uint16_t domid_t;
+@@ -261,6 +524,16 @@ typedef uint16_t domid_t;
#define DOMID_XEN (0x7FF2U)
/*
@@ -7340,7 +7576,7 @@ Acked-by: jbeulich@suse.com
* Send an array of these to HYPERVISOR_mmu_update().
* NB. The fields are natural pointer/address size for this architecture.
*/
-@@ -268,18 +514,19 @@ struct mmu_update {
+@@ -268,18 +541,22 @@ struct mmu_update {
uint64_t ptr; /* Machine address of PTE. */
uint64_t val; /* New contents of PTE. */
};
@@ -7349,7 +7585,11 @@ Acked-by: jbeulich@suse.com
+DEFINE_XEN_GUEST_HANDLE(mmu_update_t);
/*
- * Send an array of these to HYPERVISOR_multicall().
+- * Send an array of these to HYPERVISOR_multicall().
++ * ` enum neg_errnoval
++ * ` HYPERVISOR_multicall(multicall_entry_t call_list[],
++ * ` unsigned int nr_calls);
++ *
* NB. The fields are natural register size for this architecture.
*/
struct multicall_entry {
@@ -7364,7 +7604,7 @@ Acked-by: jbeulich@suse.com
/*
* Event channel endpoints per domain:
-@@ -312,6 +559,7 @@ struct vcpu_time_info {
+@@ -312,6 +589,7 @@ struct vcpu_time_info {
int8_t tsc_shift;
int8_t pad1[3];
}; /* 32 bytes */
@@ -7372,7 +7612,7 @@ Acked-by: jbeulich@suse.com
struct vcpu_info {
/*
-@@ -343,15 +591,26 @@ struct vcpu_info {
+@@ -343,15 +621,26 @@ struct vcpu_info {
uint8_t evtchn_upcall_mask;
unsigned long evtchn_pending_sel;
struct arch_vcpu_info arch;
@@ -7401,7 +7641,7 @@ Acked-by: jbeulich@suse.com
/*
* A domain can create "event channels" on which it can send and receive
-@@ -391,33 +650,41 @@ struct shared_info {
+@@ -391,33 +680,42 @@ struct shared_info {
* Wallclock time: updated only by control software. Guests should base
* their gettimeofday() syscall on this wallclock-base value.
*/
@@ -7422,7 +7662,8 @@ Acked-by: jbeulich@suse.com
/*
- * Start-of-day memory layout for the initial domain (DOM0):
-+ * Start-of-day memory layout:
++ * `incontents 200 startofday Start-of-day memory layout
++ *
* 1. The domain is started within contiguous virtual-memory region.
- * 2. The contiguous region begins and ends on an aligned 4MB boundary.
- * 3. The region start corresponds to the load address of the OS image.
@@ -7453,7 +7694,7 @@ Acked-by: jbeulich@suse.com
* bootstrap element. If necessary, the bootstrap virtual region is
* extended by an extra 4MB to ensure this.
*/
-@@ -448,54 +715,93 @@ struct start_info {
+@@ -448,54 +746,93 @@ struct start_info {
unsigned long mod_start; /* VIRTUAL address of pre-loaded module. */
unsigned long mod_len; /* Size (bytes) of pre-loaded module. */
int8_t cmd_line[MAX_GUEST_CMDLINE];
@@ -7587,7 +7828,7 @@ Acked-by: jbeulich@suse.com
typedef uint8_t xen_domain_handle_t[16];
-@@ -503,28 +809,10 @@ typedef uint8_t xen_domain_handle_t[16];
+@@ -503,28 +840,10 @@ typedef uint8_t xen_domain_handle_t[16];
#define __mk_unsigned_long(x) x ## UL
#define mk_unsigned_long(x) __mk_unsigned_long(x)
@@ -7620,7 +7861,7 @@ Acked-by: jbeulich@suse.com
#else /* __ASSEMBLY__ */
-@@ -533,4 +821,23 @@ DEFINE_GUEST_HANDLE(u64);
+@@ -533,4 +852,23 @@ DEFINE_GUEST_HANDLE(u64);
#endif /* !__ASSEMBLY__ */
@@ -7644,7 +7885,7 @@ Acked-by: jbeulich@suse.com
+#endif /* defined(__XEN__) || defined(__XEN_TOOLS__) */
+
#endif /* __XEN_PUBLIC_XEN_H__ */
---- head.orig/include/xen/xenbus.h 2012-05-21 00:29:13.000000000 +0200
+--- head.orig/include/xen/xenbus.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/xen/xenbus.h 2011-12-21 10:02:58.000000000 +0100
@@ -37,10 +37,10 @@
#include <linux/device.h>
diff --git a/patches.xen/xen3-patch-2.6.18 b/patches.xen/xen3-patch-2.6.18
index 0a1c53e801..632ca3a9f2 100644
--- a/patches.xen/xen3-patch-2.6.18
+++ b/patches.xen/xen3-patch-2.6.18
@@ -27,7 +27,7 @@ Acked-by: jbeulich@novell.com
-disabled-obj-$(CONFIG_XEN) := i8237.o i8259_$(BITS).o reboot.o smpboot_$(BITS).o
+disabled-obj-$(CONFIG_XEN) := i8237.o i8253.o i8259_$(BITS).o reboot.o smpboot_$(BITS).o tsc_$(BITS).o
%/head_$(BITS).o %/head_$(BITS).s: $(if $(CONFIG_XEN),EXTRA_AFLAGS,dummy) :=
---- head.orig/arch/x86/kernel/quirks.c 2012-10-01 01:47:46.000000000 +0200
+--- head.orig/arch/x86/kernel/quirks.c 2012-12-18 11:38:26.000000000 +0100
+++ head/arch/x86/kernel/quirks.c 2011-09-07 15:20:23.000000000 +0200
@@ -6,7 +6,7 @@
@@ -393,7 +393,7 @@ Acked-by: jbeulich@novell.com
timer_name[cpu],
NULL);
if (irq < 0)
---- head.orig/arch/x86/pci/irq.c 2011-07-22 04:17:23.000000000 +0200
+--- head.orig/arch/x86/pci/irq.c 2012-12-18 11:38:26.000000000 +0100
+++ head/arch/x86/pci/irq.c 2011-08-09 10:33:29.000000000 +0200
@@ -94,13 +94,18 @@ static struct irq_routing_table * __init
u8 *addr;
@@ -453,7 +453,7 @@ Acked-by: jbeulich@novell.com
+#endif
+
+#include_next <asm/time.h>
---- head.orig/arch/x86/include/asm/thread_info.h 2012-10-22 15:52:10.000000000 +0200
+--- head.orig/arch/x86/include/asm/thread_info.h 2012-12-18 11:38:26.000000000 +0100
+++ head/arch/x86/include/asm/thread_info.h 2012-10-23 14:39:36.000000000 +0200
@@ -151,11 +151,15 @@ struct thread_info {
_TIF_USER_RETURN_NOTIFY)
@@ -471,7 +471,26 @@ Acked-by: jbeulich@novell.com
#define PREEMPT_ACTIVE 0x10000000
---- head.orig/kernel/time/timekeeping.c 2012-10-22 15:53:41.000000000 +0200
+--- head.orig/drivers/xen/netfront/netfront.c 2012-10-04 11:18:40.000000000 +0200
++++ head/drivers/xen/netfront/netfront.c 2012-12-18 11:54:56.000000000 +0100
+@@ -33,6 +33,7 @@
+ #include <linux/module.h>
+ #include <linux/version.h>
+ #include <linux/kernel.h>
++#include <linux/pfn.h>
+ #include <linux/sched.h>
+ #include <linux/slab.h>
+ #include <linux/string.h>
+@@ -960,7 +961,7 @@ static int network_start_xmit(struct sk_
+ return 0;
+ }
+
+- frags += (offset + len + PAGE_SIZE - 1) / PAGE_SIZE;
++ frags += PFN_UP(offset + len);
+ if (unlikely(frags > MAX_SKB_FRAGS + 1)) {
+ printk(KERN_ALERT "xennet: skb rides the rocket: %d frags\n",
+ frags);
+--- head.orig/kernel/time/timekeeping.c 2012-12-18 11:38:26.000000000 +0100
+++ head/kernel/time/timekeeping.c 2012-10-23 14:39:12.000000000 +0200
@@ -21,6 +21,9 @@
#include <linux/time.h>
diff --git a/patches.xen/xen3-patch-2.6.19 b/patches.xen/xen3-patch-2.6.19
index 2533b95bb2..9510dbd14d 100644
--- a/patches.xen/xen3-patch-2.6.19
+++ b/patches.xen/xen3-patch-2.6.19
@@ -17,7 +17,7 @@ Acked-by: jbeulich@novell.com
---help---
Say Y here to get to see options related to running Linux under
various hypervisors. This option alone does not add any kernel code.
---- head.orig/arch/x86/kernel/acpi/boot.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/arch/x86/kernel/acpi/boot.c 2012-12-18 11:38:26.000000000 +0100
+++ head/arch/x86/kernel/acpi/boot.c 2012-07-05 10:35:17.000000000 +0200
@@ -70,8 +70,12 @@ int acpi_strict;
@@ -10114,9 +10114,9 @@ Acked-by: jbeulich@novell.com
{
struct list_head *ent;
netif_t *netif;
---- head.orig/drivers/xen/netfront/netfront.c 2012-10-04 11:18:40.000000000 +0200
-+++ head/drivers/xen/netfront/netfront.c 2012-10-04 11:50:26.000000000 +0200
-@@ -63,6 +63,7 @@
+--- head.orig/drivers/xen/netfront/netfront.c 2012-12-18 11:54:56.000000000 +0100
++++ head/drivers/xen/netfront/netfront.c 2012-12-18 11:57:21.000000000 +0100
+@@ -64,6 +64,7 @@
#include <asm/uaccess.h>
#include <xen/interface/grant_table.h>
#include <xen/gnttab.h>
@@ -10124,7 +10124,7 @@ Acked-by: jbeulich@novell.com
struct netfront_cb {
struct page *page;
-@@ -136,7 +137,7 @@ static inline int netif_needs_gso(struct
+@@ -137,7 +138,7 @@ static inline int netif_needs_gso(struct
{
return skb_is_gso(skb) &&
(!skb_gso_ok(skb, dev->features) ||
@@ -10133,7 +10133,7 @@ Acked-by: jbeulich@novell.com
}
#else
#define HAVE_GSO 0
-@@ -221,7 +222,7 @@ static void network_tx_buf_gc(struct net
+@@ -222,7 +223,7 @@ static void network_tx_buf_gc(struct net
static void network_alloc_rx_buffers(struct net_device *);
static void send_fake_arp(struct net_device *);
@@ -10142,7 +10142,7 @@ Acked-by: jbeulich@novell.com
#ifdef CONFIG_SYSFS
static int xennet_sysfs_addif(struct net_device *netdev);
-@@ -997,12 +998,10 @@ static int network_start_xmit(struct sk_
+@@ -998,12 +999,10 @@ static int network_start_xmit(struct sk_
tx->flags = 0;
extra = NULL;
@@ -10157,7 +10157,7 @@ Acked-by: jbeulich@novell.com
#if HAVE_TSO
if (skb_shinfo(skb)->gso_size) {
-@@ -1054,7 +1053,7 @@ static int network_start_xmit(struct sk_
+@@ -1055,7 +1054,7 @@ static int network_start_xmit(struct sk_
return 0;
}
@@ -10166,7 +10166,7 @@ Acked-by: jbeulich@novell.com
{
struct net_device *dev = dev_id;
struct netfront_info *np = netdev_priv(dev);
-@@ -1428,18 +1427,13 @@ err:
+@@ -1429,18 +1428,13 @@ err:
skb->truesize += skb->data_len - (RX_COPY_THRESHOLD - len);
skb->len += skb->data_len;
@@ -10189,7 +10189,7 @@ Acked-by: jbeulich@novell.com
np->stats.rx_packets++;
np->stats.rx_bytes += skb->len;
-@@ -1481,6 +1475,11 @@ err:
+@@ -1482,6 +1476,11 @@ err:
/* Ethernet work: Delayed to here as it peeks the header. */
skb->protocol = eth_type_trans(skb, dev);
@@ -10201,7 +10201,7 @@ Acked-by: jbeulich@novell.com
/* Pass it up. */
netif_receive_skb(skb);
dev->last_rx = jiffies;
-@@ -1769,6 +1768,44 @@ static void xennet_set_features(struct n
+@@ -1770,6 +1769,44 @@ static void xennet_set_features(struct n
xennet_set_tso(dev, 1);
}
@@ -10246,7 +10246,7 @@ Acked-by: jbeulich@novell.com
static void netfront_get_drvinfo(struct net_device *dev,
struct ethtool_drvinfo *info)
{
-@@ -1894,6 +1931,10 @@ static struct ethtool_ops network_ethtoo
+@@ -1895,6 +1932,10 @@ static struct ethtool_ops network_ethtoo
.set_tso = xennet_set_tso,
#endif
.get_link = ethtool_op_get_link,
@@ -10371,7 +10371,7 @@ Acked-by: jbeulich@novell.com
int scsiback_init_sring(struct vscsibk_info *, grant_ref_t, evtchn_port_t);
int scsiback_schedule(void *data);
---- head.orig/drivers/xen/scsiback/scsiback.c 2012-12-06 15:59:02.000000000 +0100
+--- head.orig/drivers/xen/scsiback/scsiback.c 2012-12-18 10:47:37.000000000 +0100
+++ head/drivers/xen/scsiback/scsiback.c 2012-12-06 16:05:50.000000000 +0100
@@ -451,7 +451,7 @@ void scsiback_cmd_exec(pending_req_t *pe
write = (data_dir == DMA_TO_DEVICE);
@@ -11953,8 +11953,8 @@ Acked-by: jbeulich@novell.com
change_pte_range(vma->vm_mm, pmd, addr, next, newprot,
dirty_accountable);
--- head.orig/mm/page_alloc.c 2012-10-22 17:20:00.000000000 +0200
-+++ head/mm/page_alloc.c 2012-12-06 16:05:44.000000000 +0100
-@@ -5212,6 +5212,23 @@ static void __setup_per_zone_wmarks(void
++++ head/mm/page_alloc.c 2012-12-18 11:57:11.000000000 +0100
+@@ -5196,6 +5196,23 @@ static void __setup_per_zone_wmarks(void
spin_unlock_irqrestore(&zone->lock, flags);
}
diff --git a/patches.xen/xen3-patch-2.6.21 b/patches.xen/xen3-patch-2.6.21
index d43cbd48ae..04d62780c1 100644
--- a/patches.xen/xen3-patch-2.6.21
+++ b/patches.xen/xen3-patch-2.6.21
@@ -593,7 +593,7 @@ Acked-by: jbeulich@novell.com
ENTRY(kernel_thread_helper)
pushl $0 # fake return address for unwinder
---- head.orig/arch/x86/kernel/head_32-xen.S 2011-08-09 10:36:13.000000000 +0200
+--- head.orig/arch/x86/kernel/head_32-xen.S 2012-12-06 16:06:24.000000000 +0100
+++ head/arch/x86/kernel/head_32-xen.S 2011-08-09 10:36:25.000000000 +0200
@@ -28,6 +28,7 @@
#define X86_CAPABILITY new_cpu_data+CPUINFO_x86_capability
@@ -821,7 +821,7 @@ Acked-by: jbeulich@novell.com
out:
if (mem_base)
iounmap(mem_base);
---- head.orig/arch/x86/kernel/pcspeaker.c 2008-12-25 00:26:37.000000000 +0100
+--- head.orig/arch/x86/kernel/pcspeaker.c 2012-12-18 11:38:26.000000000 +0100
+++ head/arch/x86/kernel/pcspeaker.c 2011-01-31 17:32:22.000000000 +0100
@@ -6,6 +6,11 @@ static __init int add_pcspkr(void)
{
@@ -4243,9 +4243,9 @@ Acked-by: jbeulich@novell.com
}
static const struct netif_stat {
---- head.orig/drivers/xen/netfront/netfront.c 2012-10-04 11:50:26.000000000 +0200
-+++ head/drivers/xen/netfront/netfront.c 2012-10-04 11:53:12.000000000 +0200
-@@ -1810,7 +1810,7 @@ static void netfront_get_drvinfo(struct
+--- head.orig/drivers/xen/netfront/netfront.c 2012-12-18 11:57:21.000000000 +0100
++++ head/drivers/xen/netfront/netfront.c 2012-12-18 11:57:42.000000000 +0100
+@@ -1811,7 +1811,7 @@ static void netfront_get_drvinfo(struct
struct ethtool_drvinfo *info)
{
strcpy(info->driver, "netfront");
@@ -4254,7 +4254,7 @@ Acked-by: jbeulich@novell.com
}
static int network_connect(struct net_device *dev)
-@@ -1938,20 +1938,19 @@ static struct ethtool_ops network_ethtoo
+@@ -1939,20 +1939,19 @@ static struct ethtool_ops network_ethtoo
};
#ifdef CONFIG_SYSFS
@@ -4281,7 +4281,7 @@ Acked-by: jbeulich@novell.com
struct netfront_info *np = netdev_priv(netdev);
char *endp;
unsigned long target;
-@@ -1981,20 +1980,19 @@ static ssize_t store_rxbuf_min(struct cl
+@@ -1982,20 +1981,19 @@ static ssize_t store_rxbuf_min(struct cl
return len;
}
@@ -4308,7 +4308,7 @@ Acked-by: jbeulich@novell.com
struct netfront_info *np = netdev_priv(netdev);
char *endp;
unsigned long target;
-@@ -2024,16 +2022,15 @@ static ssize_t store_rxbuf_max(struct cl
+@@ -2025,16 +2023,15 @@ static ssize_t store_rxbuf_max(struct cl
return len;
}
@@ -4329,7 +4329,7 @@ Acked-by: jbeulich@novell.com
__ATTR(rxbuf_min, S_IRUGO|S_IWUSR, show_rxbuf_min, store_rxbuf_min),
__ATTR(rxbuf_max, S_IRUGO|S_IWUSR, show_rxbuf_max, store_rxbuf_max),
__ATTR(rxbuf_cur, S_IRUGO, show_rxbuf_cur, NULL),
-@@ -2045,8 +2042,8 @@ static int xennet_sysfs_addif(struct net
+@@ -2046,8 +2043,8 @@ static int xennet_sysfs_addif(struct net
int error = 0;
for (i = 0; i < ARRAY_SIZE(xennet_attrs); i++) {
@@ -4340,7 +4340,7 @@ Acked-by: jbeulich@novell.com
if (error)
goto fail;
}
-@@ -2054,8 +2051,7 @@ static int xennet_sysfs_addif(struct net
+@@ -2055,8 +2052,7 @@ static int xennet_sysfs_addif(struct net
fail:
while (--i >= 0)
@@ -4350,7 +4350,7 @@ Acked-by: jbeulich@novell.com
return error;
}
-@@ -2063,10 +2059,8 @@ static void xennet_sysfs_delif(struct ne
+@@ -2064,10 +2060,8 @@ static void xennet_sysfs_delif(struct ne
{
int i;
@@ -4699,7 +4699,7 @@ Acked-by: jbeulich@novell.com
void xenbus_unregister_driver(struct xenbus_driver *drv);
struct xenbus_transaction
---- head.orig/lib/swiotlb-xen.c 2010-09-16 13:31:46.000000000 +0200
+--- head.orig/lib/swiotlb-xen.c 2012-11-14 12:23:04.000000000 +0100
+++ head/lib/swiotlb-xen.c 2011-01-31 17:32:22.000000000 +0100
@@ -143,8 +143,8 @@ __setup("swiotlb=", setup_io_tlb_npages)
* Statically reserve bounce buffer space and initialize bounce buffer data
diff --git a/patches.xen/xen3-patch-2.6.22 b/patches.xen/xen3-patch-2.6.22
index 4e7cfc9ee9..b93e6ec97c 100644
--- a/patches.xen/xen3-patch-2.6.22
+++ b/patches.xen/xen3-patch-2.6.22
@@ -3965,7 +3965,7 @@ Acked-by: jbeulich@novell.com
if (err <= 0) {
WPRINTK("bind_listening_port_to_irqhandler failed "
"(err=%d)\n", err);
---- head.orig/drivers/hwmon/Kconfig 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/hwmon/Kconfig 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/hwmon/Kconfig 2012-10-23 14:42:53.000000000 +0200
@@ -455,7 +455,7 @@ config SENSORS_HIH6130
@@ -5308,9 +5308,9 @@ Acked-by: jbeulich@novell.com
spin_unlock_irqrestore(&accelerator->vif_states_lock, flags);
}
return rc;
---- head.orig/drivers/xen/netfront/netfront.c 2012-10-04 11:53:12.000000000 +0200
-+++ head/drivers/xen/netfront/netfront.c 2012-10-04 11:53:22.000000000 +0200
-@@ -513,7 +513,7 @@ static int setup_device(struct xenbus_de
+--- head.orig/drivers/xen/netfront/netfront.c 2012-12-18 11:57:42.000000000 +0100
++++ head/drivers/xen/netfront/netfront.c 2012-12-18 11:57:55.000000000 +0100
+@@ -514,7 +514,7 @@ static int setup_device(struct xenbus_de
memcpy(netdev->dev_addr, info->mac, ETH_ALEN);
err = bind_listening_port_to_irqhandler(
@@ -5319,7 +5319,7 @@ Acked-by: jbeulich@novell.com
netdev);
if (err < 0)
goto fail;
-@@ -631,8 +631,6 @@ static int network_open(struct net_devic
+@@ -632,8 +632,6 @@ static int network_open(struct net_devic
{
struct netfront_info *np = netdev_priv(dev);
@@ -5328,7 +5328,7 @@ Acked-by: jbeulich@novell.com
spin_lock_bh(&np->rx_lock);
if (netfront_carrier_ok(np)) {
network_alloc_rx_buffers(dev);
-@@ -1033,8 +1031,8 @@ static int network_start_xmit(struct sk_
+@@ -1034,8 +1032,8 @@ static int network_start_xmit(struct sk_
if (notify)
notify_remote_via_irq(np->irq);
@@ -5339,7 +5339,7 @@ Acked-by: jbeulich@novell.com
dev->trans_start = jiffies;
/* Note: It is not safe to access skb after network_tx_buf_gc()! */
-@@ -1048,7 +1046,7 @@ static int network_start_xmit(struct sk_
+@@ -1049,7 +1047,7 @@ static int network_start_xmit(struct sk_
return 0;
drop:
@@ -5348,7 +5348,7 @@ Acked-by: jbeulich@novell.com
dev_kfree_skb(skb);
return 0;
}
-@@ -1366,7 +1364,7 @@ static int netif_poll(struct net_device
+@@ -1367,7 +1365,7 @@ static int netif_poll(struct net_device
err:
while ((skb = __skb_dequeue(&tmpq)))
__skb_queue_tail(&errq, skb);
@@ -5357,7 +5357,7 @@ Acked-by: jbeulich@novell.com
i = np->rx.rsp_cons;
continue;
}
-@@ -1434,8 +1432,8 @@ err:
+@@ -1435,8 +1433,8 @@ err:
else
skb->ip_summed = CHECKSUM_NONE;
@@ -5368,7 +5368,7 @@ Acked-by: jbeulich@novell.com
__skb_queue_tail(&rxq, skb);
-@@ -1686,7 +1684,7 @@ static struct net_device_stats *network_
+@@ -1687,7 +1685,7 @@ static struct net_device_stats *network_
struct netfront_info *np = netdev_priv(dev);
netfront_accelerator_call_get_stats(np, dev);
@@ -5661,7 +5661,7 @@ Acked-by: jbeulich@novell.com
if (error)
return error;
---- head.orig/arch/x86/include/asm/boot.h 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/arch/x86/include/asm/boot.h 2012-12-18 11:38:26.000000000 +0100
+++ head/arch/x86/include/asm/boot.h 2012-06-13 15:12:23.000000000 +0200
@@ -16,7 +16,7 @@
& ~(CONFIG_PHYSICAL_ALIGN - 1))
@@ -7452,7 +7452,7 @@ Acked-by: jbeulich@novell.com
#define __flush_tlb() xen_tlb_flush()
---- head.orig/include/linux/msi.h 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/include/linux/msi.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/linux/msi.h 2012-04-04 14:03:08.000000000 +0200
@@ -4,6 +4,8 @@
#include <linux/kobject.h>
@@ -7524,7 +7524,7 @@ Acked-by: jbeulich@novell.com
goto out;
if (csum) {
---- head.orig/kernel/irq/chip.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/kernel/irq/chip.c 2012-12-18 11:38:26.000000000 +0100
+++ head/kernel/irq/chip.c 2012-04-10 16:15:06.000000000 +0200
@@ -89,6 +89,7 @@ int irq_set_handler_data(unsigned int ir
}
@@ -7552,7 +7552,7 @@ Acked-by: jbeulich@novell.com
EXPORT_SYMBOL(swiotlb_map_single);
EXPORT_SYMBOL(swiotlb_unmap_single);
EXPORT_SYMBOL(swiotlb_map_sg);
---- head.orig/mm/vmalloc.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/mm/vmalloc.c 2012-12-18 11:38:26.000000000 +0100
+++ head/mm/vmalloc.c 2012-08-20 10:37:16.000000000 +0200
@@ -1592,6 +1592,13 @@ static void *__vmalloc_area_node(struct
struct page **pages;
diff --git a/patches.xen/xen3-patch-2.6.23 b/patches.xen/xen3-patch-2.6.23
index 3fd66a4857..fe67576bd6 100644
--- a/patches.xen/xen3-patch-2.6.23
+++ b/patches.xen/xen3-patch-2.6.23
@@ -5,7 +5,7 @@ Patch-mainline: 2.6.23
Automatically created from "patches.kernel.org/patch-2.6.23" by xen-port-patches.py
Acked-by: jbeulich@novell.com
---- head.orig/arch/x86/Kbuild 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/arch/x86/Kbuild 2012-12-18 11:38:26.000000000 +0100
+++ head/arch/x86/Kbuild 2012-06-13 15:13:30.000000000 +0200
@@ -1,7 +1,7 @@
obj-$(CONFIG_KVM) += kvm/
@@ -16,7 +16,7 @@ Acked-by: jbeulich@novell.com
# lguest paravirtualization support
obj-$(CONFIG_LGUEST_GUEST) += lguest/
---- head.orig/arch/x86/kernel/asm-offsets.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/arch/x86/kernel/asm-offsets.c 2012-12-18 11:38:26.000000000 +0100
+++ head/arch/x86/kernel/asm-offsets.c 2011-04-13 12:42:43.000000000 +0200
@@ -17,7 +17,7 @@
#include <asm/bootparam.h>
@@ -1204,7 +1204,7 @@ Acked-by: jbeulich@novell.com
(atomic_read(&mm->mm_count) == 1) &&
!mm->context.has_foreign_mappings)
mm_unpin(mm);
---- head.orig/arch/x86/xen/Kconfig 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/arch/x86/xen/Kconfig 2012-12-18 11:38:26.000000000 +0100
+++ head/arch/x86/xen/Kconfig 2011-01-31 17:49:31.000000000 +0100
@@ -2,7 +2,7 @@
# This Kconfig describes xen options
@@ -1215,7 +1215,7 @@ Acked-by: jbeulich@novell.com
bool "Xen guest support"
select PARAVIRT
select PARAVIRT_CLOCK
---- head.orig/arch/x86/xen/xen-head.S 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/arch/x86/xen/xen-head.S 2012-12-18 11:38:26.000000000 +0100
+++ head/arch/x86/xen/xen-head.S 2012-10-23 14:49:29.000000000 +0200
@@ -1,7 +1,7 @@
/* Xen-specific pieces of head.S, intended to be included in the right
@@ -2399,7 +2399,7 @@ Acked-by: jbeulich@novell.com
#include <xen/interface/xen.h>
#include <xen/interface/xenoprof.h>
#include <xen/xenoprof.h>
---- head.orig/arch/x86/vdso/vdso32/note.S 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/arch/x86/vdso/vdso32/note.S 2012-12-18 11:38:26.000000000 +0100
+++ head/arch/x86/vdso/vdso32/note.S 2011-01-31 17:49:31.000000000 +0100
@@ -13,7 +13,7 @@ ELFNOTE_START(Linux, 0, "a")
.long LINUX_VERSION_CODE
@@ -2434,7 +2434,7 @@ Acked-by: jbeulich@novell.com
# regulators early, since some subsystems rely on them to initialize
obj-$(CONFIG_REGULATOR) += regulator/
---- head.orig/drivers/block/Kconfig 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/block/Kconfig 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/block/Kconfig 2012-11-14 12:38:26.000000000 +0100
@@ -477,9 +477,9 @@ config XILINX_SYSACE
help
@@ -2448,7 +2448,7 @@ Acked-by: jbeulich@novell.com
default y
select XEN_XENBUS_FRONTEND
help
---- head.orig/drivers/block/Makefile 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/block/Makefile 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/block/Makefile 2012-10-23 14:49:03.000000000 +0200
@@ -35,7 +35,7 @@ obj-$(CONFIG_VIODASD) += viodasd.o
obj-$(CONFIG_BLK_DEV_SX8) += sx8.o
@@ -2459,7 +2459,7 @@ Acked-by: jbeulich@novell.com
obj-$(CONFIG_XEN_BLKDEV_BACKEND) += xen-blkback/
obj-$(CONFIG_BLK_DEV_DRBD) += drbd/
obj-$(CONFIG_BLK_DEV_RBD) += rbd.o
---- head.orig/drivers/tty/hvc/Kconfig 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/tty/hvc/Kconfig 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/tty/hvc/Kconfig 2012-04-10 16:36:21.000000000 +0200
@@ -59,7 +59,7 @@ config HVC_IUCV
@@ -2470,7 +2470,7 @@ Acked-by: jbeulich@novell.com
select HVC_DRIVER
select HVC_IRQ
default y
---- head.orig/drivers/net/Kconfig 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/net/Kconfig 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/net/Kconfig 2012-10-23 14:49:09.000000000 +0200
@@ -303,9 +303,9 @@ source "drivers/net/wan/Kconfig"
@@ -2484,7 +2484,7 @@ Acked-by: jbeulich@novell.com
select XEN_XENBUS_FRONTEND
default y
help
---- head.orig/drivers/net/Makefile 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/drivers/net/Makefile 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/net/Makefile 2012-10-23 14:49:15.000000000 +0200
@@ -57,7 +57,7 @@ obj-$(CONFIG_WIMAX) += wimax/
obj-$(CONFIG_IEEE802154) += ieee802154/
@@ -2585,8 +2585,8 @@ Acked-by: jbeulich@novell.com
- 0, 0, NULL, NULL);
+ 0, 0, NULL);
}
---- head.orig/drivers/xen/blkback/xenbus.c 2012-04-04 08:57:09.000000000 +0200
-+++ head/drivers/xen/blkback/xenbus.c 2011-01-31 17:49:31.000000000 +0100
+--- head.orig/drivers/xen/blkback/xenbus.c 2012-12-18 10:47:37.000000000 +0100
++++ head/drivers/xen/blkback/xenbus.c 2012-12-18 11:59:09.000000000 +0100
@@ -27,8 +27,6 @@
pr_debug("blkback/xenbus (%s:%d) " fmt ".\n", \
__FUNCTION__, __LINE__, ##args)
@@ -2615,8 +2615,8 @@ Acked-by: jbeulich@novell.com
if (be->major || be->minor)
xenvbd_sysfs_delif(dev);
-@@ -200,7 +195,6 @@ static int blkback_remove(struct xenbus_
-
+@@ -201,7 +196,6 @@ static int blkback_remove(struct xenbus_
+ kfree(be->mode);
kfree(be);
dev->dev.driver_data = NULL;
- write_unlock(&sysfs_read_lock);
@@ -4642,7 +4642,7 @@ Acked-by: jbeulich@novell.com
#endif
#define PREEMPT_ACTIVE 0x10000000
---- head.orig/arch/x86/include/asm/xen/interface.h 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/arch/x86/include/asm/xen/interface.h 2012-12-18 11:38:26.000000000 +0100
+++ head/arch/x86/include/asm/xen/interface.h 2012-10-31 11:04:30.000000000 +0100
@@ -10,17 +10,20 @@
#define _ASM_X86_XEN_INTERFACE_H
@@ -4695,7 +4695,7 @@ Acked-by: jbeulich@novell.com
/*
* SEGMENT DESCRIPTOR TABLES
---- head.orig/include/linux/elfnote.h 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/include/linux/elfnote.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/linux/elfnote.h 2011-01-31 17:49:31.000000000 +0100
@@ -52,7 +52,7 @@
4484:.balign 4 ; \
@@ -4756,7 +4756,7 @@ Acked-by: jbeulich@novell.com
-#endif /* __ASM_XEN_DRIVER_UTIL_H__ */
+#endif /* __XEN_DRIVER_UTIL_H__ */
---- head.orig/include/xen/features.h 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/include/xen/features.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/xen/features.h 2011-01-31 17:49:31.000000000 +0100
@@ -10,6 +10,7 @@
#define __XEN_FEATURES_H__
@@ -4772,9 +4772,9 @@ Acked-by: jbeulich@novell.com
-#endif /* __ASM_XEN_FEATURES_H__ */
+#endif /* __XEN_FEATURES_H__ */
---- head.orig/include/xen/interface/arch-x86/xen.h 2012-10-04 11:18:40.000000000 +0200
-+++ head/include/xen/interface/arch-x86/xen.h 2011-03-17 14:11:48.000000000 +0100
-@@ -50,6 +50,9 @@
+--- head.orig/include/xen/interface/arch-x86/xen.h 2012-12-18 10:47:37.000000000 +0100
++++ head/include/xen/interface/arch-x86/xen.h 2012-12-18 11:59:24.000000000 +0100
+@@ -59,6 +59,9 @@
#endif
#define set_xen_guest_handle(hnd, val) set_xen_guest_handle_raw(hnd, val)
@@ -4819,8 +4819,8 @@ Acked-by: jbeulich@novell.com
#define NETIF_RSP_DROPPED -2
#define NETIF_RSP_ERROR -1
---- head.orig/include/xen/interface/memory.h 2012-04-04 08:57:09.000000000 +0200
-+++ head/include/xen/interface/memory.h 2012-02-16 12:30:17.000000000 +0100
+--- head.orig/include/xen/interface/memory.h 2012-12-18 10:47:37.000000000 +0100
++++ head/include/xen/interface/memory.h 2012-12-18 12:00:12.000000000 +0100
@@ -94,6 +94,7 @@ struct xen_memory_reservation {
*/
domid_t domid;
@@ -4837,25 +4837,25 @@ Acked-by: jbeulich@novell.com
typedef struct xen_machphys_mfn_list xen_machphys_mfn_list_t;
DEFINE_XEN_GUEST_HANDLE(xen_machphys_mfn_list_t);
-@@ -232,6 +234,7 @@ struct xen_add_to_physmap {
- /* GPFN where the source mapping page should appear. */
+@@ -236,6 +238,7 @@ struct xen_add_to_physmap {
+ /* GPFN in domid where the source mapping page should appear. */
xen_pfn_t gpfn;
};
+DEFINE_GUEST_HANDLE_STRUCT(xen_add_to_physmap);
typedef struct xen_add_to_physmap xen_add_to_physmap_t;
DEFINE_XEN_GUEST_HANDLE(xen_add_to_physmap_t);
---- head.orig/include/xen/interface/sched.h 2011-01-31 15:14:12.000000000 +0100
-+++ head/include/xen/interface/sched.h 2011-01-31 17:49:31.000000000 +0100
-@@ -67,6 +67,7 @@
+--- head.orig/include/xen/interface/sched.h 2012-12-18 10:47:37.000000000 +0100
++++ head/include/xen/interface/sched.h 2012-12-18 12:00:51.000000000 +0100
+@@ -122,6 +122,7 @@
struct sched_shutdown {
- unsigned int reason; /* SHUTDOWN_* */
+ unsigned int reason; /* SHUTDOWN_* => enum sched_shutdown_reason */
};
+DEFINE_GUEST_HANDLE_STRUCT(sched_shutdown);
typedef struct sched_shutdown sched_shutdown_t;
DEFINE_XEN_GUEST_HANDLE(sched_shutdown_t);
-@@ -81,6 +82,7 @@ struct sched_poll {
+@@ -130,6 +131,7 @@ struct sched_poll {
unsigned int nr_ports;
uint64_t timeout;
};
@@ -4863,9 +4863,9 @@ Acked-by: jbeulich@novell.com
typedef struct sched_poll sched_poll_t;
DEFINE_XEN_GUEST_HANDLE(sched_poll_t);
---- head.orig/include/xen/interface/version.h 2011-01-31 15:14:12.000000000 +0100
-+++ head/include/xen/interface/version.h 2011-01-31 17:49:31.000000000 +0100
-@@ -36,6 +36,9 @@
+--- head.orig/include/xen/interface/version.h 2012-12-18 10:47:37.000000000 +0100
++++ head/include/xen/interface/version.h 2012-12-18 12:00:21.000000000 +0100
+@@ -38,6 +38,9 @@
/* arg == xen_extraversion_t. */
#define XENVER_extraversion 1
typedef char xen_extraversion_t[16];
@@ -4875,7 +4875,7 @@ Acked-by: jbeulich@novell.com
#define XEN_EXTRAVERSION_LEN (sizeof(xen_extraversion_t))
/* arg == xen_compile_info_t. */
-@@ -50,10 +53,16 @@ typedef struct xen_compile_info xen_comp
+@@ -52,10 +55,16 @@ typedef struct xen_compile_info xen_comp
#define XENVER_capabilities 3
typedef char xen_capabilities_info_t[1024];
@@ -4892,8 +4892,8 @@ Acked-by: jbeulich@novell.com
#define XEN_CHANGESET_INFO_LEN (sizeof(xen_changeset_info_t))
#define XENVER_platform_parameters 5
---- head.orig/include/xen/interface/xen.h 2012-04-04 08:57:09.000000000 +0200
-+++ head/include/xen/interface/xen.h 2012-04-04 10:14:21.000000000 +0200
+--- head.orig/include/xen/interface/xen.h 2012-12-18 10:47:37.000000000 +0100
++++ head/include/xen/interface/xen.h 2012-12-18 12:00:21.000000000 +0100
@@ -32,7 +32,9 @@
#include <asm/pvclock-abi.h>
#endif
@@ -4905,7 +4905,7 @@ Acked-by: jbeulich@novell.com
#include "arch-x86/xen.h"
#elif defined(__ia64__)
#include "arch-ia64.h"
-@@ -121,7 +123,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
+@@ -124,7 +126,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
*/
/* New sched_op hypercall introduced in 0x00030101. */
@@ -4914,7 +4914,7 @@ Acked-by: jbeulich@novell.com
#define __HYPERVISOR_sched_op __HYPERVISOR_sched_op_compat
#else
#define __HYPERVISOR_sched_op __HYPERVISOR_sched_op_new
-@@ -136,7 +138,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
+@@ -139,7 +141,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
#endif
/* New platform_op hypercall introduced in 0x00030204. */
@@ -4923,7 +4923,7 @@ Acked-by: jbeulich@novell.com
#define __HYPERVISOR_dom0_op __HYPERVISOR_platform_op
#endif
-@@ -422,6 +424,7 @@ struct mmuext_op {
+@@ -433,6 +435,7 @@ struct mmuext_op {
xen_pfn_t src_mfn;
} arg2;
};
@@ -4931,7 +4931,7 @@ Acked-by: jbeulich@novell.com
typedef struct mmuext_op mmuext_op_t;
DEFINE_XEN_GUEST_HANDLE(mmuext_op_t);
#endif
-@@ -514,6 +517,7 @@ struct mmu_update {
+@@ -541,6 +544,7 @@ struct mmu_update {
uint64_t ptr; /* Machine address of PTE. */
uint64_t val; /* New contents of PTE. */
};
@@ -4939,7 +4939,7 @@ Acked-by: jbeulich@novell.com
typedef struct mmu_update mmu_update_t;
DEFINE_XEN_GUEST_HANDLE(mmu_update_t);
-@@ -522,9 +526,15 @@ DEFINE_XEN_GUEST_HANDLE(mmu_update_t);
+@@ -552,9 +556,15 @@ DEFINE_XEN_GUEST_HANDLE(mmu_update_t);
* NB. The fields are natural register size for this architecture.
*/
struct multicall_entry {
diff --git a/patches.xen/xen3-patch-2.6.24 b/patches.xen/xen3-patch-2.6.24
index 8aa67f7ce0..78d2e0b9a0 100644
--- a/patches.xen/xen3-patch-2.6.24
+++ b/patches.xen/xen3-patch-2.6.24
@@ -207,7 +207,7 @@ Acked-by: jbeulich@novell.com
kfree(buf);
return -EINVAL;
}
---- head.orig/arch/x86/kernel/cpu/Makefile 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/kernel/cpu/Makefile 2012-12-18 11:38:26.000000000 +0100
+++ head/arch/x86/kernel/cpu/Makefile 2012-08-20 10:38:35.000000000 +0200
@@ -42,6 +42,8 @@ obj-$(CONFIG_MTRR) += mtrr/
@@ -239,7 +239,7 @@ Acked-by: jbeulich@novell.com
c->x86_clflush_size = 32;
memset(&c->x86_capability, 0, sizeof c->x86_capability);
---- head.orig/arch/x86/kernel/cpu/intel.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/kernel/cpu/intel.c 2012-12-18 11:38:26.000000000 +0100
+++ head/arch/x86/kernel/cpu/intel.c 2012-02-08 11:36:23.000000000 +0100
@@ -302,6 +302,7 @@ static void __cpuinit srat_detect_node(s
#endif
@@ -4070,7 +4070,7 @@ Acked-by: jbeulich@novell.com
/* Copied from arch/i386/pci/common.c */
pci_cache_line_size = 32 >> 2;
---- head.orig/drivers/acpi/processor_core.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/acpi/processor_core.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/acpi/processor_core.c 2012-07-25 09:16:30.000000000 +0200
@@ -201,11 +201,21 @@ int acpi_get_cpuid(acpi_handle handle, i
}
@@ -4136,7 +4136,7 @@ Acked-by: jbeulich@novell.com
static inline int
---- head.orig/drivers/cpuidle/Kconfig 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/cpuidle/Kconfig 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/cpuidle/Kconfig 2012-02-29 10:35:17.000000000 +0100
@@ -1,6 +1,7 @@
@@ -4146,7 +4146,7 @@ Acked-by: jbeulich@novell.com
default y if ACPI || PPC_PSERIES
help
CPU idle is a generic framework for supporting software-controlled
---- head.orig/drivers/dma/Kconfig 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/dma/Kconfig 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/dma/Kconfig 2012-08-20 10:38:08.000000000 +0200
@@ -62,7 +62,7 @@ config INTEL_IOATDMA
tristate "Intel I/OAT DMA support"
@@ -4157,14 +4157,14 @@ Acked-by: jbeulich@novell.com
select ASYNC_TX_DISABLE_PQ_VAL_DMA
select ASYNC_TX_DISABLE_XOR_VAL_DMA
help
---- head.orig/drivers/dma/ioat/Makefile 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/dma/ioat/Makefile 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/dma/ioat/Makefile 2011-01-31 17:56:27.000000000 +0100
@@ -1,2 +1,3 @@
obj-$(CONFIG_INTEL_IOATDMA) += ioatdma.o
-ioatdma-y := pci.o dma.o dma_v2.o dma_v3.o dca.o
+dca-$(CONFIG_DCA) := dca.o
+ioatdma-y := pci.o dma.o dma_v2.o dma_v3.o $(dca-y) $(dca-m)
---- head.orig/drivers/dma/ioat/dca.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/dma/ioat/dca.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/dma/ioat/dca.c 2011-01-31 17:56:27.000000000 +0100
@@ -682,3 +682,15 @@ ioat3_dca_init(struct pci_dev *pdev, voi
@@ -4182,7 +4182,7 @@ Acked-by: jbeulich@novell.com
+ free_dca_provider(device->dca);
+ device->dca = NULL;
+}
---- head.orig/drivers/dma/ioat/dma.h 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/dma/ioat/dma.h 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/dma/ioat/dma.h 2012-04-10 16:38:51.000000000 +0200
@@ -324,4 +324,22 @@ void ioat_kobject_del(struct ioatdma_dev
extern const struct sysfs_ops ioat_sysfs_ops;
@@ -4207,7 +4207,7 @@ Acked-by: jbeulich@novell.com
+#endif
+
#endif /* IOATDMA_H */
---- head.orig/drivers/dma/ioat/pci.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/dma/ioat/pci.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/dma/ioat/pci.c 2012-10-23 14:53:42.000000000 +0200
@@ -29,7 +29,6 @@
#include <linux/module.h>
@@ -4533,23 +4533,23 @@ Acked-by: jbeulich@novell.com
return;
abort:
xenbus_transaction_end(xbt, 1);
---- head.orig/drivers/xen/blkback/xenbus.c 2011-01-31 17:49:31.000000000 +0100
-+++ head/drivers/xen/blkback/xenbus.c 2012-04-04 10:19:57.000000000 +0200
-@@ -291,10 +291,9 @@ static void backend_changed(struct xenbu
-
- if ((be->major || be->minor) &&
- ((be->major != major) || (be->minor != minor))) {
-- printk(KERN_WARNING
-- "blkback: changing physical device (from %x:%x to "
-- "%x:%x) not supported.\n", be->major, be->minor,
-- major, minor);
-+ pr_warning("blkback: changing physical device (from %x:%x to"
-+ " %x:%x) not supported\n", be->major, be->minor,
-+ major, minor);
+--- head.orig/drivers/xen/blkback/xenbus.c 2012-12-18 11:59:09.000000000 +0100
++++ head/drivers/xen/blkback/xenbus.c 2012-12-18 12:04:14.000000000 +0100
+@@ -293,10 +293,9 @@ static void backend_changed(struct xenbu
+
+ if (be->major | be->minor) {
+ if (be->major != major || be->minor != minor)
+- printk(KERN_WARNING "blkback: "
+- "changing physical device (from %x:%x to "
+- "%x:%x) not supported.\n",
+- be->major, be->minor, major, minor);
++ pr_warning("blkback: changing physical device"
++ " (from %x:%x to %x:%x) not supported\n",
++ be->major, be->minor, major, minor);
return;
}
-@@ -357,8 +356,8 @@ static void frontend_changed(struct xenb
+@@ -358,8 +357,8 @@ static void frontend_changed(struct xenb
switch (frontend_state) {
case XenbusStateInitialising:
if (dev->state == XenbusStateClosed) {
@@ -4560,7 +4560,7 @@ Acked-by: jbeulich@novell.com
xenbus_switch_state(dev, XenbusStateInitWait);
}
break;
-@@ -504,10 +503,9 @@ static int connect_ring(struct backend_i
+@@ -505,10 +504,9 @@ static int connect_ring(struct backend_i
kfree(protocol);
return -1;
}
@@ -5700,9 +5700,9 @@ Acked-by: jbeulich@novell.com
}
---- head.orig/drivers/xen/netfront/netfront.c 2012-10-04 11:53:22.000000000 +0200
-+++ head/drivers/xen/netfront/netfront.c 2012-10-04 11:54:26.000000000 +0200
-@@ -205,10 +205,8 @@ static inline grant_ref_t xennet_get_rx_
+--- head.orig/drivers/xen/netfront/netfront.c 2012-12-18 11:57:55.000000000 +0100
++++ head/drivers/xen/netfront/netfront.c 2012-12-18 12:04:18.000000000 +0100
+@@ -206,10 +206,8 @@ static inline grant_ref_t xennet_get_rx_
#define DPRINTK(fmt, args...) \
pr_debug("netfront (%s:%d) " fmt, \
__FUNCTION__, __LINE__, ##args)
@@ -5715,7 +5715,7 @@ Acked-by: jbeulich@novell.com
static int setup_device(struct xenbus_device *, struct netfront_info *);
static struct net_device *create_netdev(struct xenbus_device *);
-@@ -261,16 +259,16 @@ static int __devinit netfront_probe(stru
+@@ -262,16 +260,16 @@ static int __devinit netfront_probe(stru
err = register_netdev(info->netdev);
if (err) {
@@ -5736,7 +5736,7 @@ Acked-by: jbeulich@novell.com
goto fail;
}
-@@ -626,11 +624,12 @@ int netfront_check_queue_ready(struct ne
+@@ -627,11 +625,12 @@ int netfront_check_queue_ready(struct ne
}
EXPORT_SYMBOL(netfront_check_queue_ready);
@@ -5750,7 +5750,7 @@ Acked-by: jbeulich@novell.com
spin_lock_bh(&np->rx_lock);
if (netfront_carrier_ok(np)) {
network_alloc_rx_buffers(dev);
-@@ -638,7 +637,7 @@ static int network_open(struct net_devic
+@@ -639,7 +638,7 @@ static int network_open(struct net_devic
if (RING_HAS_UNCONSUMED_RESPONSES(&np->rx)){
netfront_accelerator_call_stop_napi_irq(np, dev);
@@ -5759,7 +5759,7 @@ Acked-by: jbeulich@novell.com
}
}
spin_unlock_bh(&np->rx_lock);
-@@ -672,9 +671,8 @@ static void network_tx_buf_gc(struct net
+@@ -673,9 +672,8 @@ static void network_tx_buf_gc(struct net
skb = np->tx_skbs[id];
if (unlikely(gnttab_query_foreign_access(
np->grant_tx_ref[id]) != 0)) {
@@ -5771,7 +5771,7 @@ Acked-by: jbeulich@novell.com
BUG();
}
gnttab_end_foreign_access_ref(np->grant_tx_ref[id]);
-@@ -710,7 +708,7 @@ static void rx_refill_timeout(unsigned l
+@@ -711,7 +709,7 @@ static void rx_refill_timeout(unsigned l
netfront_accelerator_call_stop_napi_irq(np, dev);
@@ -5780,9 +5780,9 @@ Acked-by: jbeulich@novell.com
}
static void network_alloc_rx_buffers(struct net_device *dev)
-@@ -961,8 +959,7 @@ static int network_start_xmit(struct sk_
+@@ -962,8 +960,7 @@ static int network_start_xmit(struct sk_
- frags += (offset + len + PAGE_SIZE - 1) / PAGE_SIZE;
+ frags += PFN_UP(offset + len);
if (unlikely(frags > MAX_SKB_FRAGS + 1)) {
- printk(KERN_ALERT "xennet: skb rides the rocket: %d frags\n",
- frags);
@@ -5790,7 +5790,7 @@ Acked-by: jbeulich@novell.com
dump_stack();
goto drop;
}
-@@ -1065,7 +1062,7 @@ static irqreturn_t netif_int(int irq, vo
+@@ -1066,7 +1063,7 @@ static irqreturn_t netif_int(int irq, vo
if (RING_HAS_UNCONSUMED_RESPONSES(&np->rx)) {
netfront_accelerator_call_stop_napi_irq(np, dev);
@@ -5799,7 +5799,7 @@ Acked-by: jbeulich@novell.com
dev->last_rx = jiffies;
}
}
-@@ -1318,15 +1315,16 @@ static int xennet_set_skb_gso(struct sk_
+@@ -1319,15 +1316,16 @@ static int xennet_set_skb_gso(struct sk_
#endif
}
@@ -5819,7 +5819,7 @@ Acked-by: jbeulich@novell.com
struct sk_buff_head rxq;
struct sk_buff_head errq;
struct sk_buff_head tmpq;
-@@ -1346,8 +1344,6 @@ static int netif_poll(struct net_device
+@@ -1347,8 +1345,6 @@ static int netif_poll(struct net_device
skb_queue_head_init(&errq);
skb_queue_head_init(&tmpq);
@@ -5828,7 +5828,7 @@ Acked-by: jbeulich@novell.com
rp = np->rx.sring->rsp_prod;
rmb(); /* Ensure we see queued responses up to 'rp'. */
-@@ -1506,9 +1502,6 @@ err:
+@@ -1507,9 +1503,6 @@ err:
accel_more_to_do = 0;
}
@@ -5838,7 +5838,7 @@ Acked-by: jbeulich@novell.com
if (work_done < budget) {
local_irq_save(flags);
-@@ -1525,14 +1518,14 @@ err:
+@@ -1526,14 +1519,14 @@ err:
}
if (!more_to_do && !accel_more_to_do)
@@ -5855,7 +5855,7 @@ Acked-by: jbeulich@novell.com
}
static void netif_release_tx_bufs(struct netfront_info *np)
-@@ -1675,6 +1668,7 @@ static int network_close(struct net_devi
+@@ -1676,6 +1669,7 @@ static int network_close(struct net_devi
{
struct netfront_info *np = netdev_priv(dev);
netif_stop_queue(np->netdev);
@@ -5863,7 +5863,7 @@ Acked-by: jbeulich@novell.com
return 0;
}
-@@ -1776,9 +1770,13 @@ static const struct xennet_stat {
+@@ -1777,9 +1771,13 @@ static const struct xennet_stat {
},
};
@@ -5879,7 +5879,7 @@ Acked-by: jbeulich@novell.com
}
static void xennet_get_ethtool_stats(struct net_device *dev,
-@@ -1930,7 +1928,7 @@ static struct ethtool_ops network_ethtoo
+@@ -1931,7 +1929,7 @@ static struct ethtool_ops network_ethtoo
#endif
.get_link = ethtool_op_get_link,
@@ -5888,7 +5888,7 @@ Acked-by: jbeulich@novell.com
.get_ethtool_stats = xennet_get_ethtool_stats,
.get_strings = xennet_get_strings,
};
-@@ -2080,8 +2078,7 @@ static struct net_device * __devinit cre
+@@ -2081,8 +2079,7 @@ static struct net_device * __devinit cre
netdev = alloc_etherdev(sizeof(struct netfront_info));
if (!netdev) {
@@ -5898,7 +5898,7 @@ Acked-by: jbeulich@novell.com
return ERR_PTR(-ENOMEM);
}
-@@ -2116,14 +2113,14 @@ static struct net_device * __devinit cre
+@@ -2117,14 +2114,14 @@ static struct net_device * __devinit cre
/* A grant for every tx ring slot */
if (gnttab_alloc_grant_references(TX_MAX_TARGET,
&np->gref_tx_head) < 0) {
@@ -5915,7 +5915,7 @@ Acked-by: jbeulich@novell.com
err = -ENOMEM;
goto exit_free_tx;
}
-@@ -2132,16 +2129,14 @@ static struct net_device * __devinit cre
+@@ -2133,16 +2130,14 @@ static struct net_device * __devinit cre
netdev->hard_start_xmit = network_start_xmit;
netdev->stop = network_close;
netdev->get_stats = network_get_stats;
@@ -9657,7 +9657,7 @@ Acked-by: jbeulich@novell.com
+} while (0)
+
+#endif
---- head.orig/arch/x86/include/asm/mmu.h 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/arch/x86/include/asm/mmu.h 2012-12-18 11:38:26.000000000 +0100
+++ head/arch/x86/include/asm/mmu.h 2011-06-30 16:30:20.000000000 +0200
@@ -16,6 +16,9 @@ typedef struct {
/* True if mm supports a task running in 32 bit compatibility mode. */
@@ -9698,7 +9698,7 @@ Acked-by: jbeulich@novell.com
/* add a backtrace entry, to be called from the ->backtrace callback */
void oprofile_add_trace(unsigned long eip);
---- head.orig/include/uapi/linux/sysctl.h 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/include/uapi/linux/sysctl.h 2012-12-18 11:38:26.000000000 +0100
+++ head/include/uapi/linux/sysctl.h 2011-01-31 17:56:27.000000000 +0100
@@ -59,6 +59,7 @@ enum
CTL_BUS=8, /* Busses */
@@ -9888,7 +9888,7 @@ Acked-by: jbeulich@novell.com
#endif
VMCOREINFO_SYMBOL(_stext);
VMCOREINFO_SYMBOL(vmlist);
---- head.orig/kernel/sysctl_binary.c 2012-12-06 15:58:43.000000000 +0100
+--- head.orig/kernel/sysctl_binary.c 2012-12-18 11:38:26.000000000 +0100
+++ head/kernel/sysctl_binary.c 2011-01-31 17:56:27.000000000 +0100
@@ -873,6 +873,14 @@ static const struct bin_table bin_bus_ta
};
diff --git a/patches.xen/xen3-patch-2.6.26 b/patches.xen/xen3-patch-2.6.26
index 97af86a2a9..7ffecbe43e 100644
--- a/patches.xen/xen3-patch-2.6.26
+++ b/patches.xen/xen3-patch-2.6.26
@@ -689,7 +689,7 @@ Automatically created from "patches.kernel.org/patch-2.6.26" by xen-port-patches
}
void mtrr_ap_init(void)
---- head.orig/arch/x86/kernel/cpu/bugs.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/kernel/cpu/bugs.c 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/kernel/cpu/bugs.c 2012-08-20 10:41:38.000000000 +0200
@@ -17,6 +17,7 @@
#include <asm/paravirt.h>
@@ -732,7 +732,7 @@ Automatically created from "patches.kernel.org/patch-2.6.26" by xen-port-patches
}
/*
---- head.orig/arch/x86/kernel/cpu/proc.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/kernel/cpu/proc.c 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/kernel/cpu/proc.c 2011-03-03 16:38:42.000000000 +0100
@@ -10,7 +10,7 @@
static void show_cpuinfo_core(struct seq_file *m, struct cpuinfo_x86 *c,
@@ -2225,7 +2225,7 @@ Automatically created from "patches.kernel.org/patch-2.6.26" by xen-port-patches
return error;
}
---- head.orig/arch/x86/kernel/mmconf-fam10h_64.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/kernel/mmconf-fam10h_64.c 2012-12-18 11:38:26.000000000 +0100
+++ head/arch/x86/kernel/mmconf-fam10h_64.c 2011-01-31 18:07:35.000000000 +0100
@@ -205,12 +205,20 @@ void __cpuinit fam10h_check_enable_mmcfg
return;
@@ -13030,7 +13030,7 @@ Automatically created from "patches.kernel.org/patch-2.6.26" by xen-port-patches
EXPORT_SYMBOL(pci_disable_msix);
/**
---- head.orig/drivers/video/Kconfig 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/video/Kconfig 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/video/Kconfig 2012-10-23 14:58:07.000000000 +0200
@@ -2237,7 +2237,7 @@ config FB_VIRTUAL
@@ -14078,7 +14078,7 @@ Automatically created from "patches.kernel.org/patch-2.6.26" by xen-port-patches
};
static int xenfb_mmap(struct fb_info *fb_info, struct vm_area_struct *vma)
---- head.orig/drivers/xen/features.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/xen/features.c 2012-12-18 11:38:26.000000000 +0100
+++ head/drivers/xen/features.c 2011-01-31 18:07:35.000000000 +0100
@@ -9,14 +9,21 @@
#include <linux/cache.h>
@@ -14103,9 +14103,9 @@ Automatically created from "patches.kernel.org/patch-2.6.26" by xen-port-patches
void xen_setup_features(void)
{
---- head.orig/drivers/xen/netfront/netfront.c 2012-10-04 11:54:26.000000000 +0200
-+++ head/drivers/xen/netfront/netfront.c 2012-10-04 12:08:22.000000000 +0200
-@@ -1453,8 +1453,7 @@ err:
+--- head.orig/drivers/xen/netfront/netfront.c 2012-12-18 12:04:18.000000000 +0100
++++ head/drivers/xen/netfront/netfront.c 2012-12-18 12:04:42.000000000 +0100
+@@ -1454,8 +1454,7 @@ err:
}
}
@@ -14115,7 +14115,7 @@ Automatically created from "patches.kernel.org/patch-2.6.26" by xen-port-patches
while ((skb = __skb_dequeue(&rxq)) != NULL) {
struct page *page = NETFRONT_SKB_CB(skb)->page;
-@@ -1620,8 +1619,7 @@ static void netif_release_rx_bufs_flip(s
+@@ -1621,8 +1620,7 @@ static void netif_release_rx_bufs_flip(s
}
}
@@ -17929,8 +17929,8 @@ Automatically created from "patches.kernel.org/patch-2.6.26" by xen-port-patches
-#endif /* __ASM_BALLOON_H__ */
+#endif /* __XEN_BALLOON_H__ */
---- head.orig/include/xen/interface/grant_table.h 2012-10-04 11:18:40.000000000 +0200
-+++ head/include/xen/interface/grant_table.h 2012-10-04 12:08:15.000000000 +0200
+--- head.orig/include/xen/interface/grant_table.h 2012-12-18 10:47:37.000000000 +0100
++++ head/include/xen/interface/grant_table.h 2012-12-18 12:05:31.000000000 +0100
@@ -346,6 +346,7 @@ struct gnttab_map_grant_ref {
grant_handle_t handle;
uint64_t dev_bus_addr;
@@ -17947,15 +17947,15 @@ Automatically created from "patches.kernel.org/patch-2.6.26" by xen-port-patches
typedef struct gnttab_unmap_grant_ref gnttab_unmap_grant_ref_t;
DEFINE_XEN_GUEST_HANDLE(gnttab_unmap_grant_ref_t);
-@@ -388,6 +390,7 @@ struct gnttab_setup_table {
- int16_t status; /* => enum grant_status */
- XEN_GUEST_HANDLE(ulong) frame_list;
+@@ -392,6 +394,7 @@ struct gnttab_setup_table {
+ XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
+ #endif
};
+DEFINE_GUEST_HANDLE_STRUCT(gnttab_setup_table);
typedef struct gnttab_setup_table gnttab_setup_table_t;
DEFINE_XEN_GUEST_HANDLE(gnttab_setup_table_t);
-@@ -401,6 +404,7 @@ struct gnttab_dump_table {
+@@ -405,6 +408,7 @@ struct gnttab_dump_table {
/* OUT parameters. */
int16_t status; /* => enum grant_status */
};
@@ -17963,7 +17963,7 @@ Automatically created from "patches.kernel.org/patch-2.6.26" by xen-port-patches
typedef struct gnttab_dump_table gnttab_dump_table_t;
DEFINE_XEN_GUEST_HANDLE(gnttab_dump_table_t);
-@@ -420,6 +424,7 @@ struct gnttab_transfer {
+@@ -424,6 +428,7 @@ struct gnttab_transfer {
/* OUT parameters. */
int16_t status;
};
@@ -17971,7 +17971,7 @@ Automatically created from "patches.kernel.org/patch-2.6.26" by xen-port-patches
typedef struct gnttab_transfer gnttab_transfer_t;
DEFINE_XEN_GUEST_HANDLE(gnttab_transfer_t);
-@@ -465,6 +470,7 @@ struct gnttab_copy {
+@@ -469,6 +474,7 @@ struct gnttab_copy {
int16_t status;
};
typedef struct gnttab_copy gnttab_copy_t;
@@ -17979,7 +17979,7 @@ Automatically created from "patches.kernel.org/patch-2.6.26" by xen-port-patches
DEFINE_XEN_GUEST_HANDLE(gnttab_copy_t);
/*
-@@ -482,6 +488,7 @@ struct gnttab_query_size {
+@@ -486,6 +492,7 @@ struct gnttab_query_size {
uint32_t max_nr_frames;
int16_t status; /* => enum grant_status */
};
@@ -18002,8 +18002,8 @@ Automatically created from "patches.kernel.org/patch-2.6.26" by xen-port-patches
};
/*
---- head.orig/include/xen/interface/memory.h 2012-02-16 12:30:17.000000000 +0100
-+++ head/include/xen/interface/memory.h 2012-02-16 12:34:13.000000000 +0100
+--- head.orig/include/xen/interface/memory.h 2012-12-18 12:00:12.000000000 +0100
++++ head/include/xen/interface/memory.h 2012-12-18 12:05:58.000000000 +0100
@@ -94,7 +94,6 @@ struct xen_memory_reservation {
*/
domid_t domid;
@@ -18032,8 +18032,8 @@ Automatically created from "patches.kernel.org/patch-2.6.26" by xen-port-patches
typedef struct xen_machphys_mfn_list xen_machphys_mfn_list_t;
DEFINE_XEN_GUEST_HANDLE(xen_machphys_mfn_list_t);
-@@ -234,7 +236,6 @@ struct xen_add_to_physmap {
- /* GPFN where the source mapping page should appear. */
+@@ -238,7 +240,6 @@ struct xen_add_to_physmap {
+ /* GPFN in domid where the source mapping page should appear. */
xen_pfn_t gpfn;
};
-DEFINE_GUEST_HANDLE_STRUCT(xen_add_to_physmap);
diff --git a/patches.xen/xen3-patch-2.6.27 b/patches.xen/xen3-patch-2.6.27
index c5ebd1bff6..93bc9c728e 100644
--- a/patches.xen/xen3-patch-2.6.27
+++ b/patches.xen/xen3-patch-2.6.27
@@ -360,7 +360,7 @@ have been needed - see SLE11 SPn).
/*
* If acpi_disabled, bail out
---- head.orig/arch/x86/kernel/amd_nb.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/kernel/amd_nb.c 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/kernel/amd_nb.c 2012-08-20 10:54:48.000000000 +0200
@@ -18,6 +18,10 @@ static u32 *flush_words;
const struct pci_device_id amd_nb_misc_ids[] = {
@@ -387,7 +387,7 @@ have been needed - see SLE11 SPn).
#ifndef CONFIG_XEN
static int modern_apic(void)
---- head.orig/arch/x86/kernel/cpu/amd.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/kernel/cpu/amd.c 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/kernel/cpu/amd.c 2012-12-06 16:09:47.000000000 +0100
@@ -681,6 +681,7 @@ static void __cpuinit init_amd(struct cp
fam10h_check_enable_mmcfg();
@@ -405,7 +405,7 @@ have been needed - see SLE11 SPn).
/*
* Family 0x12 and above processors have APIC timer
---- head.orig/arch/x86/kernel/cpu/bugs_64.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/kernel/cpu/bugs_64.c 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/kernel/cpu/bugs_64.c 2011-02-01 14:38:38.000000000 +0100
@@ -20,6 +20,7 @@ void __init check_bugs(void)
#endif
@@ -4276,7 +4276,7 @@ have been needed - see SLE11 SPn).
cmpl $nr_syscalls,%eax
jb syscall_call
jmp syscall_exit
---- head.orig/arch/x86/kernel/entry_64.S 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/kernel/entry_64.S 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/kernel/entry_64.S 2012-10-23 15:02:16.000000000 +0200
@@ -1383,7 +1383,7 @@ ENTRY(arch_unwind_init_running)
END(arch_unwind_init_running)
@@ -9252,7 +9252,7 @@ have been needed - see SLE11 SPn).
};
void __init no_iommu_init(void)
---- head.orig/arch/x86/kernel/probe_roms.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/kernel/probe_roms.c 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/kernel/probe_roms.c 2012-04-10 16:47:21.000000000 +0200
@@ -233,7 +233,7 @@ void __init probe_roms(void)
upper = system_rom_resource.start;
@@ -19848,7 +19848,7 @@ have been needed - see SLE11 SPn).
void make_lowmem_page_readonly(void *va, unsigned int feature)
{
pte_t *pte;
---- head.orig/arch/x86/pci/amd_bus.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/pci/amd_bus.c 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/pci/amd_bus.c 2012-08-20 10:55:14.000000000 +0200
@@ -312,6 +312,7 @@ static int __init early_fill_mp_bus_info
@@ -19897,7 +19897,7 @@ have been needed - see SLE11 SPn).
if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD)
return 0;
---- head.orig/arch/x86/pci/mmconfig-shared.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/pci/mmconfig-shared.c 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/pci/mmconfig-shared.c 2012-08-20 10:53:07.000000000 +0200
@@ -23,6 +23,10 @@
#include <asm/pci_x86.h>
@@ -21343,9 +21343,9 @@ have been needed - see SLE11 SPn).
#include <linux/netdevice.h>
#include <linux/skbuff.h>
#include <linux/list.h>
---- head.orig/drivers/xen/netfront/netfront.c 2012-10-04 12:08:22.000000000 +0200
-+++ head/drivers/xen/netfront/netfront.c 2012-10-04 12:15:41.000000000 +0200
-@@ -642,7 +642,7 @@ static int network_open(struct net_devic
+--- head.orig/drivers/xen/netfront/netfront.c 2012-12-18 12:04:42.000000000 +0100
++++ head/drivers/xen/netfront/netfront.c 2012-12-18 12:06:27.000000000 +0100
+@@ -643,7 +643,7 @@ static int network_open(struct net_devic
}
spin_unlock_bh(&np->rx_lock);
@@ -21525,7 +21525,7 @@ have been needed - see SLE11 SPn).
if (fd < 0)
return fd;
---- head.orig/include/uapi/Kbuild 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/include/uapi/Kbuild 2012-12-18 11:38:25.000000000 +0100
+++ head/include/uapi/Kbuild 2012-10-23 15:01:10.000000000 +0200
@@ -10,5 +10,6 @@ header-y += mtd/
header-y += rdma/
@@ -23737,7 +23737,7 @@ have been needed - see SLE11 SPn).
-#define ARCH_SETUP machine_specific_arch_setup();
-
-static void __init machine_specific_arch_setup(void);
---- head.orig/arch/x86/include/asm/traps.h 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/include/asm/traps.h 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/include/asm/traps.h 2011-09-07 15:45:44.000000000 +0200
@@ -40,6 +40,9 @@ asmlinkage void alignment_check(void);
asmlinkage void machine_check(void);
@@ -23789,8 +23789,8 @@ have been needed - see SLE11 SPn).
PAGEFLAG(Reserved, reserved) __CLEARPAGEFLAG(Reserved, reserved)
PAGEFLAG(SwapBacked, swapbacked) __CLEARPAGEFLAG(SwapBacked, swapbacked)
---- head.orig/include/xen/interface/memory.h 2012-02-16 12:34:13.000000000 +0100
-+++ head/include/xen/interface/memory.h 2012-02-16 12:34:36.000000000 +0100
+--- head.orig/include/xen/interface/memory.h 2012-12-18 12:05:58.000000000 +0100
++++ head/include/xen/interface/memory.h 2012-12-18 12:06:22.000000000 +0100
@@ -94,6 +94,7 @@ struct xen_memory_reservation {
*/
domid_t domid;
@@ -23819,8 +23819,8 @@ have been needed - see SLE11 SPn).
typedef struct xen_machphys_mfn_list xen_machphys_mfn_list_t;
DEFINE_XEN_GUEST_HANDLE(xen_machphys_mfn_list_t);
-@@ -236,6 +234,7 @@ struct xen_add_to_physmap {
- /* GPFN where the source mapping page should appear. */
+@@ -240,6 +238,7 @@ struct xen_add_to_physmap {
+ /* GPFN in domid where the source mapping page should appear. */
xen_pfn_t gpfn;
};
+DEFINE_GUEST_HANDLE_STRUCT(xen_add_to_physmap);
diff --git a/patches.xen/xen3-patch-2.6.28 b/patches.xen/xen3-patch-2.6.28
index cada487364..77a705b435 100644
--- a/patches.xen/xen3-patch-2.6.28
+++ b/patches.xen/xen3-patch-2.6.28
@@ -22176,17 +22176,6 @@ Automatically created from "patches.kernel.org/patch-2.6.28" by xen-port-patches
void __init smp_cpus_done(unsigned int max_cpus)
{
}
---- head.orig/drivers/xen/netfront/netfront.c 2012-10-04 12:15:41.000000000 +0200
-+++ head/drivers/xen/netfront/netfront.c 2012-10-04 12:17:55.000000000 +0200
-@@ -957,7 +957,7 @@ static int network_start_xmit(struct sk_
- return 0;
- }
-
-- frags += (offset + len + PAGE_SIZE - 1) / PAGE_SIZE;
-+ frags += DIV_ROUND_UP(offset + len, PAGE_SIZE);
- if (unlikely(frags > MAX_SKB_FRAGS + 1)) {
- pr_alert("xennet: skb rides the rocket: %d frags\n", frags);
- dump_stack();
--- head.orig/drivers/xen/scsiback/xenbus.c 2011-06-30 16:32:56.000000000 +0200
+++ head/drivers/xen/scsiback/xenbus.c 2012-08-20 17:18:46.000000000 +0200
@@ -100,7 +100,7 @@ struct scsi_device *scsiback_get_scsi_de
diff --git a/patches.xen/xen3-patch-2.6.29 b/patches.xen/xen3-patch-2.6.29
index 15c7395fac..2d3de5f5cb 100644
--- a/patches.xen/xen3-patch-2.6.29
+++ b/patches.xen/xen3-patch-2.6.29
@@ -93,7 +93,7 @@ Automatically created from "patches.kernel.org/patch-2.6.29" by xen-port-patches
typedef int vector_irq_t[NR_VECTORS];
DECLARE_PER_CPU(vector_irq_t, vector_irq);
---- head.orig/arch/x86/include/asm/hypervisor.h 2012-10-01 01:47:46.000000000 +0200
+--- head.orig/arch/x86/include/asm/hypervisor.h 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/include/asm/hypervisor.h 2012-08-20 13:10:18.000000000 +0200
@@ -61,3 +61,7 @@ static inline bool hypervisor_x2apic_ava
}
@@ -8858,7 +8858,7 @@ Automatically created from "patches.kernel.org/patch-2.6.29" by xen-port-patches
int acpi_processor_cst_has_changed(struct acpi_processor *pr)
{
int cpu;
---- head.orig/drivers/gpu/drm/i915/i915_drv.c 2012-10-31 10:17:39.000000000 +0100
+--- head.orig/drivers/gpu/drm/i915/i915_drv.c 2012-12-18 11:38:25.000000000 +0100
+++ head/drivers/gpu/drm/i915/i915_drv.c 2012-10-31 11:14:44.000000000 +0100
@@ -951,7 +951,7 @@ static const struct file_operations i915
.open = drm_open,
@@ -8869,7 +8869,7 @@ Automatically created from "patches.kernel.org/patch-2.6.29" by xen-port-patches
.poll = drm_poll,
.fasync = drm_fasync,
.read = drm_read,
---- head.orig/drivers/gpu/drm/i915/i915_drv.h 2012-10-31 10:17:39.000000000 +0100
+--- head.orig/drivers/gpu/drm/i915/i915_drv.h 2012-12-18 11:38:25.000000000 +0100
+++ head/drivers/gpu/drm/i915/i915_drv.h 2012-10-31 11:14:46.000000000 +0100
@@ -1436,6 +1436,11 @@ int i915_add_request(struct intel_ring_b
u32 *seqno);
@@ -8883,7 +8883,7 @@ Automatically created from "patches.kernel.org/patch-2.6.29" by xen-port-patches
int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf);
int __must_check
i915_gem_object_set_to_gtt_domain(struct drm_i915_gem_object *obj,
---- head.orig/drivers/gpu/drm/i915/i915_gem.c 2012-10-31 10:17:39.000000000 +0100
+--- head.orig/drivers/gpu/drm/i915/i915_gem.c 2012-12-18 11:38:25.000000000 +0100
+++ head/drivers/gpu/drm/i915/i915_gem.c 2012-10-23 15:12:15.000000000 +0200
@@ -1308,6 +1308,17 @@ i915_gem_mmap_ioctl(struct drm_device *d
return 0;
@@ -10017,9 +10017,9 @@ Automatically created from "patches.kernel.org/patch-2.6.29" by xen-port-patches
}
out:
---- head.orig/drivers/xen/netfront/netfront.c 2012-10-04 12:17:55.000000000 +0200
-+++ head/drivers/xen/netfront/netfront.c 2012-10-04 12:26:10.000000000 +0200
-@@ -637,7 +637,7 @@ static int network_open(struct net_devic
+--- head.orig/drivers/xen/netfront/netfront.c 2012-12-18 12:06:27.000000000 +0100
++++ head/drivers/xen/netfront/netfront.c 2012-12-18 12:06:45.000000000 +0100
+@@ -638,7 +638,7 @@ static int network_open(struct net_devic
if (RING_HAS_UNCONSUMED_RESPONSES(&np->rx)){
netfront_accelerator_call_stop_napi_irq(np, dev);
@@ -10028,7 +10028,7 @@ Automatically created from "patches.kernel.org/patch-2.6.29" by xen-port-patches
}
}
spin_unlock_bh(&np->rx_lock);
-@@ -708,7 +708,7 @@ static void rx_refill_timeout(unsigned l
+@@ -709,7 +709,7 @@ static void rx_refill_timeout(unsigned l
netfront_accelerator_call_stop_napi_irq(np, dev);
@@ -10037,7 +10037,7 @@ Automatically created from "patches.kernel.org/patch-2.6.29" by xen-port-patches
}
static void network_alloc_rx_buffers(struct net_device *dev)
-@@ -1062,8 +1062,7 @@ static irqreturn_t netif_int(int irq, vo
+@@ -1063,8 +1063,7 @@ static irqreturn_t netif_int(int irq, vo
if (RING_HAS_UNCONSUMED_RESPONSES(&np->rx)) {
netfront_accelerator_call_stop_napi_irq(np, dev);
@@ -10047,7 +10047,7 @@ Automatically created from "patches.kernel.org/patch-2.6.29" by xen-port-patches
}
}
-@@ -1475,7 +1474,6 @@ err:
+@@ -1476,7 +1475,6 @@ err:
/* Pass it up. */
netif_receive_skb(skb);
@@ -10055,7 +10055,7 @@ Automatically created from "patches.kernel.org/patch-2.6.29" by xen-port-patches
}
/* If we get a callback with very few responses, reduce fill target. */
-@@ -1517,7 +1515,7 @@ err:
+@@ -1518,7 +1516,7 @@ err:
}
if (!more_to_do && !accel_more_to_do)
@@ -10064,7 +10064,7 @@ Automatically created from "patches.kernel.org/patch-2.6.29" by xen-port-patches
local_irq_restore(flags);
}
-@@ -2068,6 +2066,18 @@ static void network_set_multicast_list(s
+@@ -2069,6 +2067,18 @@ static void network_set_multicast_list(s
{
}
@@ -10083,7 +10083,7 @@ Automatically created from "patches.kernel.org/patch-2.6.29" by xen-port-patches
static struct net_device * __devinit create_netdev(struct xenbus_device *dev)
{
int i, err = 0;
-@@ -2123,15 +2133,8 @@ static struct net_device * __devinit cre
+@@ -2124,15 +2134,8 @@ static struct net_device * __devinit cre
goto exit_free_tx;
}
@@ -10100,7 +10100,7 @@ Automatically created from "patches.kernel.org/patch-2.6.29" by xen-port-patches
netdev->features = NETIF_F_IP_CSUM;
SET_ETHTOOL_OPS(netdev, &network_ethtool_ops);
-@@ -2162,7 +2165,7 @@ inetdev_notify(struct notifier_block *th
+@@ -2163,7 +2166,7 @@ inetdev_notify(struct notifier_block *th
struct net_device *dev = ifa->ifa_dev->dev;
/* UP event and is it one of our devices? */
diff --git a/patches.xen/xen3-patch-2.6.30 b/patches.xen/xen3-patch-2.6.30
index 885c5ebdef..b9c78e7455 100644
--- a/patches.xen/xen3-patch-2.6.30
+++ b/patches.xen/xen3-patch-2.6.30
@@ -24,7 +24,7 @@ Automatically created from "patches.kernel.org/patch-2.6.30" by xen-port-patches
extern struct shared_info *HYPERVISOR_shared_info;
extern struct start_info *xen_start_info;
---- head.orig/arch/ia64/kernel/vmlinux.lds.S 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/ia64/kernel/vmlinux.lds.S 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/ia64/kernel/vmlinux.lds.S 2012-04-10 16:57:52.000000000 +0200
@@ -182,7 +182,7 @@ SECTIONS {
__start_gate_section = .;
@@ -167,7 +167,7 @@ Automatically created from "patches.kernel.org/patch-2.6.30" by xen-port-patches
#endif
# define KEXEC_CONTROL_CODE_MAX_SIZE 2048
---- head.orig/arch/x86/include/asm/page_64_types.h 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/include/asm/page_64_types.h 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/include/asm/page_64_types.h 2011-04-13 13:53:28.000000000 +0200
@@ -69,7 +69,15 @@ extern void init_extra_mapping_wb(unsign
#endif /* !__ASSEMBLY__ */
@@ -3544,7 +3544,7 @@ Automatically created from "patches.kernel.org/patch-2.6.30" by xen-port-patches
printk(KERN_WARNING PREFIX "x2apic entry ignored\n");
#endif
---- head.orig/arch/x86/kernel/apic/Makefile 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/kernel/apic/Makefile 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/kernel/apic/Makefile 2012-02-08 12:11:33.000000000 +0100
@@ -25,3 +25,9 @@ obj-$(CONFIG_X86_ES7000) += es7000_32.o
@@ -11221,7 +11221,7 @@ Automatically created from "patches.kernel.org/patch-2.6.30" by xen-port-patches
#ifdef CONFIG_XEN
static int
xen_panic_event(struct notifier_block *this, unsigned long event, void *ptr)
---- head.orig/arch/x86/kernel/setup_percpu.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/kernel/setup_percpu.c 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/kernel/setup_percpu.c 2012-05-23 13:34:18.000000000 +0200
@@ -231,7 +231,7 @@ void __init setup_per_cpu_areas(void)
* are zeroed indicating that the static arrays are
@@ -17864,9 +17864,9 @@ Automatically created from "patches.kernel.org/patch-2.6.30" by xen-port-patches
netif_put(netif);
continue;
}
---- head.orig/drivers/xen/netfront/netfront.c 2012-10-04 12:26:10.000000000 +0200
-+++ head/drivers/xen/netfront/netfront.c 2012-10-04 12:38:03.000000000 +0200
-@@ -103,7 +103,7 @@ static const int MODPARM_rx_flip = 0;
+--- head.orig/drivers/xen/netfront/netfront.c 2012-12-18 12:06:45.000000000 +0100
++++ head/drivers/xen/netfront/netfront.c 2012-12-18 12:06:54.000000000 +0100
+@@ -104,7 +104,7 @@ static const int MODPARM_rx_flip = 0;
static inline void dev_disable_gso_features(struct net_device *dev)
{
/* Turn off all GSO bits except ROBUST. */
@@ -17875,7 +17875,7 @@ Automatically created from "patches.kernel.org/patch-2.6.30" by xen-port-patches
dev->features |= NETIF_F_GSO_ROBUST;
}
#elif defined(NETIF_F_TSO)
-@@ -637,7 +637,7 @@ static int network_open(struct net_devic
+@@ -638,7 +638,7 @@ static int network_open(struct net_devic
if (RING_HAS_UNCONSUMED_RESPONSES(&np->rx)){
netfront_accelerator_call_stop_napi_irq(np, dev);
@@ -17884,7 +17884,7 @@ Automatically created from "patches.kernel.org/patch-2.6.30" by xen-port-patches
}
}
spin_unlock_bh(&np->rx_lock);
-@@ -708,7 +708,7 @@ static void rx_refill_timeout(unsigned l
+@@ -709,7 +709,7 @@ static void rx_refill_timeout(unsigned l
netfront_accelerator_call_stop_napi_irq(np, dev);
@@ -17893,7 +17893,7 @@ Automatically created from "patches.kernel.org/patch-2.6.30" by xen-port-patches
}
static void network_alloc_rx_buffers(struct net_device *dev)
-@@ -1062,7 +1062,7 @@ static irqreturn_t netif_int(int irq, vo
+@@ -1063,7 +1063,7 @@ static irqreturn_t netif_int(int irq, vo
if (RING_HAS_UNCONSUMED_RESPONSES(&np->rx)) {
netfront_accelerator_call_stop_napi_irq(np, dev);
@@ -17902,7 +17902,7 @@ Automatically created from "patches.kernel.org/patch-2.6.30" by xen-port-patches
}
}
-@@ -1515,7 +1515,7 @@ err:
+@@ -1516,7 +1516,7 @@ err:
}
if (!more_to_do && !accel_more_to_do)
@@ -17911,7 +17911,7 @@ Automatically created from "patches.kernel.org/patch-2.6.30" by xen-port-patches
local_irq_restore(flags);
}
-@@ -1802,7 +1802,8 @@ static void netfront_get_drvinfo(struct
+@@ -1803,7 +1803,8 @@ static void netfront_get_drvinfo(struct
struct ethtool_drvinfo *info)
{
strcpy(info->driver, "netfront");
@@ -18000,7 +18000,7 @@ Automatically created from "patches.kernel.org/patch-2.6.30" by xen-port-patches
},
};
---- head.orig/kernel/sched/core.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/kernel/sched/core.c 2012-12-18 11:38:25.000000000 +0100
+++ head/kernel/sched/core.c 2012-10-23 15:13:09.000000000 +0200
@@ -2939,6 +2939,11 @@ void __sched schedule_preempt_disabled(v
}
@@ -18209,9 +18209,9 @@ Automatically created from "patches.kernel.org/patch-2.6.30" by xen-port-patches
{
swiotlb_sync_sg(hwdev, sg, nelems, dir, SYNC_FOR_DEVICE);
}
---- head.orig/mm/page_alloc.c 2012-12-06 16:05:44.000000000 +0100
-+++ head/mm/page_alloc.c 2012-12-06 16:11:05.000000000 +0100
-@@ -5213,11 +5213,9 @@ static void __setup_per_zone_wmarks(void
+--- head.orig/mm/page_alloc.c 2012-12-18 11:57:11.000000000 +0100
++++ head/mm/page_alloc.c 2012-12-18 12:06:59.000000000 +0100
+@@ -5197,11 +5197,9 @@ static void __setup_per_zone_wmarks(void
}
#ifdef CONFIG_XEN
diff --git a/patches.xen/xen3-patch-2.6.31 b/patches.xen/xen3-patch-2.6.31
index d9376879b0..cd80fc114f 100644
--- a/patches.xen/xen3-patch-2.6.31
+++ b/patches.xen/xen3-patch-2.6.31
@@ -71,7 +71,7 @@ Automatically created from "patches.kernel.org/patch-2.6.31" by xen-port-patches
#endif
#endif
---- head.orig/arch/x86/include/asm/required-features.h 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/include/asm/required-features.h 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/include/asm/required-features.h 2011-04-13 13:55:08.000000000 +0200
@@ -48,7 +48,7 @@
#endif
@@ -4907,7 +4907,7 @@ Automatically created from "patches.kernel.org/patch-2.6.31" by xen-port-patches
if (pgd == NULL)
goto out;
---- head.orig/arch/x86/pci/i386.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/pci/i386.c 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/pci/i386.c 2012-04-10 17:00:16.000000000 +0200
@@ -323,12 +323,14 @@ void __init pcibios_resource_survey(void
pcibios_allocate_resources(1);
@@ -5001,7 +5001,7 @@ Automatically created from "patches.kernel.org/patch-2.6.31" by xen-port-patches
return new;
}
---- head.orig/drivers/edac/Kconfig 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/edac/Kconfig 2012-12-18 11:38:25.000000000 +0100
+++ head/drivers/edac/Kconfig 2012-08-20 13:11:02.000000000 +0200
@@ -82,6 +82,7 @@ config EDAC_MM_EDAC
config EDAC_AMD64
@@ -5011,7 +5011,7 @@ Automatically created from "patches.kernel.org/patch-2.6.31" by xen-port-patches
help
Support for error detection and correction of DRAM ECC errors on
the AMD64 families of memory controllers (K8 and F10h)
---- head.orig/drivers/gpu/drm/ttm/ttm_bo.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/gpu/drm/ttm/ttm_bo.c 2012-12-18 11:38:25.000000000 +0100
+++ head/drivers/gpu/drm/ttm/ttm_bo.c 2012-10-31 11:16:28.000000000 +0100
@@ -1477,6 +1477,14 @@ int ttm_bo_global_init(struct drm_global
ret = -ENOMEM;
@@ -5028,7 +5028,7 @@ Automatically created from "patches.kernel.org/patch-2.6.31" by xen-port-patches
INIT_LIST_HEAD(&glob->swap_lru);
INIT_LIST_HEAD(&glob->device_list);
---- head.orig/drivers/gpu/drm/ttm/ttm_bo_vm.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/gpu/drm/ttm/ttm_bo_vm.c 2012-12-18 11:38:25.000000000 +0100
+++ head/drivers/gpu/drm/ttm/ttm_bo_vm.c 2012-04-10 16:59:52.000000000 +0200
@@ -171,7 +171,13 @@ static int ttm_bo_vm_fault(struct vm_are
if (bo->mem.bus.is_iomem) {
@@ -5299,8 +5299,8 @@ Automatically created from "patches.kernel.org/patch-2.6.31" by xen-port-patches
}
int vbd_create(blkif_t *blkif, blkif_vdev_t handle, unsigned major,
---- head.orig/drivers/xen/blkback/xenbus.c 2012-04-04 10:19:57.000000000 +0200
-+++ head/drivers/xen/blkback/xenbus.c 2012-03-22 14:09:45.000000000 +0100
+--- head.orig/drivers/xen/blkback/xenbus.c 2012-12-18 12:04:14.000000000 +0100
++++ head/drivers/xen/blkback/xenbus.c 2012-12-18 12:07:39.000000000 +0100
@@ -108,7 +108,7 @@ static void update_blkif_status(blkif_t
if (!get_device(_dev)) \
return ret; \
@@ -5319,16 +5319,16 @@ Automatically created from "patches.kernel.org/patch-2.6.31" by xen-port-patches
DPRINTK("");
-@@ -194,7 +194,7 @@ static int blkback_remove(struct xenbus_
- }
+@@ -195,7 +195,7 @@ static int blkback_remove(struct xenbus_
+ kfree(be->mode);
kfree(be);
- dev->dev.driver_data = NULL;
+ dev_set_drvdata(&dev->dev, NULL);
return 0;
}
-@@ -226,7 +226,7 @@ static int blkback_probe(struct xenbus_d
+@@ -227,7 +227,7 @@ static int blkback_probe(struct xenbus_d
return -ENOMEM;
}
be->dev = dev;
@@ -5337,7 +5337,7 @@ Automatically created from "patches.kernel.org/patch-2.6.31" by xen-port-patches
be->blkif = blkif_alloc(dev->otherend_id);
if (IS_ERR(be->blkif)) {
-@@ -348,7 +348,7 @@ static void backend_changed(struct xenbu
+@@ -349,7 +349,7 @@ static void backend_changed(struct xenbu
static void frontend_changed(struct xenbus_device *dev,
enum xenbus_state frontend_state)
{
@@ -6163,7 +6163,7 @@ Automatically created from "patches.kernel.org/patch-2.6.31" by xen-port-patches
xen_spinlock_cleanup(cpu);
}
---- head.orig/drivers/xen/evtchn.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/xen/evtchn.c 2012-12-18 11:38:25.000000000 +0100
+++ head/drivers/xen/evtchn.c 2011-04-13 13:55:08.000000000 +0200
@@ -48,10 +48,17 @@
#include <linux/mutex.h>
@@ -6399,9 +6399,9 @@ Automatically created from "patches.kernel.org/patch-2.6.31" by xen-port-patches
DPRINTK("%s", xenbus_strstate(frontend_state));
---- head.orig/drivers/xen/netfront/netfront.c 2012-10-04 12:38:03.000000000 +0200
-+++ head/drivers/xen/netfront/netfront.c 2012-03-12 13:49:33.000000000 +0100
-@@ -255,7 +255,7 @@ static int __devinit netfront_probe(stru
+--- head.orig/drivers/xen/netfront/netfront.c 2012-12-18 12:06:54.000000000 +0100
++++ head/drivers/xen/netfront/netfront.c 2012-12-18 12:07:08.000000000 +0100
+@@ -256,7 +256,7 @@ static int __devinit netfront_probe(stru
}
info = netdev_priv(netdev);
@@ -6410,7 +6410,7 @@ Automatically created from "patches.kernel.org/patch-2.6.31" by xen-port-patches
err = register_netdev(info->netdev);
if (err) {
-@@ -276,13 +276,13 @@ static int __devinit netfront_probe(stru
+@@ -277,13 +277,13 @@ static int __devinit netfront_probe(stru
fail:
free_netdev(netdev);
@@ -6426,7 +6426,7 @@ Automatically created from "patches.kernel.org/patch-2.6.31" by xen-port-patches
DPRINTK("%s\n", dev->nodename);
-@@ -304,14 +304,14 @@ static int __devexit netfront_remove(str
+@@ -305,14 +305,14 @@ static int __devexit netfront_remove(str
static int netfront_suspend(struct xenbus_device *dev)
{
@@ -6443,7 +6443,7 @@ Automatically created from "patches.kernel.org/patch-2.6.31" by xen-port-patches
return netfront_accelerator_suspend_cancel(info, dev);
}
-@@ -324,7 +324,7 @@ static int netfront_suspend_cancel(struc
+@@ -325,7 +325,7 @@ static int netfront_suspend_cancel(struc
*/
static int netfront_resume(struct xenbus_device *dev)
{
@@ -6452,7 +6452,7 @@ Automatically created from "patches.kernel.org/patch-2.6.31" by xen-port-patches
DPRINTK("%s\n", dev->nodename);
-@@ -530,7 +530,7 @@ static int setup_device(struct xenbus_de
+@@ -531,7 +531,7 @@ static int setup_device(struct xenbus_de
static void backend_changed(struct xenbus_device *dev,
enum xenbus_state backend_state)
{
@@ -6818,7 +6818,7 @@ Automatically created from "patches.kernel.org/patch-2.6.31" by xen-port-patches
netfront_accel_vnic *vnic = (netfront_accel_vnic *)np->accel_priv;
DPRINTK("%s %s\n", __FUNCTION__, dev->nodename);
---- head.orig/drivers/xen/sys-hypervisor.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/xen/sys-hypervisor.c 2012-12-18 11:38:25.000000000 +0100
+++ head/drivers/xen/sys-hypervisor.c 2012-10-31 11:16:11.000000000 +0100
@@ -13,14 +13,20 @@
#include <linux/kobject.h>
@@ -7614,7 +7614,7 @@ Automatically created from "patches.kernel.org/patch-2.6.31" by xen-port-patches
}
void
---- head.orig/mm/init-mm.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/mm/init-mm.c 2012-12-18 11:38:25.000000000 +0100
+++ head/mm/init-mm.c 2011-04-13 13:55:08.000000000 +0200
@@ -13,6 +13,10 @@
#define INIT_MM_CONTEXT(name)
@@ -7638,7 +7638,7 @@ Automatically created from "patches.kernel.org/patch-2.6.31" by xen-port-patches
continue;
}
}
---- head.orig/mm/page_alloc.c 2012-12-06 16:11:05.000000000 +0100
+--- head.orig/mm/page_alloc.c 2012-12-18 12:06:59.000000000 +0100
+++ head/mm/page_alloc.c 2012-10-23 15:17:51.000000000 +0200
@@ -695,6 +695,7 @@ static bool free_pages_prepare(struct pa
diff --git a/patches.xen/xen3-patch-2.6.32 b/patches.xen/xen3-patch-2.6.32
index 05eb80f1bc..5abbbf50c4 100644
--- a/patches.xen/xen3-patch-2.6.32
+++ b/patches.xen/xen3-patch-2.6.32
@@ -210,7 +210,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
- .quad sys_perf_counter_open
+ .quad sys_perf_event_open
ia32_syscall_end:
---- head.orig/arch/x86/include/asm/nmi.h 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/include/asm/nmi.h 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/include/asm/nmi.h 2011-04-13 13:55:46.000000000 +0200
@@ -17,7 +17,10 @@ struct ctl_table;
extern int proc_nmi_enabled(struct ctl_table *, int ,
@@ -223,7 +223,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
void arch_trigger_all_cpu_backtrace(void);
#define arch_trigger_all_cpu_backtrace arch_trigger_all_cpu_backtrace
#endif
---- head.orig/arch/x86/include/asm/uv/uv_hub.h 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/include/asm/uv/uv_hub.h 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/include/asm/uv/uv_hub.h 2011-02-01 14:54:13.000000000 +0100
@@ -11,7 +11,7 @@
#ifndef _ASM_X86_UV_UV_HUB_H
@@ -725,7 +725,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
endif
disabled-obj-$(CONFIG_XEN) := %_uv.o crash.o early-quirks.o hpet.o i8237.o \
---- head.orig/arch/x86/kernel/apic/hw_nmi.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/kernel/apic/hw_nmi.c 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/kernel/apic/hw_nmi.c 2011-04-13 13:55:59.000000000 +0200
@@ -26,6 +26,10 @@ u64 hw_nmi_get_sample_period(int watchdo
#endif
@@ -1775,7 +1775,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
#endif
/* Make sure %fs and %gs are initialized properly in idle threads */
---- head.orig/arch/x86/kernel/cpu/mcheck/mce-inject.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/kernel/cpu/mcheck/mce-inject.c 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/kernel/cpu/mcheck/mce-inject.c 2012-10-23 15:27:54.000000000 +0200
@@ -152,7 +152,7 @@ static void raise_mce(struct mce *m)
if (context == MCJ_CTX_RANDOM)
@@ -4041,7 +4041,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
#endif /* CONFIG_X86_32 */
#ifdef CONFIG_XEN
---- head.orig/arch/x86/platform/sfi/sfi.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/platform/sfi/sfi.c 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/platform/sfi/sfi.c 2011-02-02 08:45:00.000000000 +0100
@@ -32,6 +32,7 @@
#include <asm/apic.h>
@@ -5779,7 +5779,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
BUG();
} else {
xen_l1_entry_update(ptep, entry);
---- head.orig/arch/x86/mm/physaddr.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/mm/physaddr.c 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/mm/physaddr.c 2011-02-01 14:54:13.000000000 +0100
@@ -8,6 +8,10 @@
@@ -6041,7 +6041,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
pr->cdev = thermal_cooling_device_register("Processor", device,
&processor_cooling_ops);
---- head.orig/drivers/char/agp/agp.h 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/char/agp/agp.h 2012-12-18 11:38:25.000000000 +0100
+++ head/drivers/char/agp/agp.h 2011-02-01 14:54:13.000000000 +0100
@@ -31,6 +31,10 @@
@@ -6054,7 +6054,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
#define PFX "agpgart: "
//#define AGP_DEBUG 1
---- head.orig/drivers/char/agp/amd-k7-agp.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/char/agp/amd-k7-agp.c 2012-12-18 11:38:25.000000000 +0100
+++ head/drivers/char/agp/amd-k7-agp.c 2011-02-17 10:18:42.000000000 +0100
@@ -142,7 +142,7 @@ static int amd_create_gatt_table(struct
@@ -6074,7 +6074,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
page_dir.remapped+GET_PAGE_DIR_OFF(addr));
readl(page_dir.remapped+GET_PAGE_DIR_OFF(addr)); /* PCI Posting. */
}
---- head.orig/drivers/char/agp/amd64-agp.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/char/agp/amd64-agp.c 2012-12-18 11:38:25.000000000 +0100
+++ head/drivers/char/agp/amd64-agp.c 2011-02-01 14:54:13.000000000 +0100
@@ -178,7 +178,7 @@ static const struct aper_size_info_32 am
@@ -6094,7 +6094,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
amd64_aperture_sizes[bridge->aperture_size_idx].size);
agp_remove_bridge(bridge);
agp_put_bridge(bridge);
---- head.orig/drivers/char/agp/ati-agp.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/char/agp/ati-agp.c 2012-12-18 11:38:25.000000000 +0100
+++ head/drivers/char/agp/ati-agp.c 2011-02-01 14:54:13.000000000 +0100
@@ -361,7 +361,7 @@ static int ati_create_gatt_table(struct
@@ -6114,7 +6114,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
page_dir.remapped+GET_PAGE_DIR_OFF(addr));
readl(page_dir.remapped+GET_PAGE_DIR_OFF(addr)); /* PCI Posting. */
}
---- head.orig/drivers/char/agp/efficeon-agp.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/char/agp/efficeon-agp.c 2012-12-18 11:38:25.000000000 +0100
+++ head/drivers/char/agp/efficeon-agp.c 2011-02-01 14:54:13.000000000 +0100
@@ -227,7 +227,7 @@ static int efficeon_create_gatt_table(st
@@ -6145,7 +6145,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
/* AK: bogus, should encode addresses > 4GB */
for (i = 0; i < num_entries; i++) {
---- head.orig/drivers/char/agp/sworks-agp.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/char/agp/sworks-agp.c 2012-12-18 11:38:25.000000000 +0100
+++ head/drivers/char/agp/sworks-agp.c 2011-02-01 14:54:13.000000000 +0100
@@ -155,7 +155,7 @@ static int serverworks_create_gatt_table
/* Create a fake scratch directory */
@@ -6185,7 +6185,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
#endif
#endif /* IOATDMA_H */
---- head.orig/drivers/dma/ioat/dma_v2.h 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/dma/ioat/dma_v2.h 2012-12-18 11:38:25.000000000 +0100
+++ head/drivers/dma/ioat/dma_v2.h 2011-02-01 14:54:13.000000000 +0100
@@ -176,4 +176,10 @@ int ioat2_quiesce(struct ioat_chan_commo
int ioat2_reset_sync(struct ioat_chan_common *chan, unsigned long tmo);
@@ -6198,7 +6198,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
+#endif
+
#endif /* IOATDMA_V2_H */
---- head.orig/drivers/dma/ioat/hw.h 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/dma/ioat/hw.h 2012-12-18 11:38:25.000000000 +0100
+++ head/drivers/dma/ioat/hw.h 2012-10-23 15:27:37.000000000 +0200
@@ -35,7 +35,11 @@
#define IOAT_VER_3_0 0x30 /* Version 3.0 */
@@ -6212,7 +6212,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
struct ioat_dma_descriptor {
uint32_t size;
---- head.orig/drivers/gpu/drm/radeon/radeon_device.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/gpu/drm/radeon/radeon_device.c 2012-12-18 11:38:25.000000000 +0100
+++ head/drivers/gpu/drm/radeon/radeon_device.c 2012-10-31 11:17:40.000000000 +0100
@@ -546,6 +546,18 @@ int radeon_dummy_page_init(struct radeon
rdev->dummy_page.page = alloc_page(GFP_DMA32 | GFP_KERNEL | __GFP_ZERO);
@@ -6480,7 +6480,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
else if (dev->multifunction)
next_fn = next_trad_fn;
---- head.orig/drivers/sfi/sfi_core.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/sfi/sfi_core.c 2012-12-18 11:38:25.000000000 +0100
+++ head/drivers/sfi/sfi_core.c 2011-02-01 14:54:13.000000000 +0100
@@ -486,6 +486,11 @@ void __init sfi_init(void)
if (!acpi_disabled)
@@ -6494,7 +6494,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
if (sfi_disabled)
return;
---- head.orig/drivers/hv/Kconfig 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/hv/Kconfig 2012-12-18 11:38:25.000000000 +0100
+++ head/drivers/hv/Kconfig 2012-02-08 12:16:15.000000000 +0100
@@ -2,7 +2,7 @@ menu "Microsoft Hyper-V guest support"
@@ -6795,7 +6795,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
if (err) {
pr_err("Xen suspend can't run on CPU0 (%d)\n", err);
goto fail;
---- head.orig/drivers/xen/dbgp.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/xen/dbgp.c 2012-12-18 11:38:25.000000000 +0100
+++ head/drivers/xen/dbgp.c 2012-05-02 15:15:24.000000000 +0200
@@ -2,7 +2,11 @@
#include <linux/usb.h>
@@ -6888,9 +6888,9 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
}
#if 0
---- head.orig/drivers/xen/netfront/netfront.c 2012-03-12 13:49:33.000000000 +0100
-+++ head/drivers/xen/netfront/netfront.c 2012-10-04 12:44:00.000000000 +0200
-@@ -954,7 +954,7 @@ static int network_start_xmit(struct sk_
+--- head.orig/drivers/xen/netfront/netfront.c 2012-12-18 12:07:08.000000000 +0100
++++ head/drivers/xen/netfront/netfront.c 2012-12-18 12:07:56.000000000 +0100
+@@ -955,7 +955,7 @@ static int network_start_xmit(struct sk_
if (np->accel_vif_state.hooks &&
np->accel_vif_state.hooks->start_xmit(skb, dev)) {
/* Fast path has sent this packet */
@@ -6898,8 +6898,8 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
+ return NETDEV_TX_OK;
}
- frags += DIV_ROUND_UP(offset + len, PAGE_SIZE);
-@@ -1040,12 +1040,12 @@ static int network_start_xmit(struct sk_
+ frags += PFN_UP(offset + len);
+@@ -1041,12 +1041,12 @@ static int network_start_xmit(struct sk_
spin_unlock_irq(&np->tx_lock);
@@ -6914,7 +6914,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
}
static irqreturn_t netif_int(int irq, void *dev_id)
-@@ -1912,7 +1912,7 @@ static void netif_uninit(struct net_devi
+@@ -1913,7 +1913,7 @@ static void netif_uninit(struct net_devi
gnttab_free_grant_references(np->gref_rx_head);
}
@@ -7055,7 +7055,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
#include <linux/proc_fs.h>
#include <linux/notifier.h>
#include <linux/mutex.h>
---- head.orig/fs/proc/kcore.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/fs/proc/kcore.c 2012-12-18 11:38:25.000000000 +0100
+++ head/fs/proc/kcore.c 2011-04-13 13:58:56.000000000 +0200
@@ -130,7 +130,7 @@ static void __kcore_update_ram(struct li
}
@@ -7078,7 +7078,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
ent->type = KCORE_RAM;
list_add(&ent->list, &head);
__kcore_update_ram(&head);
---- head.orig/include/linux/nmi.h 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/include/linux/nmi.h 2012-12-18 11:38:25.000000000 +0100
+++ head/include/linux/nmi.h 2011-02-16 09:06:03.000000000 +0100
@@ -18,6 +18,9 @@
#include <asm/nmi.h>
@@ -7090,7 +7090,7 @@ Automatically created from "patches.kernel.org/patch-2.6.32" by xen-port-patches
static inline void touch_nmi_watchdog(void)
{
touch_softlockup_watchdog();
---- head.orig/include/linux/usb/ehci_def.h 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/include/linux/usb/ehci_def.h 2012-12-18 11:38:25.000000000 +0100
+++ head/include/linux/usb/ehci_def.h 2012-10-23 15:27:11.000000000 +0200
@@ -223,7 +223,7 @@ extern struct console early_dbgp_console
diff --git a/patches.xen/xen3-patch-2.6.34 b/patches.xen/xen3-patch-2.6.34
index 7858e60d93..76dd4bf848 100644
--- a/patches.xen/xen3-patch-2.6.34
+++ b/patches.xen/xen3-patch-2.6.34
@@ -56,7 +56,7 @@ Automatically created from "patches.kernel.org/patch-2.6.34" by xen-port-patches
.quad sys_modify_ldt
.quad compat_sys_adjtimex
.quad sys32_mprotect /* 125 */
---- head.orig/arch/x86/include/asm/i8259.h 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/include/asm/i8259.h 2012-12-18 11:38:25.000000000 +0100
+++ head/arch/x86/include/asm/i8259.h 2011-04-13 13:58:56.000000000 +0200
@@ -54,6 +54,7 @@ extern struct irq_chip i8259A_chip;
@@ -3125,7 +3125,7 @@ Automatically created from "patches.kernel.org/patch-2.6.34" by xen-port-patches
goto exit_entry_free;
}
---- head.orig/drivers/misc/Kconfig 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/misc/Kconfig 2012-12-18 11:38:25.000000000 +0100
+++ head/drivers/misc/Kconfig 2012-10-23 15:32:26.000000000 +0200
@@ -418,7 +418,7 @@ config TI_DAC7512
@@ -3610,8 +3610,8 @@ Automatically created from "patches.kernel.org/patch-2.6.34" by xen-port-patches
#include <asm/pci.h>
#include <asm/dma.h>
--- head.orig/mm/page_alloc.c 2012-10-23 15:17:51.000000000 +0200
-+++ head/mm/page_alloc.c 2012-12-06 16:12:46.000000000 +0100
-@@ -5223,7 +5223,8 @@ static void __setup_per_zone_wmarks(void
++++ head/mm/page_alloc.c 2012-12-18 12:08:08.000000000 +0100
+@@ -5207,7 +5207,8 @@ static void __setup_per_zone_wmarks(void
high = percpu_pagelist_fraction
? zone->present_pages / percpu_pagelist_fraction
: 5 * zone_batchsize(zone);
@@ -3621,7 +3621,7 @@ Automatically created from "patches.kernel.org/patch-2.6.34" by xen-port-patches
}
}
#endif
-@@ -6102,6 +6103,11 @@ static const struct trace_print_flags pa
+@@ -6086,6 +6087,11 @@ static const struct trace_print_flags pa
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
{1UL << PG_compound_lock, "compound_lock" },
#endif
diff --git a/patches.xen/xen3-patch-2.6.36 b/patches.xen/xen3-patch-2.6.36
index df4e1e4e24..a66c588fb3 100644
--- a/patches.xen/xen3-patch-2.6.36
+++ b/patches.xen/xen3-patch-2.6.36
@@ -428,7 +428,7 @@ Automatically created from "patches.kernel.org/patch-2.6.36" by xen-port-patches
/*
* Initialize MSR_IA32_ENERGY_PERF_BIAS if BIOS did not.
---- head.orig/arch/x86/kernel/cpu/scattered.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/kernel/cpu/scattered.c 2012-12-18 11:38:24.000000000 +0100
+++ head/arch/x86/kernel/cpu/scattered.c 2012-02-16 13:40:13.000000000 +0100
@@ -41,6 +41,7 @@ void __cpuinit init_scattered_cpuid_feat
{ X86_FEATURE_XSAVEOPT, CR_EAX, 0, 0x0000000d, 1 },
@@ -1052,7 +1052,7 @@ Automatically created from "patches.kernel.org/patch-2.6.36" by xen-port-patches
config XEN_MAX_DOMAIN_MEMORY
int
---- head.orig/arch/x86/xen/enlighten.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/xen/enlighten.c 2012-12-18 11:38:24.000000000 +0100
+++ head/arch/x86/xen/enlighten.c 2012-10-31 11:18:38.000000000 +0100
@@ -142,8 +142,8 @@ static DEFINE_PER_CPU(struct tls_descs,
static void clamp_max_cpus(void)
@@ -1474,9 +1474,9 @@ Automatically created from "patches.kernel.org/patch-2.6.36" by xen-port-patches
#endif
}
---- head.orig/drivers/xen/netfront/netfront.c 2012-10-04 12:44:00.000000000 +0200
-+++ head/drivers/xen/netfront/netfront.c 2012-10-04 12:54:17.000000000 +0200
-@@ -50,7 +50,6 @@
+--- head.orig/drivers/xen/netfront/netfront.c 2012-12-18 12:07:56.000000000 +0100
++++ head/drivers/xen/netfront/netfront.c 2012-12-18 12:08:25.000000000 +0100
+@@ -51,7 +51,6 @@
#include <linux/moduleparam.h>
#include <net/sock.h>
#include <net/pkt_sched.h>
@@ -1484,7 +1484,7 @@ Automatically created from "patches.kernel.org/patch-2.6.36" by xen-port-patches
#include <net/route.h>
#include <asm/uaccess.h>
#include <xen/evtchn.h>
-@@ -218,7 +217,6 @@ static void netif_disconnect_backend(str
+@@ -219,7 +218,6 @@ static void netif_disconnect_backend(str
static int network_connect(struct net_device *);
static void network_tx_buf_gc(struct net_device *);
static void network_alloc_rx_buffers(struct net_device *);
@@ -1492,7 +1492,7 @@ Automatically created from "patches.kernel.org/patch-2.6.36" by xen-port-patches
static irqreturn_t netif_int(int irq, void *dev_id);
-@@ -235,6 +233,25 @@ static inline int xennet_can_sg(struct n
+@@ -236,6 +234,25 @@ static inline int xennet_can_sg(struct n
return dev->features & NETIF_F_SG;
}
@@ -1518,7 +1518,7 @@ Automatically created from "patches.kernel.org/patch-2.6.36" by xen-port-patches
/**
* Entry point to this code when a new device is created. Allocate the basic
* structures and the ring buffers for communication with the backend, and
-@@ -264,6 +281,8 @@ static int __devinit netfront_probe(stru
+@@ -265,6 +282,8 @@ static int __devinit netfront_probe(stru
goto fail;
}
@@ -1527,7 +1527,7 @@ Automatically created from "patches.kernel.org/patch-2.6.36" by xen-port-patches
err = xennet_sysfs_addif(info->netdev);
if (err) {
unregister_netdev(info->netdev);
-@@ -552,7 +571,7 @@ static void backend_changed(struct xenbu
+@@ -553,7 +572,7 @@ static void backend_changed(struct xenbu
break;
case XenbusStateConnected:
@@ -1536,7 +1536,7 @@ Automatically created from "patches.kernel.org/patch-2.6.36" by xen-port-patches
break;
case XenbusStateClosed:
-@@ -565,36 +584,6 @@ static void backend_changed(struct xenbu
+@@ -566,36 +585,6 @@ static void backend_changed(struct xenbu
}
}
@@ -1573,7 +1573,7 @@ Automatically created from "patches.kernel.org/patch-2.6.36" by xen-port-patches
static inline int netfront_tx_slot_available(struct netfront_info *np)
{
return ((np->tx.req_prod_pvt - np->tx.rsp_cons) <
-@@ -2154,31 +2143,6 @@ static struct net_device * __devinit cre
+@@ -2155,31 +2144,6 @@ static struct net_device * __devinit cre
return ERR_PTR(err);
}
@@ -1605,7 +1605,7 @@ Automatically created from "patches.kernel.org/patch-2.6.36" by xen-port-patches
static void netif_release_rings(struct netfront_info *info)
{
end_access(info->tx_ring_ref, info->tx.sring);
-@@ -2234,8 +2198,6 @@ static DEFINE_XENBUS_DRIVER(netfront, ,
+@@ -2235,8 +2199,6 @@ static DEFINE_XENBUS_DRIVER(netfront, ,
static int __init netif_init(void)
{
@@ -1614,7 +1614,7 @@ Automatically created from "patches.kernel.org/patch-2.6.36" by xen-port-patches
if (!is_running_on_xen())
return -ENODEV;
-@@ -2253,26 +2215,13 @@ static int __init netif_init(void)
+@@ -2254,26 +2216,13 @@ static int __init netif_init(void)
IPRINTK("Initialising virtual ethernet driver.\n");
@@ -2052,8 +2052,8 @@ Automatically created from "patches.kernel.org/patch-2.6.36" by xen-port-patches
typedef struct xen_hvm_pagetable_dying xen_hvm_pagetable_dying_t;
DEFINE_XEN_GUEST_HANDLE(xen_hvm_pagetable_dying_t);
---- head.orig/include/xen/interface/memory.h 2012-02-16 12:34:36.000000000 +0100
-+++ head/include/xen/interface/memory.h 2012-04-04 10:25:50.000000000 +0200
+--- head.orig/include/xen/interface/memory.h 2012-12-18 12:06:22.000000000 +0100
++++ head/include/xen/interface/memory.h 2012-12-18 12:08:33.000000000 +0100
@@ -138,6 +138,7 @@ struct xen_memory_exchange {
*/
xen_ulong_t nr_exchanged;
@@ -2062,7 +2062,7 @@ Automatically created from "patches.kernel.org/patch-2.6.36" by xen-port-patches
typedef struct xen_memory_exchange xen_memory_exchange_t;
DEFINE_XEN_GUEST_HANDLE(xen_memory_exchange_t);
-@@ -408,4 +409,14 @@ DEFINE_XEN_GUEST_HANDLE(xen_mem_sharing_
+@@ -438,4 +439,14 @@ DEFINE_XEN_GUEST_HANDLE(xen_mem_sharing_
#endif /* defined(__XEN__) || defined(__XEN_TOOLS__) */
diff --git a/patches.xen/xen3-patch-2.6.37 b/patches.xen/xen3-patch-2.6.37
index 734ce98ee7..8a300ec899 100644
--- a/patches.xen/xen3-patch-2.6.37
+++ b/patches.xen/xen3-patch-2.6.37
@@ -92,7 +92,7 @@ Automatically created from "patches.kernel.org/patch-2.6.37" by xen-port-patches
#endif
#endif
---- head.orig/arch/x86/include/asm/io.h 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/include/asm/io.h 2012-12-18 11:38:24.000000000 +0100
+++ head/arch/x86/include/asm/io.h 2011-09-07 16:07:28.000000000 +0200
@@ -331,7 +331,7 @@ extern void early_iounmap(void __iomem *
extern void fixup_early_ioremap(void);
@@ -4003,7 +4003,7 @@ Automatically created from "patches.kernel.org/patch-2.6.37" by xen-port-patches
return 0;
}
---- head.orig/arch/x86/kernel/resource.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/arch/x86/kernel/resource.c 2012-12-18 11:38:24.000000000 +0100
+++ head/arch/x86/kernel/resource.c 2011-09-23 14:48:43.000000000 +0200
@@ -1,3 +1,7 @@
+#ifdef CONFIG_XEN
@@ -6006,8 +6006,8 @@ Automatically created from "patches.kernel.org/patch-2.6.37" by xen-port-patches
DPRINTK("Successful creation of handle=%04x (dom=%u)\n",
handle, blkif->domid);
return 0;
---- head.orig/drivers/xen/blkback/xenbus.c 2012-03-22 14:09:45.000000000 +0100
-+++ head/drivers/xen/blkback/xenbus.c 2012-03-19 11:42:06.000000000 +0100
+--- head.orig/drivers/xen/blkback/xenbus.c 2012-12-18 12:07:39.000000000 +0100
++++ head/drivers/xen/blkback/xenbus.c 2012-12-18 12:08:43.000000000 +0100
@@ -119,6 +119,7 @@ VBD_SHOW(oo_req, "%d\n", be->blkif->st_
VBD_SHOW(rd_req, "%d\n", be->blkif->st_rd_req);
VBD_SHOW(wr_req, "%d\n", be->blkif->st_wr_req);
@@ -6024,7 +6024,7 @@ Automatically created from "patches.kernel.org/patch-2.6.37" by xen-port-patches
&dev_attr_rd_sect.attr,
&dev_attr_wr_sect.attr,
NULL
-@@ -209,6 +211,17 @@ void blkback_barrier(struct xenbus_trans
+@@ -210,6 +212,17 @@ void blkback_barrier(struct xenbus_trans
xenbus_dev_error(dev, err, "writing feature-barrier");
}
@@ -6042,7 +6042,7 @@ Automatically created from "patches.kernel.org/patch-2.6.37" by xen-port-patches
/**
* Entry point to this code when a new device is created. Allocate the basic
* structures, and watch the store waiting for the hotplug scripts to tell us
-@@ -425,7 +438,8 @@ again:
+@@ -426,7 +439,8 @@ again:
return;
}
@@ -7340,7 +7340,7 @@ Automatically created from "patches.kernel.org/patch-2.6.37" by xen-port-patches
/* Allocate space for the per-instance private data. */
private_data = kmalloc(sizeof(*private_data), GFP_KERNEL);
if (!private_data)
---- head.orig/drivers/xen/pci.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/xen/pci.c 2012-12-18 11:38:24.000000000 +0100
+++ head/drivers/xen/pci.c 2012-06-19 12:04:27.000000000 +0200
@@ -23,11 +23,20 @@
#include <xen/interface/physdev.h>
@@ -7571,8 +7571,8 @@ Automatically created from "patches.kernel.org/patch-2.6.37" by xen-port-patches
#endif
/*
---- head.orig/include/xen/interface/memory.h 2012-04-04 10:25:50.000000000 +0200
-+++ head/include/xen/interface/memory.h 2012-02-16 13:43:30.000000000 +0100
+--- head.orig/include/xen/interface/memory.h 2012-12-18 12:08:33.000000000 +0100
++++ head/include/xen/interface/memory.h 2012-12-18 12:08:39.000000000 +0100
@@ -204,6 +204,7 @@ struct xen_machphys_mapping {
xen_ulong_t v_start, v_end; /* Start and end virtual addresses. */
xen_ulong_t max_mfn; /* Maximum MFN that can be looked up. */
@@ -7581,7 +7581,7 @@ Automatically created from "patches.kernel.org/patch-2.6.37" by xen-port-patches
typedef struct xen_machphys_mapping xen_machphys_mapping_t;
DEFINE_XEN_GUEST_HANDLE(xen_machphys_mapping_t);
-@@ -278,6 +279,7 @@ struct xen_memory_map {
+@@ -302,6 +303,7 @@ struct xen_memory_map {
*/
XEN_GUEST_HANDLE(void) buffer;
};
@@ -7589,7 +7589,7 @@ Automatically created from "patches.kernel.org/patch-2.6.37" by xen-port-patches
typedef struct xen_memory_map xen_memory_map_t;
DEFINE_XEN_GUEST_HANDLE(xen_memory_map_t);
---- head.orig/include/uapi/xen/privcmd.h 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/include/uapi/xen/privcmd.h 2012-12-18 11:38:24.000000000 +0100
+++ head/include/uapi/xen/privcmd.h 2012-10-23 15:44:46.000000000 +0200
@@ -1,98 +1,3 @@
-/******************************************************************************
@@ -7703,7 +7703,7 @@ Automatically created from "patches.kernel.org/patch-2.6.37" by xen-port-patches
typedef struct privcmd_hypercall
{
---- head.orig/kernel/power/Kconfig 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/kernel/power/Kconfig 2012-12-18 11:38:24.000000000 +0100
+++ head/kernel/power/Kconfig 2012-08-20 13:16:23.000000000 +0200
@@ -166,7 +166,7 @@ config PM_ADVANCED_DEBUG
diff --git a/patches.xen/xen3-patch-2.6.38 b/patches.xen/xen3-patch-2.6.38
index e313e2143a..bfd807d410 100644
--- a/patches.xen/xen3-patch-2.6.38
+++ b/patches.xen/xen3-patch-2.6.38
@@ -41,7 +41,7 @@ Automatically created from "patches.kernel.org/patch-2.6.38" by xen-port-patches
extern void setup_boot_APIC_clock(void);
extern void setup_secondary_APIC_clock(void);
extern int APIC_init_uniprocessor(void);
---- head.orig/arch/x86/include/asm/xen/hypervisor.h 2012-11-14 11:57:52.000000000 +0100
+--- head.orig/arch/x86/include/asm/xen/hypervisor.h 2012-12-18 11:38:24.000000000 +0100
+++ head/arch/x86/include/asm/xen/hypervisor.h 2012-11-14 13:16:27.000000000 +0100
@@ -57,7 +57,7 @@ static inline uint32_t xen_cpuid_base(vo
return 0;
@@ -2159,7 +2159,7 @@ Automatically created from "patches.kernel.org/patch-2.6.38" by xen-port-patches
/**
* reserve_top_address - reserves a hole in the top of kernel address space
* @reserve - size of hole to reserve
---- head.orig/drivers/acpi/apei/ghes.c 2012-07-21 22:58:29.000000000 +0200
+--- head.orig/drivers/acpi/apei/ghes.c 2012-12-18 11:38:24.000000000 +0100
+++ head/drivers/acpi/apei/ghes.c 2012-07-26 09:36:38.000000000 +0200
@@ -206,7 +206,7 @@ static void __iomem *ghes_ioremap_pfn_nm
@@ -2270,7 +2270,7 @@ Automatically created from "patches.kernel.org/patch-2.6.38" by xen-port-patches
}
}
mutex_unlock(&pdev_list_mutex);
---- head.orig/drivers/scsi/arcmsr/arcmsr.h 2011-03-15 02:20:32.000000000 +0100
+--- head.orig/drivers/scsi/arcmsr/arcmsr.h 2012-12-18 11:38:24.000000000 +0100
+++ head/drivers/scsi/arcmsr/arcmsr.h 2011-04-13 14:08:57.000000000 +0200
@@ -46,7 +46,7 @@
struct device_attribute;
@@ -2408,21 +2408,21 @@ Automatically created from "patches.kernel.org/patch-2.6.38" by xen-port-patches
goto out;
if (likely(req->nr_sects)) {
---- head.orig/drivers/xen/blkback/xenbus.c 2012-03-19 11:42:06.000000000 +0100
-+++ head/drivers/xen/blkback/xenbus.c 2012-03-22 14:19:12.000000000 +0100
-@@ -334,7 +334,10 @@ static void backend_changed(struct xenbu
- be->minor = minor;
-
- err = vbd_create(be->blkif, handle, major, minor,
-- (NULL == strchr(be->mode, 'w')), cdrom);
-+ FMODE_READ
-+ | (strchr(be->mode, 'w') ? FMODE_WRITE : 0)
-+ | (strchr(be->mode, '!') ? 0 : FMODE_EXCL),
-+ cdrom);
- if (err) {
- be->major = be->minor = 0;
- xenbus_dev_fatal(dev, err, "creating vbd structure");
-@@ -451,7 +454,7 @@ again:
+--- head.orig/drivers/xen/blkback/xenbus.c 2012-12-18 12:08:43.000000000 +0100
++++ head/drivers/xen/blkback/xenbus.c 2012-12-18 12:10:25.000000000 +0100
+@@ -333,7 +333,10 @@ static void backend_changed(struct xenbu
+ be->minor = minor;
+
+ err = vbd_create(be->blkif, handle, major, minor,
+- (NULL == strchr(be->mode, 'w')), cdrom);
++ FMODE_READ
++ | (strchr(be->mode, 'w') ? FMODE_WRITE : 0)
++ | (strchr(be->mode, '!') ? 0 : FMODE_EXCL),
++ cdrom);
+
+ if (err)
+ xenbus_dev_fatal(dev, err, "creating vbd structure");
+@@ -452,7 +455,7 @@ again:
/* FIXME: use a typename instead */
err = xenbus_printf(xbt, dev->nodename, "info", "%u",
@@ -2595,9 +2595,9 @@ Automatically created from "patches.kernel.org/patch-2.6.38" by xen-port-patches
if (c) {
unregister_console(c);
c->flags |= CON_CONSDEV;
---- head.orig/drivers/xen/netfront/netfront.c 2012-10-04 12:54:17.000000000 +0200
-+++ head/drivers/xen/netfront/netfront.c 2012-10-04 13:06:02.000000000 +0200
-@@ -132,17 +132,18 @@ static inline int skb_gso_ok(struct sk_b
+--- head.orig/drivers/xen/netfront/netfront.c 2012-12-18 12:08:25.000000000 +0100
++++ head/drivers/xen/netfront/netfront.c 2012-12-18 12:10:32.000000000 +0100
+@@ -133,17 +133,18 @@ static inline int skb_gso_ok(struct sk_b
return (features & NETIF_F_TSO);
}
@@ -2619,7 +2619,7 @@ Automatically created from "patches.kernel.org/patch-2.6.38" by xen-port-patches
#define dev_disable_gso_features(dev) ((void)0)
#define ethtool_op_set_tso(dev, data) (-ENOSYS)
#endif
-@@ -957,7 +958,7 @@ static int network_start_xmit(struct sk_
+@@ -958,7 +959,7 @@ static int network_start_xmit(struct sk_
if (unlikely(!netfront_carrier_ok(np) ||
(frags > 1 && !xennet_can_sg(dev)) ||
@@ -3551,7 +3551,7 @@ Automatically created from "patches.kernel.org/patch-2.6.38" by xen-port-patches
EXPORT_SYMBOL_GPL(xenbus_for_each_backend);
+
+#endif
---- head.orig/include/xen/gntdev.h 2011-05-19 06:06:34.000000000 +0200
+--- head.orig/include/xen/gntdev.h 2012-12-18 11:38:24.000000000 +0100
+++ head/include/xen/gntdev.h 2011-04-13 14:08:57.000000000 +0200
@@ -1,150 +1,3 @@
-/******************************************************************************
diff --git a/patches.xen/xen3-patch-2.6.39 b/patches.xen/xen3-patch-2.6.39
index a99b9b9a55..40d0d1322d 100644
--- a/patches.xen/xen3-patch-2.6.39
+++ b/patches.xen/xen3-patch-2.6.39
@@ -2623,14 +2623,14 @@ Acked-by: jbeulich@novell.com
obj-$(CONFIG_USB_CATC) += usb/
obj-$(CONFIG_USB_KAWETH) += usb/
---- head.orig/drivers/net/xen-netback/Makefile 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/net/xen-netback/Makefile 2012-12-18 11:38:24.000000000 +0100
+++ head/drivers/net/xen-netback/Makefile 2011-04-13 14:42:19.000000000 +0200
@@ -1,3 +1,3 @@
-obj-$(CONFIG_XEN_NETDEV_BACKEND) := xen-netback.o
+obj-$(CONFIG_PARAVIRT_XEN_NETDEV_BACKEND) := xen-netback.o
xen-netback-y := netback.o xenbus.o interface.o
---- head.orig/drivers/scsi/scsi_error.c 2012-10-22 15:53:56.000000000 +0200
+--- head.orig/drivers/scsi/scsi_error.c 2012-12-18 11:38:24.000000000 +0100
+++ head/drivers/scsi/scsi_error.c 2012-12-06 10:08:39.000000000 +0100
@@ -1604,6 +1604,31 @@ int scsi_decide_disposition(struct scsi_
}
@@ -2664,7 +2664,7 @@ Acked-by: jbeulich@novell.com
default:
return FAILED;
}
---- head.orig/drivers/watchdog/Kconfig 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/watchdog/Kconfig 2012-12-18 11:38:24.000000000 +0100
+++ head/drivers/watchdog/Kconfig 2012-08-20 13:17:01.000000000 +0200
@@ -1208,7 +1208,7 @@ config WATCHDOG_RIO
@@ -2675,7 +2675,7 @@ Acked-by: jbeulich@novell.com
help
Say Y here to support the hypervisor watchdog capability provided
by Xen 4.0 and newer. The watchdog timeout period is normally one
---- head.orig/drivers/watchdog/xen_wdt.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/watchdog/xen_wdt.c 2012-12-18 11:38:24.000000000 +0100
+++ head/drivers/watchdog/xen_wdt.c 2012-04-10 17:11:39.000000000 +0200
@@ -1,7 +1,8 @@
/*
@@ -3179,9 +3179,9 @@ Acked-by: jbeulich@novell.com
netif->tx.rsp_prod_pvt = ++i;
RING_PUSH_RESPONSES_AND_CHECK_NOTIFY(&netif->tx, notify);
---- head.orig/drivers/xen/netfront/netfront.c 2012-10-04 13:06:02.000000000 +0200
-+++ head/drivers/xen/netfront/netfront.c 2012-10-04 13:07:59.000000000 +0200
-@@ -654,7 +654,7 @@ static void network_tx_buf_gc(struct net
+--- head.orig/drivers/xen/netfront/netfront.c 2012-12-18 12:10:32.000000000 +0100
++++ head/drivers/xen/netfront/netfront.c 2012-12-18 12:10:46.000000000 +0100
+@@ -655,7 +655,7 @@ static void network_tx_buf_gc(struct net
struct netif_tx_response *txrsp;
txrsp = RING_GET_RESPONSE(&np->tx, cons);
@@ -3190,7 +3190,7 @@ Acked-by: jbeulich@novell.com
continue;
id = txrsp->id;
-@@ -878,7 +878,7 @@ static void xennet_make_frags(struct sk_
+@@ -879,7 +879,7 @@ static void xennet_make_frags(struct sk_
while (len > PAGE_SIZE - offset) {
tx->size = PAGE_SIZE - offset;
@@ -3199,7 +3199,7 @@ Acked-by: jbeulich@novell.com
len -= tx->size;
data += tx->size;
offset = 0;
-@@ -903,7 +903,7 @@ static void xennet_make_frags(struct sk_
+@@ -904,7 +904,7 @@ static void xennet_make_frags(struct sk_
for (i = 0; i < frags; i++) {
skb_frag_t *frag = skb_shinfo(skb)->frags + i;
@@ -3208,7 +3208,7 @@ Acked-by: jbeulich@novell.com
id = get_id_from_freelist(np->tx_skbs);
np->tx_skbs[id] = skb_get(skb);
-@@ -984,9 +984,9 @@ static int network_start_xmit(struct sk_
+@@ -985,9 +985,9 @@ static int network_start_xmit(struct sk_
extra = NULL;
if (skb->ip_summed == CHECKSUM_PARTIAL) /* local packet? */
@@ -3220,7 +3220,7 @@ Acked-by: jbeulich@novell.com
#if HAVE_TSO
if (skb_shinfo(skb)->gso_size) {
-@@ -996,7 +996,7 @@ static int network_start_xmit(struct sk_
+@@ -997,7 +997,7 @@ static int network_start_xmit(struct sk_
if (extra)
extra->flags |= XEN_NETIF_EXTRA_FLAG_MORE;
else
@@ -3229,7 +3229,7 @@ Acked-by: jbeulich@novell.com
gso->u.gso.size = skb_shinfo(skb)->gso_size;
gso->u.gso.type = XEN_NETIF_GSO_TYPE_TCPV4;
-@@ -1134,7 +1134,7 @@ static int xennet_get_responses(struct n
+@@ -1135,7 +1135,7 @@ static int xennet_get_responses(struct n
int err = 0;
unsigned long ret;
@@ -3238,7 +3238,7 @@ Acked-by: jbeulich@novell.com
err = xennet_get_extras(np, extras, rp);
cons = np->rx.rsp_cons;
}
-@@ -1209,7 +1209,7 @@ static int xennet_get_responses(struct n
+@@ -1210,7 +1210,7 @@ static int xennet_get_responses(struct n
__skb_queue_tail(list, skb);
next:
@@ -3247,7 +3247,7 @@ Acked-by: jbeulich@novell.com
break;
if (cons + frags == rp) {
-@@ -1410,9 +1410,9 @@ err:
+@@ -1411,9 +1411,9 @@ err:
skb->truesize += skb->data_len - (RX_COPY_THRESHOLD - len);
skb->len += skb->data_len;
@@ -3436,9 +3436,9 @@ Acked-by: jbeulich@novell.com
+#endif /* CONFIG_PARAVIRT_XEN */
#endif /* __XEN_BALLOON_H__ */
---- head.orig/include/xen/interface/io/blkif.h 2012-04-04 08:57:09.000000000 +0200
-+++ head/include/xen/interface/io/blkif.h 2012-04-04 10:26:18.000000000 +0200
-@@ -431,8 +431,17 @@ struct blkif_request {
+--- head.orig/include/xen/interface/io/blkif.h 2012-12-18 10:47:37.000000000 +0100
++++ head/include/xen/interface/io/blkif.h 2012-12-18 12:10:51.000000000 +0100
+@@ -491,8 +491,17 @@ struct blkif_request {
uint8_t nr_segments; /* number of segments */
blkif_vdev_t handle; /* only for read/write requests */
uint64_t id; /* private guest value, echoed in resp */
diff --git a/patches.xen/xen3-patch-3.0 b/patches.xen/xen3-patch-3.0
index 5038861d5f..6fa4f59101 100644
--- a/patches.xen/xen3-patch-3.0
+++ b/patches.xen/xen3-patch-3.0
@@ -27,7 +27,7 @@ Acked-by: jbeulich@novell.com
+ .quad compat_sys_sendmmsg /* 345 */
+ .quad sys_setns
ia32_syscall_end:
---- head.orig/arch/x86/include/asm/xen/hypercall.h 2012-11-14 11:57:52.000000000 +0100
+--- head.orig/arch/x86/include/asm/xen/hypercall.h 2012-12-18 11:38:24.000000000 +0100
+++ head/arch/x86/include/asm/xen/hypercall.h 2012-08-20 13:18:14.000000000 +0200
@@ -48,6 +48,7 @@
#include <xen/interface/sched.h>
@@ -1874,7 +1874,7 @@ Acked-by: jbeulich@novell.com
obj-$(CONFIG_BLK_DEV_DRBD) += drbd/
obj-$(CONFIG_BLK_DEV_RBD) += rbd.o
obj-$(CONFIG_BLK_DEV_PCIESSD_MTIP32XX) += mtip32xx/
---- head.orig/drivers/block/xen-blkback/Makefile 2011-07-22 04:17:23.000000000 +0200
+--- head.orig/drivers/block/xen-blkback/Makefile 2012-12-18 11:38:24.000000000 +0100
+++ head/drivers/block/xen-blkback/Makefile 2011-07-01 15:58:54.000000000 +0200
@@ -1,3 +1,3 @@
-obj-$(CONFIG_XEN_BLKDEV_BACKEND) := xen-blkback.o
@@ -3114,9 +3114,9 @@ Acked-by: jbeulich@novell.com
/* Map the shared frame, irq etc. */
err = netif_map(be, tx_ring_ref, rx_ring_ref, evtchn);
if (err) {
---- head.orig/drivers/xen/netfront/netfront.c 2012-10-04 13:07:59.000000000 +0200
-+++ head/drivers/xen/netfront/netfront.c 2012-10-04 13:08:10.000000000 +0200
-@@ -531,8 +531,7 @@ static int setup_device(struct xenbus_de
+--- head.orig/drivers/xen/netfront/netfront.c 2012-12-18 12:10:46.000000000 +0100
++++ head/drivers/xen/netfront/netfront.c 2012-12-18 12:11:02.000000000 +0100
+@@ -532,8 +532,7 @@ static int setup_device(struct xenbus_de
memcpy(netdev->dev_addr, info->mac, ETH_ALEN);
err = bind_listening_port_to_irqhandler(
@@ -3126,7 +3126,7 @@ Acked-by: jbeulich@novell.com
if (err < 0)
goto fail;
info->irq = err;
-@@ -1694,58 +1693,6 @@ static int xennet_change_mtu(struct net_
+@@ -1695,58 +1694,6 @@ static int xennet_change_mtu(struct net_
return 0;
}
@@ -3185,7 +3185,7 @@ Acked-by: jbeulich@novell.com
static const struct xennet_stat {
char name[ETH_GSTRING_LEN];
u16 offset;
-@@ -1826,7 +1773,9 @@ static int network_connect(struct net_de
+@@ -1827,7 +1774,9 @@ static int network_connect(struct net_de
if (err)
return err;
@@ -3196,7 +3196,7 @@ Acked-by: jbeulich@novell.com
DPRINTK("device %s has %sing receive path.\n",
dev->name, np->copying_receiver ? "copy" : "flipp");
-@@ -1905,14 +1854,6 @@ static void netif_uninit(struct net_devi
+@@ -1906,14 +1855,6 @@ static void netif_uninit(struct net_devi
static const struct ethtool_ops network_ethtool_ops =
{
.get_drvinfo = netfront_get_drvinfo,
@@ -3211,7 +3211,7 @@ Acked-by: jbeulich@novell.com
.get_link = ethtool_op_get_link,
.get_sset_count = xennet_get_sset_count,
-@@ -2057,6 +1998,42 @@ static void network_set_multicast_list(s
+@@ -2058,6 +1999,42 @@ static void network_set_multicast_list(s
{
}
@@ -3254,7 +3254,7 @@ Acked-by: jbeulich@novell.com
static const struct net_device_ops xennet_netdev_ops = {
.ndo_uninit = netif_uninit,
.ndo_open = network_open,
-@@ -2065,6 +2042,8 @@ static const struct net_device_ops xenne
+@@ -2066,6 +2043,8 @@ static const struct net_device_ops xenne
.ndo_set_multicast_list = network_set_multicast_list,
.ndo_set_mac_address = xennet_set_mac_address,
.ndo_validate_addr = eth_validate_addr,
@@ -3263,7 +3263,7 @@ Acked-by: jbeulich@novell.com
.ndo_change_mtu = xennet_change_mtu,
.ndo_get_stats = network_get_stats,
};
-@@ -2126,7 +2105,17 @@ static struct net_device * __devinit cre
+@@ -2127,7 +2106,17 @@ static struct net_device * __devinit cre
netdev->netdev_ops = &xennet_netdev_ops;
netif_napi_add(netdev, &np->napi, netif_poll, 64);
@@ -3282,7 +3282,7 @@ Acked-by: jbeulich@novell.com
SET_ETHTOOL_OPS(netdev, &network_ethtool_ops);
SET_NETDEV_DEV(netdev, &dev->dev);
---- head.orig/drivers/xen/tmem.c 2012-10-22 15:53:15.000000000 +0200
+--- head.orig/drivers/xen/tmem.c 2012-12-18 11:38:24.000000000 +0100
+++ head/drivers/xen/tmem.c 2012-10-23 15:51:45.000000000 +0200
@@ -18,29 +18,16 @@
diff --git a/patches.xen/xen3-patch-3.1 b/patches.xen/xen3-patch-3.1
index 20cbad6ecb..dc76c03c0f 100644
--- a/patches.xen/xen3-patch-3.1
+++ b/patches.xen/xen3-patch-3.1
@@ -1275,7 +1275,7 @@ Acked-by: jbeulich@suse.com
pte = pfn_pte(phys >> PAGE_SHIFT, flags);
set_pte_vaddr_pud(level3_user_pgt, address, pte);
break;
---- head.orig/drivers/gpu/drm/i915/intel_pm.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/gpu/drm/i915/intel_pm.c 2012-12-18 11:38:23.000000000 +0100
+++ head/drivers/gpu/drm/i915/intel_pm.c 2012-12-06 16:14:50.000000000 +0100
@@ -2552,7 +2552,11 @@ static void gen6_update_ring_freq(struct
* over
@@ -1707,7 +1707,7 @@ Acked-by: jbeulich@suse.com
sysfs_remove_group(&pdev->dev.kobj, &via_cputemp_group);
return 0;
}
---- head.orig/drivers/iommu/Kconfig 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/iommu/Kconfig 2012-12-18 11:38:23.000000000 +0100
+++ head/drivers/iommu/Kconfig 2011-09-09 17:53:01.000000000 +0200
@@ -4,6 +4,7 @@ config IOMMU_API
@@ -1717,7 +1717,7 @@ Acked-by: jbeulich@suse.com
default y
---help---
Say Y here if you want to compile device drivers for IO Memory
---- head.orig/drivers/virtio/Kconfig 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/virtio/Kconfig 2012-12-18 11:38:23.000000000 +0100
+++ head/drivers/virtio/Kconfig 2012-10-23 15:53:27.000000000 +0200
@@ -6,6 +6,7 @@ config VIRTIO
CONFIG_RPMSG or CONFIG_S390_GUEST.
@@ -2148,9 +2148,9 @@ Acked-by: jbeulich@suse.com
spin_unlock_irqrestore(&accelerator->vif_states_lock, flags);
}
return rc;
---- head.orig/drivers/xen/netfront/netfront.c 2012-10-04 13:08:10.000000000 +0200
-+++ head/drivers/xen/netfront/netfront.c 2012-10-04 13:08:17.000000000 +0200
-@@ -316,6 +316,8 @@ static int __devexit netfront_remove(str
+--- head.orig/drivers/xen/netfront/netfront.c 2012-12-18 12:11:02.000000000 +0100
++++ head/drivers/xen/netfront/netfront.c 2012-12-18 12:11:11.000000000 +0100
+@@ -317,6 +317,8 @@ static int __devexit netfront_remove(str
unregister_netdev(info->netdev);
@@ -2159,7 +2159,7 @@ Acked-by: jbeulich@suse.com
free_netdev(info->netdev);
return 0;
-@@ -928,6 +930,7 @@ static int network_start_xmit(struct sk_
+@@ -929,6 +931,7 @@ static int network_start_xmit(struct sk_
{
unsigned short id;
struct netfront_info *np = netdev_priv(dev);
@@ -2167,7 +2167,7 @@ Acked-by: jbeulich@suse.com
struct netif_tx_request *tx;
struct netif_extra_info *extra;
char *data = skb->data;
-@@ -1017,8 +1020,10 @@ static int network_start_xmit(struct sk_
+@@ -1018,8 +1021,10 @@ static int network_start_xmit(struct sk_
if (notify)
notify_remote_via_irq(np->irq);
@@ -2180,7 +2180,7 @@ Acked-by: jbeulich@suse.com
dev->trans_start = jiffies;
/* Note: It is not safe to access skb after network_tx_buf_gc()! */
-@@ -1306,6 +1311,7 @@ static int xennet_set_skb_gso(struct sk_
+@@ -1307,6 +1312,7 @@ static int xennet_set_skb_gso(struct sk_
static int netif_poll(struct napi_struct *napi, int budget)
{
struct netfront_info *np = container_of(napi, struct netfront_info, napi);
@@ -2188,7 +2188,7 @@ Acked-by: jbeulich@suse.com
struct net_device *dev = np->netdev;
struct sk_buff *skb;
struct netfront_rx_info rinfo;
-@@ -1416,8 +1422,10 @@ err:
+@@ -1417,8 +1423,10 @@ err:
else
skb->ip_summed = CHECKSUM_NONE;
@@ -2201,7 +2201,7 @@ Acked-by: jbeulich@suse.com
__skb_queue_tail(&rxq, skb);
-@@ -1658,14 +1666,6 @@ static int network_close(struct net_devi
+@@ -1659,14 +1667,6 @@ static int network_close(struct net_devi
}
@@ -2216,7 +2216,7 @@ Acked-by: jbeulich@suse.com
static int xennet_set_mac_address(struct net_device *dev, void *p)
{
struct netfront_info *np = netdev_priv(dev);
-@@ -1693,6 +1693,40 @@ static int xennet_change_mtu(struct net_
+@@ -1694,6 +1694,40 @@ static int xennet_change_mtu(struct net_
return 0;
}
@@ -2257,7 +2257,7 @@ Acked-by: jbeulich@suse.com
static const struct xennet_stat {
char name[ETH_GSTRING_LEN];
u16 offset;
-@@ -2045,7 +2079,7 @@ static const struct net_device_ops xenne
+@@ -2046,7 +2080,7 @@ static const struct net_device_ops xenne
.ndo_fix_features = xennet_fix_features,
.ndo_set_features = xennet_set_features,
.ndo_change_mtu = xennet_change_mtu,
@@ -2266,7 +2266,7 @@ Acked-by: jbeulich@suse.com
};
static struct net_device * __devinit create_netdev(struct xenbus_device *dev)
-@@ -2077,6 +2111,11 @@ static struct net_device * __devinit cre
+@@ -2078,6 +2112,11 @@ static struct net_device * __devinit cre
np->rx_refill_timer.data = (unsigned long)netdev;
np->rx_refill_timer.function = rx_refill_timeout;
@@ -2278,7 +2278,7 @@ Acked-by: jbeulich@suse.com
/* Initialise {tx,rx}_skbs as a free chain containing every entry. */
for (i = 0; i <= NET_TX_RING_SIZE; i++) {
np->tx_skbs[i] = (void *)((unsigned long) i+1);
-@@ -2093,7 +2132,7 @@ static struct net_device * __devinit cre
+@@ -2094,7 +2133,7 @@ static struct net_device * __devinit cre
&np->gref_tx_head) < 0) {
pr_alert("#### netfront can't alloc tx grant refs\n");
err = -ENOMEM;
@@ -2287,7 +2287,7 @@ Acked-by: jbeulich@suse.com
}
/* A grant for every rx ring slot */
if (gnttab_alloc_grant_references(RX_MAX_TARGET,
-@@ -2128,6 +2167,8 @@ static struct net_device * __devinit cre
+@@ -2129,6 +2168,8 @@ static struct net_device * __devinit cre
exit_free_tx:
gnttab_free_grant_references(np->gref_tx_head);
@@ -2399,7 +2399,7 @@ Acked-by: jbeulich@suse.com
MODULE_DESCRIPTION("Xen USB backend driver (usbback)");
MODULE_LICENSE("Dual BSD/GPL");
+MODULE_ALIAS("xen-backend:vusb");
---- head.orig/drivers/xen/xen-pciback/Makefile 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/xen/xen-pciback/Makefile 2012-12-18 11:38:23.000000000 +0100
+++ head/drivers/xen/xen-pciback/Makefile 2011-09-19 13:15:03.000000000 +0200
@@ -1,7 +1,13 @@
-obj-$(CONFIG_XEN_PCIDEV_BACKEND) += xen-pciback.o
@@ -2420,7 +2420,7 @@ Acked-by: jbeulich@suse.com
+$(pcibk-y)-$(CONFIG_XEN_PCIDEV_BACKEND_PASSTHROUGH) += passthrough.o
+$(pcibk-y)-$(CONFIG_XEN_PCIDEV_BACKEND_SLOT) += slot.o
+$(pcibk-y)-$(CONFIG_XEN_PCIDEV_BACKEND_CONTROLLER) += controller.o
---- head.orig/drivers/xen/xen-pciback/conf_space_capability.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/xen/xen-pciback/conf_space_capability.c 2012-12-18 11:38:23.000000000 +0100
+++ head/drivers/xen/xen-pciback/conf_space_capability.c 2011-09-16 14:20:03.000000000 +0200
@@ -140,6 +140,21 @@ static int pm_ctrl_write(struct pci_dev
goto out;
@@ -2444,7 +2444,7 @@ Acked-by: jbeulich@suse.com
out:
return err;
}
---- head.orig/drivers/xen/xen-pciback/conf_space_header.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/xen/xen-pciback/conf_space_header.c 2012-12-18 11:38:23.000000000 +0100
+++ head/drivers/xen/xen-pciback/conf_space_header.c 2011-11-17 13:56:29.000000000 +0100
@@ -39,10 +39,11 @@ static int command_read(struct pci_dev *
@@ -2686,7 +2686,7 @@ Acked-by: jbeulich@suse.com
+ .add = _xen_pcibk_add_pci_dev,
+ .get = _xen_pcibk_get_pci_dev,
+};
---- head.orig/drivers/xen/xen-pciback/pciback.h 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/xen/xen-pciback/pciback.h 2012-12-18 11:38:23.000000000 +0100
+++ head/drivers/xen/xen-pciback/pciback.h 2012-04-10 17:21:33.000000000 +0200
@@ -10,12 +10,16 @@
#include <linux/interrupt.h>
@@ -2757,7 +2757,7 @@ Acked-by: jbeulich@suse.com
extern const struct xen_pcibk_backend *xen_pcibk_backend;
static inline int xen_pcibk_add_pci_dev(struct xen_pcibk_device *pdev,
---- head.orig/drivers/xen/xen-pciback/pciback_ops.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/xen/xen-pciback/pciback_ops.c 2012-12-18 11:38:24.000000000 +0100
+++ head/drivers/xen/xen-pciback/pciback_ops.c 2012-04-10 17:21:35.000000000 +0200
@@ -6,13 +6,18 @@
#include <linux/module.h>
@@ -2972,7 +2972,7 @@ Acked-by: jbeulich@suse.com
return IRQ_NONE;
}
+#endif
---- head.orig/drivers/xen/xen-pciback/pci_stub.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/xen/xen-pciback/pci_stub.c 2012-12-18 11:38:24.000000000 +0100
+++ head/drivers/xen/xen-pciback/pci_stub.c 2012-10-23 15:53:12.000000000 +0200
@@ -14,9 +14,14 @@
#include <linux/wait.h>
@@ -3227,7 +3227,7 @@ Acked-by: jbeulich@suse.com
+ .add = _xen_pcibk_add_pci_dev,
+ .get = _xen_pcibk_get_pci_dev,
+};
---- head.orig/drivers/xen/xen-pciback/xenbus.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/xen/xen-pciback/xenbus.c 2012-12-18 11:38:24.000000000 +0100
+++ head/drivers/xen/xen-pciback/xenbus.c 2012-02-21 11:40:18.000000000 +0100
@@ -6,30 +6,77 @@
#include <linux/module.h>
@@ -3442,7 +3442,7 @@ Acked-by: jbeulich@suse.com
pr_info(DRV_NAME ": backend is %s\n", xen_pcibk_backend->name);
return xenbus_register_backend(&xen_pcibk_driver);
}
---- head.orig/drivers/xen/xen-selfballoon.c 2012-12-06 15:58:42.000000000 +0100
+--- head.orig/drivers/xen/xen-selfballoon.c 2012-12-18 11:38:24.000000000 +0100
+++ head/drivers/xen/xen-selfballoon.c 2012-06-13 15:54:39.000000000 +0200
@@ -79,6 +79,10 @@
#include <xen/tmem.h>
@@ -3672,9 +3672,9 @@ Acked-by: jbeulich@suse.com
void copy_edd(void);
#endif
---- head.orig/include/xen/interface/xen.h 2012-04-04 10:14:21.000000000 +0200
-+++ head/include/xen/interface/xen.h 2012-04-04 10:26:34.000000000 +0200
-@@ -801,7 +801,7 @@ typedef struct dom0_vga_console_info {
+--- head.orig/include/xen/interface/xen.h 2012-12-18 12:00:21.000000000 +0100
++++ head/include/xen/interface/xen.h 2012-12-18 12:11:14.000000000 +0100
+@@ -832,7 +832,7 @@ typedef struct dom0_vga_console_info {
uint8_t green_pos, green_size;
uint8_t blue_pos, blue_size;
uint8_t rsvd_pos, rsvd_size;
diff --git a/patches.xen/xen3-patch-3.2 b/patches.xen/xen3-patch-3.2
index e4e35e537a..3fa899e134 100644
--- a/patches.xen/xen3-patch-3.2
+++ b/patches.xen/xen3-patch-3.2
@@ -16,7 +16,7 @@ Acked-by: jbeulich@suse.com
+ .quad compat_sys_process_vm_readv
+ .quad compat_sys_process_vm_writev
ia32_syscall_end:
---- head.orig/arch/x86/include/asm/mach_traps.h 2012-12-03 13:30:42.000000000 +0100
+--- head.orig/arch/x86/include/asm/mach_traps.h 2012-12-18 11:38:23.000000000 +0100
+++ head/arch/x86/include/asm/mach_traps.h 2011-11-28 11:36:37.000000000 +0100
@@ -5,6 +5,8 @@
#ifndef _ASM_X86_MACH_DEFAULT_MACH_TRAPS_H
@@ -1699,7 +1699,7 @@ Acked-by: jbeulich@suse.com
quiet_cmd_mkcapflags = MKCAP $@
cmd_mkcapflags = $(PERL) $(srctree)/$(src)/mkcapflags.pl $< $@
---- head.orig/arch/x86/kernel/cpu/amd.c 2012-08-20 13:17:13.000000000 +0200
+--- head.orig/arch/x86/kernel/cpu/amd.c 2012-12-06 16:14:14.000000000 +0100
+++ head/arch/x86/kernel/cpu/amd.c 2012-08-20 13:22:00.000000000 +0200
@@ -517,7 +517,9 @@ static void __cpuinit early_init_amd(str
@@ -1857,7 +1857,7 @@ Acked-by: jbeulich@suse.com
#include <asm/apic.h>
#include <asm/io_apic.h>
---- head.orig/arch/x86/kernel/nmi.c 2012-12-03 13:30:42.000000000 +0100
+--- head.orig/arch/x86/kernel/nmi.c 2012-12-18 11:38:23.000000000 +0100
+++ head/arch/x86/kernel/nmi.c 2012-06-13 15:57:05.000000000 +0200
@@ -191,15 +191,12 @@ pci_serr_error(unsigned char reason, str
pr_emerg("Dazed and confused, but trying to continue\n");
@@ -2368,7 +2368,7 @@ Acked-by: jbeulich@suse.com
depends on PCI_MMCONFIG && EXPERIMENTAL
help
Support for error detection and correction the Intel
---- head.orig/drivers/edac/sb_edac.c 2012-12-03 13:30:42.000000000 +0100
+--- head.orig/drivers/edac/sb_edac.c 2012-12-18 11:38:23.000000000 +0100
+++ head/drivers/edac/sb_edac.c 2012-10-04 13:09:34.000000000 +0200
@@ -1552,7 +1552,11 @@ static int sbridge_mce_check_error(struc
mce->socketid, mce->apicid);
@@ -2642,8 +2642,8 @@ Acked-by: jbeulich@suse.com
struct block_device *bdev;
blkif_sector_t sector_number;
};
---- head.orig/drivers/xen/blkback/xenbus.c 2012-03-22 14:19:12.000000000 +0100
-+++ head/drivers/xen/blkback/xenbus.c 2012-03-22 14:25:55.000000000 +0100
+--- head.orig/drivers/xen/blkback/xenbus.c 2012-12-18 12:10:25.000000000 +0100
++++ head/drivers/xen/blkback/xenbus.c 2012-12-18 12:11:36.000000000 +0100
@@ -18,7 +18,6 @@
*/
@@ -2668,7 +2668,7 @@ Acked-by: jbeulich@suse.com
&dev_attr_rd_sect.attr,
&dev_attr_wr_sect.attr,
NULL
-@@ -222,6 +223,54 @@ void blkback_flush_diskcache(struct xenb
+@@ -223,6 +224,54 @@ void blkback_flush_diskcache(struct xenb
xenbus_dev_error(dev, err, "writing feature-flush-cache");
}
@@ -2723,7 +2723,7 @@ Acked-by: jbeulich@suse.com
/**
* Entry point to this code when a new device is created. Allocate the basic
* structures, and watch the store waiting for the hotplug scripts to tell us
-@@ -443,6 +492,7 @@ again:
+@@ -444,6 +493,7 @@ again:
blkback_flush_diskcache(xbt, be, be->blkif->vbd.flush_support);
blkback_barrier(xbt, be, be->blkif->vbd.flush_support);
@@ -2864,7 +2864,7 @@ Acked-by: jbeulich@suse.com
/* Hard sector size and max sectors impersonate the equiv. hardware. */
blk_queue_logical_block_size(rq, sector_size);
blk_queue_max_hw_sectors(rq, 512);
---- head.orig/drivers/xen/blktap/blktap.c 2012-05-23 13:39:15.000000000 +0200
+--- head.orig/drivers/xen/blktap/blktap.c 2012-12-06 16:14:57.000000000 +0100
+++ head/drivers/xen/blktap/blktap.c 2011-11-18 15:35:59.000000000 +0100
@@ -42,6 +42,7 @@
#include <linux/kthread.h>
@@ -3422,9 +3422,9 @@ Acked-by: jbeulich@suse.com
#include <linux/mutex.h>
#include <asm/hypervisor.h>
#include <xen/xenbus.h>
---- head.orig/drivers/xen/netfront/netfront.c 2012-10-04 13:08:17.000000000 +0200
-+++ head/drivers/xen/netfront/netfront.c 2012-10-04 13:08:34.000000000 +0200
-@@ -752,7 +752,7 @@ no_skb:
+--- head.orig/drivers/xen/netfront/netfront.c 2012-12-18 12:11:11.000000000 +0100
++++ head/drivers/xen/netfront/netfront.c 2012-12-18 12:11:24.000000000 +0100
+@@ -753,7 +753,7 @@ no_skb:
}
skb_reserve(skb, 16 + NET_IP_ALIGN); /* mimic dev_alloc_skb() */
@@ -3433,7 +3433,7 @@ Acked-by: jbeulich@suse.com
skb_shinfo(skb)->nr_frags = 1;
__skb_queue_tail(&np->rx_batch, skb);
}
-@@ -785,8 +785,9 @@ no_skb:
+@@ -786,8 +786,9 @@ no_skb:
BUG_ON((signed short)ref < 0);
np->grant_rx_ref[id] = ref;
@@ -3445,7 +3445,7 @@ Acked-by: jbeulich@suse.com
req = RING_GET_REQUEST(&np->rx, req_prod + i);
if (!np->copying_receiver) {
-@@ -913,13 +914,13 @@ static void xennet_make_frags(struct sk_
+@@ -914,13 +915,13 @@ static void xennet_make_frags(struct sk_
ref = gnttab_claim_grant_reference(&np->gref_tx_head);
BUG_ON((signed short)ref < 0);
@@ -3461,7 +3461,7 @@ Acked-by: jbeulich@suse.com
tx->flags = 0;
}
-@@ -1183,8 +1184,8 @@ static int xennet_get_responses(struct n
+@@ -1184,8 +1185,8 @@ static int xennet_get_responses(struct n
if (!xen_feature(XENFEAT_auto_translated_physmap)) {
/* Remap the page. */
@@ -3472,7 +3472,7 @@ Acked-by: jbeulich@suse.com
unsigned long pfn = page_to_pfn(page);
void *vaddr = page_address(page);
-@@ -1250,23 +1251,21 @@ static RING_IDX xennet_fill_frags(struct
+@@ -1251,23 +1252,21 @@ static RING_IDX xennet_fill_frags(struct
struct skb_shared_info *shinfo = skb_shinfo(skb);
int nr_frags = shinfo->nr_frags;
RING_IDX cons = np->rx.rsp_cons;
@@ -3499,7 +3499,7 @@ Acked-by: jbeulich@suse.com
nr_frags++;
}
-@@ -1372,7 +1371,8 @@ err:
+@@ -1373,7 +1372,8 @@ err:
}
}
@@ -3509,7 +3509,7 @@ Acked-by: jbeulich@suse.com
NETFRONT_SKB_CB(skb)->offset = rx->offset;
len = rx->status;
-@@ -1383,10 +1383,11 @@ err:
+@@ -1384,10 +1384,11 @@ err:
if (rx->status > len) {
skb_shinfo(skb)->frags[0].page_offset =
rx->offset + len;
@@ -3523,7 +3523,7 @@ Acked-by: jbeulich@suse.com
skb_shinfo(skb)->nr_frags = 0;
}
-@@ -1458,7 +1459,7 @@ err:
+@@ -1459,7 +1460,7 @@ err:
memcpy(skb->data, vaddr + offset, skb_headlen(skb));
@@ -3532,7 +3532,7 @@ Acked-by: jbeulich@suse.com
__free_page(page);
/* Ethernet work: Delayed to here as it peeks the header. */
-@@ -1556,6 +1557,8 @@ static void netif_release_rx_bufs_flip(s
+@@ -1557,6 +1558,8 @@ static void netif_release_rx_bufs_flip(s
spin_lock_bh(&np->rx_lock);
for (id = 0; id < NET_RX_RING_SIZE; id++) {
@@ -3541,7 +3541,7 @@ Acked-by: jbeulich@suse.com
if ((ref = np->grant_rx_ref[id]) == GRANT_INVALID_REF) {
unused++;
continue;
-@@ -1567,8 +1570,9 @@ static void netif_release_rx_bufs_flip(s
+@@ -1568,8 +1571,9 @@ static void netif_release_rx_bufs_flip(s
np->grant_rx_ref[id] = GRANT_INVALID_REF;
add_id_to_freelist(np->rx_skbs, id);
@@ -3552,7 +3552,7 @@ Acked-by: jbeulich@suse.com
balloon_release_driver_page(page);
skb_shinfo(skb)->nr_frags = 0;
dev_kfree_skb(skb);
-@@ -1578,7 +1582,6 @@ static void netif_release_rx_bufs_flip(s
+@@ -1579,7 +1583,6 @@ static void netif_release_rx_bufs_flip(s
if (!xen_feature(XENFEAT_auto_translated_physmap)) {
/* Remap the page. */
@@ -3560,7 +3560,7 @@ Acked-by: jbeulich@suse.com
unsigned long pfn = page_to_pfn(page);
void *vaddr = page_address(page);
-@@ -1830,23 +1833,23 @@ static int network_connect(struct net_de
+@@ -1831,23 +1834,23 @@ static int network_connect(struct net_de
/* Step 2: Rebuild the RX buffer freelist and the RX ring itself. */
for (requeue_idx = 0, i = 0; i < NET_RX_RING_SIZE; i++) {
@@ -3589,7 +3589,7 @@ Acked-by: jbeulich@suse.com
}
req->gref = ref;
req->id = requeue_idx;
-@@ -2073,7 +2076,7 @@ static const struct net_device_ops xenne
+@@ -2074,7 +2077,7 @@ static const struct net_device_ops xenne
.ndo_open = network_open,
.ndo_stop = network_close,
.ndo_start_xmit = network_start_xmit,
@@ -4145,9 +4145,9 @@ Acked-by: jbeulich@suse.com
if (n > dst->nr_segments)
n = dst->nr_segments;
for (i = 0; i < n; i++)
---- head.orig/include/xen/interface/io/blkif.h 2012-04-04 10:26:18.000000000 +0200
-+++ head/include/xen/interface/io/blkif.h 2012-04-04 10:28:27.000000000 +0200
-@@ -440,11 +440,16 @@ struct blkif_request {
+--- head.orig/include/xen/interface/io/blkif.h 2012-12-18 12:10:51.000000000 +0100
++++ head/include/xen/interface/io/blkif.h 2012-12-18 12:11:27.000000000 +0100
+@@ -500,11 +500,16 @@ struct blkif_request {
blkif_sector_t sector_number;/* start sector idx on disk (r/w only) */
struct blkif_request_segment seg[BLKIF_MAX_SEGMENTS_PER_REQUEST];
} rw;
@@ -4164,7 +4164,7 @@ Acked-by: jbeulich@suse.com
/*
* Cast to this structure when blkif_request.operation == BLKIF_OP_DISCARD
* sizeof(struct blkif_request_discard) <= sizeof(struct blkif_request)
-@@ -459,6 +464,7 @@ struct blkif_request_discard {
+@@ -519,6 +524,7 @@ struct blkif_request_discard {
uint64_t nr_sectors; /* number of contiguous sectors to discard*/
};
typedef struct blkif_request_discard blkif_request_discard_t;
diff --git a/patches.xen/xen3-patch-3.3 b/patches.xen/xen3-patch-3.3
index c2c4142dc3..e9031b146a 100644
--- a/patches.xen/xen3-patch-3.3
+++ b/patches.xen/xen3-patch-3.3
@@ -485,7 +485,7 @@ Acked-by: jbeulich@suse.com
- .quad compat_sys_process_vm_readv
- .quad compat_sys_process_vm_writev
-ia32_syscall_end:
---- head.orig/arch/x86/include/asm/debugreg.h 2012-05-21 00:29:13.000000000 +0200
+--- head.orig/arch/x86/include/asm/debugreg.h 2012-12-18 11:38:23.000000000 +0100
+++ head/arch/x86/include/asm/debugreg.h 2012-04-10 17:25:00.000000000 +0200
@@ -168,7 +168,7 @@ extern void aout_dump_debugregs(struct u
@@ -1548,7 +1548,7 @@ Acked-by: jbeulich@suse.com
inc_irq_stat(x86_platform_ipis);
if (x86_platform_ipi_callback)
---- head.orig/arch/x86/kernel/irq_64.c 2012-03-19 00:15:34.000000000 +0100
+--- head.orig/arch/x86/kernel/irq_64.c 2012-12-18 11:38:23.000000000 +0100
+++ head/arch/x86/kernel/irq_64.c 2012-05-11 10:57:43.000000000 +0200
@@ -39,7 +39,9 @@ static inline void stack_overflow_check(
{
@@ -2719,7 +2719,7 @@ Acked-by: jbeulich@suse.com
* The return value is ignored as the calls cannot fail.
* Large pages for identity mappings are not used at boot time
* and hence no memory allocations during large page split.
---- head.orig/drivers/acpi/osl.c 2012-10-22 15:53:54.000000000 +0200
+--- head.orig/drivers/acpi/osl.c 2012-12-18 11:38:23.000000000 +0100
+++ head/drivers/acpi/osl.c 2012-04-10 17:24:36.000000000 +0200
@@ -326,8 +326,12 @@ acpi_map_lookup_virt(void __iomem *virt,
}
@@ -3628,9 +3628,9 @@ Acked-by: jbeulich@suse.com
DPRINTK("Successful creation of handle=%04x (dom=%u)\n",
handle, blkif->domid);
return 0;
---- head.orig/drivers/xen/blkback/xenbus.c 2012-03-22 14:25:55.000000000 +0100
-+++ head/drivers/xen/blkback/xenbus.c 2012-03-22 14:26:51.000000000 +0100
-@@ -227,43 +227,34 @@ static void blkback_discard(struct xenbu
+--- head.orig/drivers/xen/blkback/xenbus.c 2012-12-18 12:11:36.000000000 +0100
++++ head/drivers/xen/blkback/xenbus.c 2012-12-18 12:11:42.000000000 +0100
+@@ -228,43 +228,34 @@ static void blkback_discard(struct xenbu
struct backend_info *be)
{
struct xenbus_device *dev = be->dev;
@@ -3981,9 +3981,9 @@ Acked-by: jbeulich@suse.com
module_param_named(permute_returns, MODPARM_permute_returns, bool, S_IRUSR|S_IWUSR);
MODULE_PARM_DESC(permute_returns, "Randomly permute the order in which TX responses are sent to the frontend");
---- head.orig/drivers/xen/netfront/netfront.c 2012-10-04 13:08:34.000000000 +0200
-+++ head/drivers/xen/netfront/netfront.c 2012-10-04 13:11:32.000000000 +0200
-@@ -81,15 +81,15 @@ struct netfront_cb {
+--- head.orig/drivers/xen/netfront/netfront.c 2012-12-18 12:11:24.000000000 +0100
++++ head/drivers/xen/netfront/netfront.c 2012-12-18 12:11:48.000000000 +0100
+@@ -82,15 +82,15 @@ struct netfront_cb {
* For paravirtualised guests, flipping is the default.
*/
#ifdef CONFIG_XEN
@@ -4003,7 +4003,7 @@ Acked-by: jbeulich@suse.com
#endif
#define RX_COPY_THRESHOLD 256
-@@ -229,7 +229,7 @@ static void xennet_sysfs_delif(struct ne
+@@ -230,7 +230,7 @@ static void xennet_sysfs_delif(struct ne
#define xennet_sysfs_delif(dev) do { } while(0)
#endif
@@ -4012,7 +4012,7 @@ Acked-by: jbeulich@suse.com
{
return dev->features & NETIF_F_SG;
}
-@@ -2035,7 +2035,8 @@ static void network_set_multicast_list(s
+@@ -2036,7 +2036,8 @@ static void network_set_multicast_list(s
{
}
@@ -4022,7 +4022,7 @@ Acked-by: jbeulich@suse.com
{
struct netfront_info *np = netdev_priv(dev);
int val;
-@@ -2061,7 +2062,8 @@ static u32 xennet_fix_features(struct ne
+@@ -2062,7 +2063,8 @@ static u32 xennet_fix_features(struct ne
return features;
}
@@ -4032,7 +4032,7 @@ Acked-by: jbeulich@suse.com
{
if (!(features & NETIF_F_SG) && dev->mtu > ETH_DATA_LEN) {
netdev_info(dev, "Reducing MTU because no SG offload");
-@@ -2242,7 +2244,7 @@ static int __init netif_init(void)
+@@ -2243,7 +2245,7 @@ static int __init netif_init(void)
}
if (!MODPARM_rx_flip && !MODPARM_rx_copy)
@@ -4418,7 +4418,7 @@ Acked-by: jbeulich@suse.com
/* For xenbus internal use. */
enum {
XENBUS_XSD_UNCOMMITTED = 0,
---- head.orig/drivers/xen/xenbus/xenbus_dev_backend.c 2012-10-22 15:53:15.000000000 +0200
+--- head.orig/drivers/xen/xenbus/xenbus_dev_backend.c 2012-12-18 11:38:23.000000000 +0100
+++ head/drivers/xen/xenbus/xenbus_dev_backend.c 2012-06-13 16:00:49.000000000 +0200
@@ -7,7 +7,9 @@
#include <linux/capability.h>
@@ -4472,7 +4472,7 @@ Acked-by: jbeulich@suse.com
+void xenbus_ring_ops_init(void);
+
#endif
---- head.orig/include/linux/pci_ids.h 2012-10-22 15:53:34.000000000 +0200
+--- head.orig/include/linux/pci_ids.h 2012-12-18 11:38:23.000000000 +0100
+++ head/include/linux/pci_ids.h 2012-06-21 08:31:17.000000000 +0200
@@ -75,6 +75,7 @@
#define PCI_CLASS_SYSTEM_RTC 0x0803
@@ -4547,8 +4547,8 @@ Acked-by: jbeulich@suse.com
#endif
/*
---- head.orig/include/xen/interface/grant_table.h 2012-10-04 12:08:15.000000000 +0200
-+++ head/include/xen/interface/grant_table.h 2012-10-04 14:37:22.000000000 +0200
+--- head.orig/include/xen/interface/grant_table.h 2012-12-18 12:05:31.000000000 +0100
++++ head/include/xen/interface/grant_table.h 2012-12-18 12:11:55.000000000 +0100
@@ -124,7 +124,9 @@ typedef uint32_t grant_ref_t;
* Version 1 of the grant table entry structure is maintained purely
* for backwards compatibility. New guests should use version 2.
@@ -4578,7 +4578,7 @@ Acked-by: jbeulich@suse.com
#define GNTTABOP_set_version 8
#define GNTTABOP_get_status_frames 9
#define GNTTABOP_get_version 10
-@@ -511,10 +513,11 @@ struct gnttab_unmap_and_replace {
+@@ -515,10 +517,11 @@ struct gnttab_unmap_and_replace {
/* OUT parameters. */
int16_t status; /* => enum grant_status */
};
@@ -4591,7 +4591,7 @@ Acked-by: jbeulich@suse.com
/*
* GNTTABOP_set_version: Request a particular version of the grant
* table shared table structure. This operation can only be performed
-@@ -526,6 +529,7 @@ struct gnttab_set_version {
+@@ -530,6 +533,7 @@ struct gnttab_set_version {
/* IN/OUT parameters */
uint32_t version;
};
@@ -4599,7 +4599,7 @@ Acked-by: jbeulich@suse.com
typedef struct gnttab_set_version gnttab_set_version_t;
DEFINE_XEN_GUEST_HANDLE(gnttab_set_version_t);
-@@ -550,6 +554,7 @@ struct gnttab_get_status_frames {
+@@ -554,6 +558,7 @@ struct gnttab_get_status_frames {
int16_t status; /* => enum grant_status */
XEN_GUEST_HANDLE(uint64_t) frame_list;
};
@@ -4607,7 +4607,7 @@ Acked-by: jbeulich@suse.com
typedef struct gnttab_get_status_frames gnttab_get_status_frames_t;
DEFINE_XEN_GUEST_HANDLE(gnttab_get_status_frames_t);
-@@ -564,6 +569,7 @@ struct gnttab_get_version {
+@@ -568,6 +573,7 @@ struct gnttab_get_version {
/* OUT parameters */
uint32_t version;
};
@@ -4615,9 +4615,9 @@ Acked-by: jbeulich@suse.com
typedef struct gnttab_get_version gnttab_get_version_t;
DEFINE_XEN_GUEST_HANDLE(gnttab_get_version_t);
---- head.orig/include/xen/interface/io/blkif.h 2012-04-04 10:28:27.000000000 +0200
-+++ head/include/xen/interface/io/blkif.h 2012-04-04 10:31:20.000000000 +0200
-@@ -428,25 +428,40 @@ struct blkif_request_segment {
+--- head.orig/include/xen/interface/io/blkif.h 2012-12-18 12:11:27.000000000 +0100
++++ head/include/xen/interface/io/blkif.h 2012-12-18 12:12:00.000000000 +0100
+@@ -488,25 +488,40 @@ struct blkif_request_segment {
*/
struct blkif_request {
uint8_t operation; /* BLKIF_OP_??? */
diff --git a/patches.xen/xen3-patch-3.4 b/patches.xen/xen3-patch-3.4
index 4db72098bd..68cf7d92bf 100644
--- a/patches.xen/xen3-patch-3.4
+++ b/patches.xen/xen3-patch-3.4
@@ -18,7 +18,7 @@ Acked-by: jbeulich@suse.com
#else
extern int acpi_suspend_lowlevel(void);
#endif
---- head.orig/arch/x86/include/asm/compat.h 2012-12-06 15:58:41.000000000 +0100
+--- head.orig/arch/x86/include/asm/compat.h 2012-12-18 11:38:23.000000000 +0100
+++ head/arch/x86/include/asm/compat.h 2012-10-23 16:00:15.000000000 +0200
@@ -301,7 +301,11 @@ static inline void __user *arch_compat_a
sp = task_pt_regs(current)->sp;
@@ -2537,7 +2537,7 @@ Acked-by: jbeulich@suse.com
#include <asm/pgtable.h>
#include <asm/pgalloc.h>
#include <asm/fixmap.h>
---- head.orig/arch/x86/vdso/vclock_gettime.c 2012-12-06 15:58:41.000000000 +0100
+--- head.orig/arch/x86/vdso/vclock_gettime.c 2012-12-18 11:38:23.000000000 +0100
+++ head/arch/x86/vdso/vclock_gettime.c 2012-10-23 15:59:53.000000000 +0200
@@ -25,6 +25,9 @@
@@ -2812,7 +2812,7 @@ Acked-by: jbeulich@suse.com
err = platform_driver_register(&via_cputemp_driver);
if (err)
---- head.orig/drivers/input/misc/Kconfig 2012-12-06 15:58:41.000000000 +0100
+--- head.orig/drivers/input/misc/Kconfig 2012-12-18 11:38:23.000000000 +0100
+++ head/drivers/input/misc/Kconfig 2012-08-20 13:22:44.000000000 +0200
@@ -589,7 +589,7 @@ config INPUT_CMA3000_I2C
@@ -2885,9 +2885,9 @@ Acked-by: jbeulich@suse.com
#include <asm/ptrace.h>
#include <xen/evtchn.h>
#include <xen/interface/event_channel.h>
---- head.orig/drivers/xen/netfront/netfront.c 2012-10-04 13:11:32.000000000 +0200
-+++ head/drivers/xen/netfront/netfront.c 2012-10-04 13:11:59.000000000 +0200
-@@ -937,7 +937,7 @@ static int network_start_xmit(struct sk_
+--- head.orig/drivers/xen/netfront/netfront.c 2012-12-18 12:11:48.000000000 +0100
++++ head/drivers/xen/netfront/netfront.c 2012-12-18 12:12:08.000000000 +0100
+@@ -938,7 +938,7 @@ static int network_start_xmit(struct sk_
char *data = skb->data;
RING_IDX i;
grant_ref_t ref;
@@ -2896,7 +2896,7 @@ Acked-by: jbeulich@suse.com
int notify;
int frags = skb_shinfo(skb)->nr_frags;
unsigned int offset = offset_in_page(data);
-@@ -957,12 +957,12 @@ static int network_start_xmit(struct sk_
+@@ -958,12 +958,12 @@ static int network_start_xmit(struct sk_
goto drop;
}
@@ -2911,7 +2911,7 @@ Acked-by: jbeulich@suse.com
goto drop;
}
-@@ -1033,7 +1033,7 @@ static int network_start_xmit(struct sk_
+@@ -1034,7 +1034,7 @@ static int network_start_xmit(struct sk_
if (!netfront_tx_slot_available(np))
netif_stop_queue(dev);
@@ -2920,7 +2920,7 @@ Acked-by: jbeulich@suse.com
return NETDEV_TX_OK;
-@@ -2073,6 +2073,13 @@ static int xennet_set_features(struct ne
+@@ -2074,6 +2074,13 @@ static int xennet_set_features(struct ne
return 0;
}
@@ -2934,7 +2934,7 @@ Acked-by: jbeulich@suse.com
static const struct net_device_ops xennet_netdev_ops = {
.ndo_uninit = netif_uninit,
.ndo_open = network_open,
-@@ -2083,6 +2090,9 @@ static const struct net_device_ops xenne
+@@ -2084,6 +2091,9 @@ static const struct net_device_ops xenne
.ndo_validate_addr = eth_validate_addr,
.ndo_fix_features = xennet_fix_features,
.ndo_set_features = xennet_set_features,
@@ -2944,7 +2944,7 @@ Acked-by: jbeulich@suse.com
.ndo_change_mtu = xennet_change_mtu,
.ndo_get_stats64 = xennet_get_stats64,
};
-@@ -2094,10 +2104,8 @@ static struct net_device * __devinit cre
+@@ -2095,10 +2105,8 @@ static struct net_device * __devinit cre
struct netfront_info *np = NULL;
netdev = alloc_etherdev(sizeof(struct netfront_info));
@@ -3088,7 +3088,7 @@ Acked-by: jbeulich@suse.com
if (HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, &op, 1))
BUG();
---- head.orig/include/linux/timex.h 2012-12-06 15:58:41.000000000 +0100
+--- head.orig/include/linux/timex.h 2012-12-18 11:38:23.000000000 +0100
+++ head/include/linux/timex.h 2012-10-23 16:00:01.000000000 +0200
@@ -127,6 +127,9 @@ extern unsigned long tick_nsec; /* SHIF
@@ -3125,7 +3125,7 @@ Acked-by: jbeulich@suse.com
/* Single printf and write: returns -errno or 0. */
__printf(4, 5)
---- head.orig/kernel/time/ntp.c 2012-12-06 15:58:41.000000000 +0100
+--- head.orig/kernel/time/ntp.c 2012-12-18 11:38:23.000000000 +0100
+++ head/kernel/time/ntp.c 2012-04-13 16:09:37.000000000 +0200
@@ -239,7 +239,10 @@ static inline void pps_fill_timex(struct
* ntp_synced - Returns 1 if the NTP status is not UNSYNC
diff --git a/patches.xen/xen3-patch-3.6 b/patches.xen/xen3-patch-3.6
index 30154983ef..bee0e3b2ae 100644
--- a/patches.xen/xen3-patch-3.6
+++ b/patches.xen/xen3-patch-3.6
@@ -1674,7 +1674,7 @@ Acked-by: jbeulich@suse.com
typedef struct xenpf_cpu_ol xenpf_cpu_ol_t;
DEFINE_XEN_GUEST_HANDLE(xenpf_cpu_ol_t);
---- head.orig/include/xen/interface/xen-mca.h 2012-12-06 15:58:41.000000000 +0100
+--- head.orig/include/xen/interface/xen-mca.h 2012-12-18 11:38:23.000000000 +0100
+++ head/include/xen/interface/xen-mca.h 2012-08-21 17:41:59.000000000 +0200
@@ -272,7 +272,7 @@ struct xen_mc_fetch {
uint64_t fetch_id;
@@ -1695,8 +1695,8 @@ Acked-by: jbeulich@suse.com
#define XEN_MC_msrinject 4
--- head.orig/mm/page_alloc.c 2012-10-23 15:36:27.000000000 +0200
-+++ head/mm/page_alloc.c 2012-12-06 16:18:20.000000000 +0100
-@@ -3899,7 +3899,11 @@ static void __meminit zone_init_free_lis
++++ head/mm/page_alloc.c 2012-12-18 12:12:22.000000000 +0100
+@@ -3883,7 +3883,11 @@ static void __meminit zone_init_free_lis
memmap_init_zone((size), (nid), (zone), (start_pfn), MEMMAP_EARLY)
#endif
diff --git a/patches.xen/xen3-patch-3.7-rc3 b/patches.xen/xen3-patch-3.7
index d3deb0e96c..2f16068431 100644
--- a/patches.xen/xen3-patch-3.7-rc3
+++ b/patches.xen/xen3-patch-3.7
@@ -1,13 +1,13 @@
From: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
-Subject: Linux: 3.7-rc3
-Patch-mainline: 3.7-rc3
+Subject: Linux: 3.7
+Patch-mainline: 3.7
- This patch contains the differences between 3.6 and 3.7-rc3.
+ This patch contains the differences between 3.6 and 3.7.
-Automatically created from "patch-3.7-rc3" by xen-port-patches.py
+Automatically created from "patch-3.7" by xen-port-patches.py
Acked-by: jbeulich@suse.com
---- head.orig/arch/arm/Kconfig 2012-12-06 15:58:41.000000000 +0100
+--- head.orig/arch/arm/Kconfig 2012-12-18 11:38:23.000000000 +0100
+++ head/arch/arm/Kconfig 2012-12-06 16:18:50.000000000 +0100
@@ -1845,9 +1845,9 @@ config CC_STACKPROTECTOR
@@ -21,7 +21,7 @@ Acked-by: jbeulich@suse.com
bool "Xen guest support on ARM (EXPERIMENTAL)"
depends on EXPERIMENTAL && ARM && OF
depends on CPU_V7 && !CPU_V6
---- head.orig/arch/arm/Makefile 2012-12-06 15:58:41.000000000 +0100
+--- head.orig/arch/arm/Makefile 2012-12-18 11:38:23.000000000 +0100
+++ head/arch/arm/Makefile 2012-10-30 15:36:13.000000000 +0100
@@ -251,7 +251,7 @@ endif
core-$(CONFIG_FPE_NWFPE) += arch/arm/nwfpe/
@@ -32,7 +32,7 @@ Acked-by: jbeulich@suse.com
# If we have a machine-specific directory, then include it in the build.
core-y += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/
---- head.orig/arch/arm/include/asm/xen/interface.h 2012-12-06 15:58:41.000000000 +0100
+--- head.orig/arch/arm/include/asm/xen/interface.h 2012-12-18 11:38:23.000000000 +0100
+++ head/arch/arm/include/asm/xen/interface.h 2012-10-31 11:29:25.000000000 +0100
@@ -11,14 +11,14 @@
@@ -362,6 +362,24 @@ Acked-by: jbeulich@suse.com
raw_spin_lock(&desc->lock);
/*
+--- head.orig/arch/x86/kernel/cpu/amd.c 2012-12-18 12:18:51.000000000 +0100
++++ head/arch/x86/kernel/cpu/amd.c 2012-12-06 16:55:03.000000000 +0100
+@@ -641,7 +641,6 @@ static void __cpuinit init_amd(struct cp
+ }
+ }
+ }
+-#endif
+
+ /*
+ * The way access filter has a performance penalty on some workloads.
+@@ -656,6 +655,7 @@ static void __cpuinit init_amd(struct cp
+ wrmsrl_safe(0xc0011021, val);
+ }
+ }
++#endif
+
+ cpu_detect_cache_sizes(c);
+
--- head.orig/arch/x86/kernel/cpu/common-xen.c 2012-09-05 15:48:34.000000000 +0200
+++ head/arch/x86/kernel/cpu/common-xen.c 2012-10-29 17:13:41.000000000 +0100
@@ -279,23 +279,36 @@ static inline void squash_the_stupid_ser
@@ -2554,6 +2572,17 @@ Acked-by: jbeulich@suse.com
}
#endif /* CONFIG_XEN */
+--- head.orig/arch/x86/mm/tlb-xen.c 2012-12-18 12:18:51.000000000 +0100
++++ head/arch/x86/mm/tlb-xen.c 2012-12-06 16:25:52.000000000 +0100
+@@ -57,7 +57,7 @@ void flush_tlb_mm_range(struct mm_struct
+ }
+
+ if (end == TLB_FLUSH_ALL || tlb_flushall_shift == -1
+- || vmflag == VM_HUGETLB)
++ || vmflag & VM_HUGETLB)
+ goto flush_all;
+
+ /* In modern CPU, last level tlb used for both data/ins */
--- head.orig/drivers/acpi/processor_idle.c 2012-10-23 15:55:55.000000000 +0200
+++ head/drivers/acpi/processor_idle.c 2012-10-31 16:26:32.000000000 +0100
@@ -1250,7 +1250,6 @@ static int acpi_processor_registered;
@@ -2620,7 +2649,7 @@ Acked-by: jbeulich@suse.com
};
static int adjust_tjmax(struct platform_data *c, u32 id, struct device *dev)
---- head.orig/drivers/remoteproc/Kconfig 2012-12-06 15:58:41.000000000 +0100
+--- head.orig/drivers/remoteproc/Kconfig 2012-12-18 11:38:23.000000000 +0100
+++ head/drivers/remoteproc/Kconfig 2012-11-02 12:55:30.000000000 +0100
@@ -1,4 +1,5 @@
menu "Remoteproc drivers (EXPERIMENTAL)"
@@ -2629,8 +2658,8 @@ Acked-by: jbeulich@suse.com
# REMOTEPROC gets selected by whoever wants it
config REMOTEPROC
--- head.orig/drivers/xen/Makefile 2012-08-20 14:37:06.000000000 +0200
-+++ head/drivers/xen/Makefile 2012-10-29 17:13:41.000000000 +0100
-@@ -1,10 +1,15 @@
++++ head/drivers/xen/Makefile 2012-11-14 13:25:08.000000000 +0100
+@@ -1,10 +1,16 @@
-obj-$(CONFIG_PARAVIRT_XEN) += grant-table.o features.o events.o manage.o balloon.o
xen-biomerge-$(CONFIG_PARAVIRT_XEN) := biomerge.o
xen-hotplug-$(CONFIG_PARAVIRT_XEN) := cpu_hotplug.o
@@ -2642,12 +2671,13 @@ Acked-by: jbeulich@suse.com
+obj-$(CONFIG_PARAVIRT_XEN) += manage.o balloon.o
+obj-$(CONFIG_HOTPLUG_CPU) += $(xen-hotplug-y)
+endif
++obj-$(CONFIG_X86) += fallback.o
+obj-$(CONFIG_PARAVIRT_XEN) += grant-table.o features.o events.o
+
xen-balloon_$(CONFIG_XEN) := balloon/
xen-privcmd_$(CONFIG_XEN) := privcmd/
obj-$(CONFIG_XEN) += core/
-@@ -25,8 +30,12 @@ priv-$(CONFIG_PCI) += pci.o
+@@ -25,8 +31,12 @@ priv-$(CONFIG_PCI) += pci.o
obj-$(CONFIG_XEN) += features.o $(xen-backend-y) $(xen-backend-m)
obj-$(CONFIG_XEN_PRIVILEGED_GUEST) += $(priv-y)
@@ -2661,7 +2691,7 @@ Acked-by: jbeulich@suse.com
obj-$(CONFIG_XEN_XENCOMM) += xencomm.o
obj-$(CONFIG_XEN_BALLOON) += $(xen-balloon_y)
obj-$(CONFIG_XEN_SELFBALLOONING) += xen-selfballoon.o
-@@ -38,8 +47,6 @@ obj-$(CONFIG_XEN_SYS_HYPERVISOR) += sys-
+@@ -38,8 +48,6 @@ obj-$(CONFIG_XEN_SYS_HYPERVISOR) += sys-
obj-$(CONFIG_XEN_PVHVM) += platform-pci.o
obj-$(CONFIG_XEN_TMEM) += tmem.o
obj-$(CONFIG_SWIOTLB_XEN) += swiotlb-xen.o
@@ -2740,6 +2770,17 @@ Acked-by: jbeulich@suse.com
if (tty->count != 1) {
mutex_unlock(&tty_mutex);
+--- head.orig/drivers/xen/core/Makefile 2012-12-18 12:18:51.000000000 +0100
++++ head/drivers/xen/core/Makefile 2012-11-14 14:29:01.000000000 +0100
+@@ -2,7 +2,7 @@
+ # Makefile for the linux kernel.
+ #
+
+-obj-y := evtchn.o gnttab.o reboot.o machine_reboot.o fallback.o
++obj-y := evtchn.o gnttab.o reboot.o machine_reboot.o
+
+ obj-$(CONFIG_XEN_PRIVILEGED_GUEST) += firmware.o
+ obj-$(CONFIG_PROC_FS) += xen_proc.o
--- head.orig/drivers/xen/core/reboot.c 2011-11-18 15:46:15.000000000 +0100
+++ head/drivers/xen/core/reboot.c 2012-11-05 12:27:07.000000000 +0100
@@ -1,6 +1,7 @@
@@ -2806,6 +2847,31 @@ Acked-by: jbeulich@suse.com
return rc;
}
+--- head.orig/drivers/xen/fallback.c 2012-12-18 12:18:51.000000000 +0100
++++ head/drivers/xen/fallback.c 2012-11-14 13:29:46.000000000 +0100
+@@ -3,7 +3,16 @@
+ #include <linux/bug.h>
+ #include <linux/export.h>
+ #include <asm/hypervisor.h>
++#ifdef CONFIG_PARAVIRT_XEN
+ #include <asm/xen/hypercall.h>
++#else
++#define xen_event_channel_op_compat HYPERVISOR_event_channel_op_compat
++#endif
++
++#if defined(CONFIG_PARAVIRT_XEN) || CONFIG_XEN_COMPAT <= 0x030002
++
++#include <xen/interface/event_channel.h>
++#include <xen/interface/physdev.h>
+
+ int xen_event_channel_op_compat(int cmd, void *arg)
+ {
+@@ -78,3 +87,5 @@ int HYPERVISOR_physdev_op_compat(int cmd
+
+ return rc;
+ }
++
++#endif /* CONFIG_XEN_COMPAT <= 0x030002 */
--- head.orig/drivers/xen/fbfront/xenfb.c 2011-02-08 10:37:50.000000000 +0100
+++ head/drivers/xen/fbfront/xenfb.c 2012-10-30 14:53:54.000000000 +0100
@@ -457,7 +457,7 @@ static int xenfb_mmap(struct fb_info *fb
@@ -3021,17 +3087,9 @@ Acked-by: jbeulich@suse.com
RING_PUSH_RESPONSES_AND_CHECK_NOTIFY(&netif->rx, ret);
irq = netif->irq;
---- head.orig/drivers/xen/netfront/netfront.c 2012-10-04 13:11:59.000000000 +0200
-+++ head/drivers/xen/netfront/netfront.c 2012-11-29 11:58:15.000000000 +0100
-@@ -33,6 +33,7 @@
- #include <linux/module.h>
- #include <linux/version.h>
- #include <linux/kernel.h>
-+#include <linux/pfn.h>
- #include <linux/sched.h>
- #include <linux/slab.h>
- #include <linux/string.h>
-@@ -573,7 +574,7 @@ static void backend_changed(struct xenbu
+--- head.orig/drivers/xen/netfront/netfront.c 2012-12-18 12:12:08.000000000 +0100
++++ head/drivers/xen/netfront/netfront.c 2012-12-18 12:16:16.000000000 +0100
+@@ -574,7 +574,7 @@ static void backend_changed(struct xenbu
break;
case XenbusStateConnected:
@@ -3040,7 +3098,7 @@ Acked-by: jbeulich@suse.com
break;
case XenbusStateClosed:
-@@ -904,29 +905,68 @@ static void xennet_make_frags(struct sk_
+@@ -905,29 +905,68 @@ static void xennet_make_frags(struct sk_
for (i = 0; i < frags; i++) {
skb_frag_t *frag = skb_shinfo(skb)->frags + i;
@@ -3123,7 +3181,7 @@ Acked-by: jbeulich@suse.com
static int network_start_xmit(struct sk_buff *skb, struct net_device *dev)
{
unsigned short id;
-@@ -939,9 +979,8 @@ static int network_start_xmit(struct sk_
+@@ -940,9 +979,8 @@ static int network_start_xmit(struct sk_
grant_ref_t ref;
unsigned long mfn, flags;
int notify;
@@ -3134,11 +3192,11 @@ Acked-by: jbeulich@suse.com
/* Check the fast path, if hooks are available */
if (np->accel_vif_state.hooks &&
-@@ -950,17 +989,17 @@ static int network_start_xmit(struct sk_
+@@ -951,17 +989,17 @@ static int network_start_xmit(struct sk_
return NETDEV_TX_OK;
}
-- frags += DIV_ROUND_UP(offset + len, PAGE_SIZE);
+- frags += PFN_UP(offset + len);
- if (unlikely(frags > MAX_SKB_FRAGS + 1)) {
- pr_alert("xennet: skb rides the rocket: %d frags\n", frags);
- dump_stack();
@@ -3440,7 +3498,7 @@ Acked-by: jbeulich@suse.com
err = xenbus_scanf(XBT_NIL, "control",
"platform-feature-xs_reset_watches", "%d",
&supported);
---- head.orig/include/uapi/xen/evtchn.h 2012-12-06 15:58:41.000000000 +0100
+--- head.orig/include/uapi/xen/evtchn.h 2012-12-18 11:38:23.000000000 +0100
+++ head/include/uapi/xen/evtchn.h 2012-10-31 16:44:01.000000000 +0100
@@ -1,88 +1 @@
-/******************************************************************************
@@ -3603,51 +3661,68 @@ Acked-by: jbeulich@suse.com
-#if defined(CONFIG_PARAVIRT_XEN) || !defined(__KERNEL__)
-#include "public/gntdev.h"
-#endif
---- head.orig/include/xen/interface/arch-x86/xen.h 2011-03-17 14:11:48.000000000 +0100
-+++ head/include/xen/interface/arch-x86/xen.h 2012-10-31 12:00:08.000000000 +0100
-@@ -88,6 +88,7 @@ typedef unsigned long xen_pfn_t;
- #ifndef __ASSEMBLY__
-
- typedef unsigned long xen_ulong_t;
-+#define PRI_xen_ulong "lx"
+--- head.orig/include/xen/hvm.h 2012-12-18 12:18:51.000000000 +0100
++++ head/include/xen/hvm.h 2012-11-14 13:31:31.000000000 +0100
+@@ -7,6 +7,37 @@
+ #include <asm/xen/hypercall.h>
+ #endif
- /*
- * ` enum neg_errnoval
---- head.orig/include/xen/interface/grant_table.h 2012-10-04 14:37:22.000000000 +0200
-+++ head/include/xen/interface/grant_table.h 2012-10-31 11:26:29.000000000 +0100
-@@ -390,7 +390,11 @@ struct gnttab_setup_table {
++static inline const char *param_name(int op)
++{
++#define PARAM(x) [HVM_PARAM_##x] = #x
++ static const char *const names[] = {
++ PARAM(CALLBACK_IRQ),
++ PARAM(STORE_PFN),
++ PARAM(STORE_EVTCHN),
++ PARAM(PAE_ENABLED),
++ PARAM(IOREQ_PFN),
++ PARAM(BUFIOREQ_PFN),
++ PARAM(TIMER_MODE),
++ PARAM(HPET_ENABLED),
++ PARAM(IDENT_PT),
++ PARAM(DM_DOMAIN),
++ PARAM(ACPI_S_STATE),
++ PARAM(VM86_TSS),
++ PARAM(VPT_ALIGN),
++ PARAM(CONSOLE_PFN),
++ PARAM(CONSOLE_EVTCHN),
++ };
++#undef PARAM
++
++ if (op >= ARRAY_SIZE(names))
++ return "unknown";
++
++ if (!names[op])
++ return "reserved";
++
++ return names[op];
++}
++
+ static inline int hvm_get_parameter(int idx, uint64_t *value)
+ {
+ struct xen_hvm_param xhv;
+@@ -16,7 +47,8 @@ static inline int hvm_get_parameter(int
+ xhv.index = idx;
+ r = HYPERVISOR_hvm_op(HVMOP_get_param, &xhv);
+ if (r < 0) {
+- pr_err("Cannot get hvm parameter %d: %d!\n", idx, r);
++ pr_err("Cannot get hvm parameter %s (%d): %d!\n",
++ param_name(idx), idx, r);
+ return r;
+ }
+ *value = xhv.value;
+--- head.orig/include/xen/interface/grant_table.h 2012-12-18 12:11:55.000000000 +0100
++++ head/include/xen/interface/grant_table.h 2012-12-18 12:15:41.000000000 +0100
+@@ -390,7 +390,7 @@ struct gnttab_setup_table {
uint32_t nr_frames;
/* OUT parameters. */
int16_t status; /* => enum grant_status */
+-#if __XEN_INTERFACE_VERSION__ < 0x00040300
+#if !defined(CONFIG_PARAVIRT_XEN) && __XEN_INTERFACE_VERSION__ < 0x00040300
XEN_GUEST_HANDLE(ulong) frame_list;
-+#else
-+ XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
-+#endif
- };
- DEFINE_GUEST_HANDLE_STRUCT(gnttab_setup_table);
- typedef struct gnttab_setup_table gnttab_setup_table_t;
---- head.orig/include/xen/interface/version.h 2011-01-31 17:49:31.000000000 +0100
-+++ head/include/xen/interface/version.h 2012-10-31 15:55:36.000000000 +0100
-@@ -28,6 +28,8 @@
- #ifndef __XEN_PUBLIC_VERSION_H__
- #define __XEN_PUBLIC_VERSION_H__
-
-+#include "xen.h"
-+
- /* NB. All ops return zero on success, except XENVER_{version,pagesize} */
-
- /* arg == NULL; returns major:minor (16:16). */
-@@ -67,7 +69,7 @@ struct xen_changeset_info {
-
- #define XENVER_platform_parameters 5
- struct xen_platform_parameters {
-- unsigned long virt_start;
-+ xen_ulong_t virt_start;
- };
- typedef struct xen_platform_parameters xen_platform_parameters_t;
-
---- head.orig/include/xen/interface/xen.h 2012-04-04 10:26:34.000000000 +0200
+ #else
+ XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
+--- head.orig/include/xen/interface/xen.h 2012-12-18 12:11:14.000000000 +0100
+++ head/include/xen/interface/xen.h 2012-10-29 17:13:41.000000000 +0100
@@ -28,9 +28,6 @@
#define __XEN_PUBLIC_XEN_H__
diff --git a/patches.xen/xen3-patch-3.7-rc4-rc5 b/patches.xen/xen3-patch-3.7-rc4-rc5
deleted file mode 100644
index fc33ae3ba2..0000000000
--- a/patches.xen/xen3-patch-3.7-rc4-rc5
+++ /dev/null
@@ -1,105 +0,0 @@
-From: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
-Subject: Linux: 3.7-rc5
-Patch-mainline: 3.7-rc5
-
- This patch contains the differences between 3.7-rc4 and 3.7-rc5.
-
-Automatically created from "patch-3.7-rc4-rc5" by xen-port-patches.py
-Acked-by: jbeulich@suse.com
-
---- head.orig/drivers/xen/Makefile 2012-10-29 17:13:41.000000000 +0100
-+++ head/drivers/xen/Makefile 2012-11-14 13:25:08.000000000 +0100
-@@ -8,6 +8,7 @@ ifneq ($(CONFIG_ARM),y)
- obj-$(CONFIG_PARAVIRT_XEN) += manage.o balloon.o
- obj-$(CONFIG_HOTPLUG_CPU) += $(xen-hotplug-y)
- endif
-+obj-$(CONFIG_X86) += fallback.o
- obj-$(CONFIG_PARAVIRT_XEN) += grant-table.o features.o events.o
-
- xen-balloon_$(CONFIG_XEN) := balloon/
---- head.orig/drivers/xen/core/Makefile 2012-02-17 14:35:00.000000000 +0100
-+++ head/drivers/xen/core/Makefile 2012-11-14 14:29:01.000000000 +0100
-@@ -2,7 +2,7 @@
- # Makefile for the linux kernel.
- #
-
--obj-y := evtchn.o gnttab.o reboot.o machine_reboot.o fallback.o
-+obj-y := evtchn.o gnttab.o reboot.o machine_reboot.o
-
- obj-$(CONFIG_XEN_PRIVILEGED_GUEST) += firmware.o
- obj-$(CONFIG_PROC_FS) += xen_proc.o
---- head.orig/drivers/xen/fallback.c 2012-11-14 14:28:13.000000000 +0100
-+++ head/drivers/xen/fallback.c 2012-11-14 13:29:46.000000000 +0100
-@@ -3,7 +3,16 @@
- #include <linux/bug.h>
- #include <linux/export.h>
- #include <asm/hypervisor.h>
-+#ifdef CONFIG_PARAVIRT_XEN
- #include <asm/xen/hypercall.h>
-+#else
-+#define xen_event_channel_op_compat HYPERVISOR_event_channel_op_compat
-+#endif
-+
-+#if defined(CONFIG_PARAVIRT_XEN) || CONFIG_XEN_COMPAT <= 0x030002
-+
-+#include <xen/interface/event_channel.h>
-+#include <xen/interface/physdev.h>
-
- int xen_event_channel_op_compat(int cmd, void *arg)
- {
-@@ -78,3 +87,5 @@ int HYPERVISOR_physdev_op_compat(int cmd
-
- return rc;
- }
-+
-+#endif /* CONFIG_XEN_COMPAT <= 0x030002 */
---- head.orig/include/xen/hvm.h 2011-02-01 15:04:27.000000000 +0100
-+++ head/include/xen/hvm.h 2012-11-14 13:31:31.000000000 +0100
-@@ -7,6 +7,37 @@
- #include <asm/xen/hypercall.h>
- #endif
-
-+static inline const char *param_name(int op)
-+{
-+#define PARAM(x) [HVM_PARAM_##x] = #x
-+ static const char *const names[] = {
-+ PARAM(CALLBACK_IRQ),
-+ PARAM(STORE_PFN),
-+ PARAM(STORE_EVTCHN),
-+ PARAM(PAE_ENABLED),
-+ PARAM(IOREQ_PFN),
-+ PARAM(BUFIOREQ_PFN),
-+ PARAM(TIMER_MODE),
-+ PARAM(HPET_ENABLED),
-+ PARAM(IDENT_PT),
-+ PARAM(DM_DOMAIN),
-+ PARAM(ACPI_S_STATE),
-+ PARAM(VM86_TSS),
-+ PARAM(VPT_ALIGN),
-+ PARAM(CONSOLE_PFN),
-+ PARAM(CONSOLE_EVTCHN),
-+ };
-+#undef PARAM
-+
-+ if (op >= ARRAY_SIZE(names))
-+ return "unknown";
-+
-+ if (!names[op])
-+ return "reserved";
-+
-+ return names[op];
-+}
-+
- static inline int hvm_get_parameter(int idx, uint64_t *value)
- {
- struct xen_hvm_param xhv;
-@@ -16,7 +47,8 @@ static inline int hvm_get_parameter(int
- xhv.index = idx;
- r = HYPERVISOR_hvm_op(HVMOP_get_param, &xhv);
- if (r < 0) {
-- pr_err("Cannot get hvm parameter %d: %d!\n", idx, r);
-+ pr_err("Cannot get hvm parameter %s (%d): %d!\n",
-+ param_name(idx), idx, r);
- return r;
- }
- *value = xhv.value;
diff --git a/patches.xen/xen3-patch-3.7-rc6-rc7 b/patches.xen/xen3-patch-3.7-rc6-rc7
deleted file mode 100644
index 632d4a6327..0000000000
--- a/patches.xen/xen3-patch-3.7-rc6-rc7
+++ /dev/null
@@ -1,38 +0,0 @@
-From: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
-Subject: Linux: 3.7-rc7
-Patch-mainline: 3.7-rc7
-
- This patch contains the differences between 3.7-rc6 and 3.7-rc7.
-
-Automatically created from "patch-3.7-rc6-rc7" by xen-port-patches.py
-Acked-by: jbeulich@suse.com
-
---- head.orig/arch/x86/kernel/cpu/amd.c 2012-12-06 16:17:59.000000000 +0100
-+++ head/arch/x86/kernel/cpu/amd.c 2012-12-06 16:55:03.000000000 +0100
-@@ -641,7 +641,6 @@ static void __cpuinit init_amd(struct cp
- }
- }
- }
--#endif
-
- /*
- * The way access filter has a performance penalty on some workloads.
-@@ -656,6 +655,7 @@ static void __cpuinit init_amd(struct cp
- wrmsrl_safe(0xc0011021, val);
- }
- }
-+#endif
-
- cpu_detect_cache_sizes(c);
-
---- head.orig/arch/x86/mm/tlb-xen.c 2012-08-21 17:36:04.000000000 +0200
-+++ head/arch/x86/mm/tlb-xen.c 2012-12-06 16:25:52.000000000 +0100
-@@ -57,7 +57,7 @@ void flush_tlb_mm_range(struct mm_struct
- }
-
- if (end == TLB_FLUSH_ALL || tlb_flushall_shift == -1
-- || vmflag == VM_HUGETLB)
-+ || vmflag & VM_HUGETLB)
- goto flush_all;
-
- /* In modern CPU, last level tlb used for both data/ins */
diff --git a/series.conf b/series.conf
index 374a1aa47f..0bd47c9526 100644
--- a/series.conf
+++ b/series.conf
@@ -646,9 +646,7 @@
patches.xen/xen3-patch-3.4
patches.xen/xen3-patch-3.5
patches.xen/xen3-patch-3.6
- patches.xen/xen3-patch-3.7-rc3
- patches.xen/xen3-patch-3.7-rc4-rc5
- patches.xen/xen3-patch-3.7-rc6-rc7
+ patches.xen/xen3-patch-3.7
# ports of other patches
patches.xen/xen3-003-acpi_initrd_override_tables.patch