From 57123e612c5a13fd6b34aa5beef6f37b5cadb5390fdf5919da4895b2894096cd Mon Sep 17 00:00:00 2001 From: Charles Arnold Date: Wed, 21 Mar 2012 20:38:02 +0000 Subject: [PATCH] - bnc#753165 - xen/scripts/network-bridge wont create bridge bridge-bonding.diff - Upstream patches from Jan 24950-gnttab-copy-mapped.patch 24970-x86-cpuidle-deny-port-access.patch 24996-x86-cpuidle-array-overrun.patch 25041-tapdisk2-create-init-name.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=176 --- 24888-pci-release-devices.patch | 34 ++- 24950-gnttab-copy-mapped.patch | 27 +++ 24970-x86-cpuidle-deny-port-access.patch | 32 +++ 24996-x86-cpuidle-array-overrun.patch | 156 +++++++++++++ 25041-tapdisk2-create-init-name.patch | 23 ++ bridge-bonding.diff | 2 +- xen-warnings-unused.diff | 266 ++++++++--------------- xen.changes | 15 ++ xen.spec | 39 +--- 9 files changed, 386 insertions(+), 208 deletions(-) create mode 100644 24950-gnttab-copy-mapped.patch create mode 100644 24970-x86-cpuidle-deny-port-access.patch create mode 100644 24996-x86-cpuidle-array-overrun.patch create mode 100644 25041-tapdisk2-create-init-name.patch diff --git a/24888-pci-release-devices.patch b/24888-pci-release-devices.patch index 8a44db5..77291d1 100644 --- a/24888-pci-release-devices.patch +++ b/24888-pci-release-devices.patch @@ -16,9 +16,21 @@ domain destruction). Signed-off-by: Jan Beulich Acked-by: Keir Fraser +# HG changeset patch +# User Jan Beulich +# Date 1331114358 -3600 +# Node ID f234e34ea28f753bba92980f367cf545666d69a1 +# Parent e0d944b501512fe3b9866f79e95ad0f29cd5caca +passthrough: fix domain ref leak after 24888:71159fb049f2 + +As pointed out by Keir. + +Signed-off-by: Jan Beulich +Acked-by: Keir Fraser + --- a/xen/arch/ia64/xen/dom0_ops.c +++ b/xen/arch/ia64/xen/dom0_ops.c -@@ -330,7 +330,8 @@ long arch_do_domctl(xen_domctl_t *op, XE +@@ -330,10 +330,13 @@ long arch_do_domctl(xen_domctl_t *op, XE break; ret = -EINVAL; @@ -28,6 +40,19 @@ Acked-by: Keir Fraser { gdprintk(XENLOG_ERR, "XEN_DOMCTL_assign_device: get_domain_by_id() failed\n"); ++ if ( d ) ++ put_domain(d); + break; + } + bus = (op->u.assign_device.machine_bdf >> 16) & 0xff; +@@ -344,6 +347,7 @@ long arch_do_domctl(xen_domctl_t *op, XE + gdprintk(XENLOG_ERR, "XEN_DOMCTL_assign_device: " + "%x:%x.%x already assigned, or non-existent\n", + bus, PCI_SLOT(devfn), PCI_FUNC(devfn)); ++ put_domain(d); + break; + } + --- a/xen/arch/ia64/xen/domain.c +++ b/xen/arch/ia64/xen/domain.c @@ -671,10 +671,8 @@ void arch_domain_destroy(struct domain * @@ -72,7 +97,7 @@ Acked-by: Keir Fraser --- a/xen/arch/x86/domctl.c +++ b/xen/arch/x86/domctl.c -@@ -828,7 +828,8 @@ long arch_do_domctl( +@@ -828,10 +828,13 @@ long arch_do_domctl( break; ret = -EINVAL; @@ -82,3 +107,8 @@ Acked-by: Keir Fraser { gdprintk(XENLOG_ERR, "XEN_DOMCTL_assign_device: get_domain_by_id() failed\n"); ++ if ( d ) ++ goto assign_device_out; + break; + } + diff --git a/24950-gnttab-copy-mapped.patch b/24950-gnttab-copy-mapped.patch new file mode 100644 index 0000000..30670a3 --- /dev/null +++ b/24950-gnttab-copy-mapped.patch @@ -0,0 +1,27 @@ +# HG changeset patch +# User Wei Liu +# Date 1330619838 0 +# Node ID 9ef985f5e6a57d2e78d27c5f0f64e6a049d8d1ff +# Parent ce5ef8a192c1050d85580305921d2e5caf220461 +Grant table: fix a bug when grant copying a previous grant mapped page. + +In grant table version 2, when we create a non-transitive mapping from +DomU to Dom0, we need to set active entry's trans_domain and +trans_ref. Otherwise when we grant copy from this previous mapped +ref, preemption count will get messed up. + +See changeset 22994:299ed79acecf for more information. + +Signed-off-by: Wei Liu + +--- a/xen/common/grant_table.c ++++ b/xen/common/grant_table.c +@@ -574,6 +574,8 @@ __gnttab_map_grant_ref( + act->start = 0; + act->length = PAGE_SIZE; + act->is_sub_page = 0; ++ act->trans_dom = op->dom; ++ act->trans_gref = op->ref; + } + } + diff --git a/24970-x86-cpuidle-deny-port-access.patch b/24970-x86-cpuidle-deny-port-access.patch new file mode 100644 index 0000000..92109c7 --- /dev/null +++ b/24970-x86-cpuidle-deny-port-access.patch @@ -0,0 +1,32 @@ +# HG changeset patch +# User Jan Beulich +# Date 1331048501 -3600 +# Node ID 33980e36597b9f780ef515210863034b5e3080bf +# Parent fb70e48ee3c2ea7060a97d9ddaa6dfc864f1efc0 +x86/cpuidle: deny access to the I/O port used for EM_SYSIO + +Nothing, not even Dom0, should fiddle with this. + +Signed-off-by: Jan Beulich +Acked-by: Keir Fraser + +--- a/xen/arch/x86/acpi/cpu_idle.c ++++ b/xen/arch/x86/acpi/cpu_idle.c +@@ -44,6 +44,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -885,6 +886,9 @@ static void set_cx( + cx->entry_method = ACPI_CSTATE_EM_HALT; + break; + case ACPI_ADR_SPACE_SYSTEM_IO: ++ if ( ioports_deny_access(dom0, cx->address, cx->address) ) ++ printk(XENLOG_WARNING "Could not deny access to port %04x\n", ++ cx->address); + cx->entry_method = ACPI_CSTATE_EM_SYSIO; + break; + default: diff --git a/24996-x86-cpuidle-array-overrun.patch b/24996-x86-cpuidle-array-overrun.patch new file mode 100644 index 0000000..998a2bf --- /dev/null +++ b/24996-x86-cpuidle-array-overrun.patch @@ -0,0 +1,156 @@ +# HG changeset patch +# User Eric Chanudet +# Date 1331222672 -3600 +# Node ID 396801f25e922bdf1db5fd644435f46407586524 +# Parent 66de4220113e937811529b12ea7f6427c0848630 +XENPF_set_processor_pminfo XEN_PM_CX overflows states array + +Calling XENPF_set_processor_pminfo with XEN_PM_CX could cause states +array in "struct acpi_processor_power" to exceed its limit. + +The array used to be reset (by function cpuidle_init_cpu()) for each +hypercall. The patch puts it back that way and adds an assertion to +make it clear in case that happens again. + +Signed-off-by: Eric Chanudet + +- convert assertion to printk() & bail +- eliminate struct acpi_processor_cx's valid member (not read anymore) +- further adjustments to one-time-only vs each-time operations in + cpuidle_init_cpu() +- don't use ACPI_STATE_Cn as array index anymore + +Signed-off-by: Jan Beulich +Acked-by: Keir Fraser + +--- a/xen/arch/x86/acpi/cpu_idle.c ++++ b/xen/arch/x86/acpi/cpu_idle.c +@@ -70,10 +70,8 @@ static void lapic_timer_nop(void) { } + static void (*lapic_timer_off)(void); + static void (*lapic_timer_on)(void); + +-static uint64_t (*get_tick)(void); +-static uint64_t (*ticks_elapsed)(uint64_t t1, uint64_t t2); +-static uint64_t (*tick_to_ns)(uint64_t ticks); +-static uint64_t (*ns_to_tick)(uint64_t ticks); ++static uint64_t (*__read_mostly tick_to_ns)(uint64_t) = acpi_pm_tick_to_ns; ++static uint64_t (*__read_mostly ns_to_tick)(uint64_t) = ns_to_acpi_pm_tick; + + extern void (*pm_idle) (void); + extern void (*dead_idle) (void); +@@ -224,6 +222,10 @@ static uint64_t acpi_pm_ticks_elapsed(ui + return ((0xFFFFFFFF - t1) + t2 +1); + } + ++static uint64_t (*__read_mostly get_tick)(void) = get_acpi_pm_tick; ++static uint64_t (*__read_mostly ticks_elapsed)(uint64_t, uint64_t) ++ = acpi_pm_ticks_elapsed; ++ + #define MWAIT_ECX_INTERRUPT_BREAK (0x1) + + /* +@@ -609,7 +611,16 @@ static int cpuidle_init_cpu(int cpu) + acpi_power = processor_powers[cpu]; + if ( !acpi_power ) + { +- int i; ++ unsigned int i; ++ ++ if ( cpu == 0 && boot_cpu_has(X86_FEATURE_NONSTOP_TSC) ) ++ { ++ get_tick = get_stime_tick; ++ ticks_elapsed = stime_ticks_elapsed; ++ tick_to_ns = stime_tick_to_ns; ++ ns_to_tick = ns_to_stime_tick; ++ } ++ + acpi_power = xmalloc(struct acpi_processor_power); + if ( !acpi_power ) + return -ENOMEM; +@@ -617,36 +628,15 @@ static int cpuidle_init_cpu(int cpu) + + for ( i = 0; i < ACPI_PROCESSOR_MAX_POWER; i++ ) + acpi_power->states[i].idx = i; +- +- acpi_power->states[ACPI_STATE_C1].type = ACPI_STATE_C1; +- acpi_power->states[ACPI_STATE_C1].entry_method = ACPI_CSTATE_EM_HALT; +- +- acpi_power->states[ACPI_STATE_C0].valid = 1; +- acpi_power->states[ACPI_STATE_C1].valid = 1; +- +- acpi_power->count = 2; +- acpi_power->safe_state = &acpi_power->states[ACPI_STATE_C1]; ++ + acpi_power->cpu = cpu; + processor_powers[cpu] = acpi_power; + } + +- if ( cpu == 0 ) +- { +- if ( boot_cpu_has(X86_FEATURE_NONSTOP_TSC) ) +- { +- get_tick = get_stime_tick; +- ticks_elapsed = stime_ticks_elapsed; +- tick_to_ns = stime_tick_to_ns; +- ns_to_tick = ns_to_stime_tick; +- } +- else +- { +- get_tick = get_acpi_pm_tick; +- ticks_elapsed = acpi_pm_ticks_elapsed; +- tick_to_ns = acpi_pm_tick_to_ns; +- ns_to_tick = ns_to_acpi_pm_tick; +- } +- } ++ acpi_power->count = 2; ++ acpi_power->states[1].type = ACPI_STATE_C1; ++ acpi_power->states[1].entry_method = ACPI_CSTATE_EM_HALT; ++ acpi_power->safe_state = &acpi_power->states[1]; + + return 0; + } +@@ -863,17 +853,25 @@ static void set_cx( + if ( check_cx(acpi_power, xen_cx) != 0 ) + return; + +- if ( xen_cx->type == ACPI_STATE_C1 ) ++ switch ( xen_cx->type ) ++ { ++ case ACPI_STATE_C1: + cx = &acpi_power->states[1]; +- else +- cx = &acpi_power->states[acpi_power->count]; +- +- if ( !cx->valid ) +- acpi_power->count++; ++ break; ++ default: ++ if ( acpi_power->count >= ACPI_PROCESSOR_MAX_POWER ) ++ { ++ case ACPI_STATE_C0: ++ printk(XENLOG_WARNING "CPU%u: C%d data ignored\n", ++ acpi_power->cpu, xen_cx->type); ++ return; ++ } ++ cx = &acpi_power->states[acpi_power->count++]; ++ cx->type = xen_cx->type; ++ break; ++ } + +- cx->valid = 1; +- cx->type = xen_cx->type; +- cx->address = xen_cx->reg.address; ++ cx->address = xen_cx->reg.address; + + switch ( xen_cx->reg.space_id ) + { +--- a/xen/include/xen/cpuidle.h ++++ b/xen/include/xen/cpuidle.h +@@ -40,7 +40,6 @@ + struct acpi_processor_cx + { + u8 idx; +- u8 valid; + u8 type; + u32 address; + u8 entry_method; /* ACPI_CSTATE_EM_xxx */ diff --git a/25041-tapdisk2-create-init-name.patch b/25041-tapdisk2-create-init-name.patch new file mode 100644 index 0000000..6eb98f5 --- /dev/null +++ b/25041-tapdisk2-create-init-name.patch @@ -0,0 +1,23 @@ +# HG changeset patch +# User Jan Beulich +# Date 1331725244 0 +# Node ID 20c8a7db63d160e95fcf5c8e2f9d31923d336316 +# Parent e8660d8cf4be332e53cf6e2765f21804e3bfe28e +tapdisk2: initialize 'name' parameter of BLKTAP2_IOCTL_CREATE_DEVICE + +This keeps the kernel driver from printing garbage. + +Signed-off-by: Jan Beulich +Acked-by: Ian Jackson +Committed-by: Ian Jackson + +--- a/tools/blktap2/drivers/tapdisk-control.c ++++ b/tools/blktap2/drivers/tapdisk-control.c +@@ -462,6 +462,7 @@ tapdisk_control_open_image(struct tapdis + + params.capacity = image.size; + params.sector_size = image.secsize; ++ strncpy(params.name, vbd->name, BLKTAP2_MAX_MESSAGE_LEN); + + err = ioctl(vbd->ring.fd, BLKTAP2_IOCTL_CREATE_DEVICE, ¶ms); + if (err && errno != EEXIST) { diff --git a/bridge-bonding.diff b/bridge-bonding.diff index a61d6cf..459abb4 100644 --- a/bridge-bonding.diff +++ b/bridge-bonding.diff @@ -40,7 +40,7 @@ Index: xen-4.1.2-testing/tools/hotplug/Linux/network-bridge + ip link set ${netdev} name ${pdev} + ip link set ${tdev} name ${bridge} + -+ setup_bridge_port ${pdev} ++ _setup_bridge_port ${pdev} + + # Restore slaves + if [ -n "${slaves}" ]; then diff --git a/xen-warnings-unused.diff b/xen-warnings-unused.diff index 4173f5f..b92469e 100644 --- a/xen-warnings-unused.diff +++ b/xen-warnings-unused.diff @@ -1,7 +1,5 @@ -Index: xen-4.1.2-testing/tools/libxc/xc_tmem.c -=================================================================== ---- xen-4.1.2-testing.orig/tools/libxc/xc_tmem.c -+++ xen-4.1.2-testing/tools/libxc/xc_tmem.c +--- a/tools/libxc/xc_tmem.c ++++ b/tools/libxc/xc_tmem.c @@ -390,7 +390,8 @@ static int xc_tmem_restore_new_pool( int xc_tmem_restore(xc_interface *xch, int dom, int io_fd) @@ -12,10 +10,8 @@ Index: xen-4.1.2-testing/tools/libxc/xc_tmem.c uint32_t this_max_pools, this_version; uint32_t pool_id; uint32_t minusone; -Index: xen-4.1.2-testing/tools/libxc/xc_domain_restore.c -=================================================================== ---- xen-4.1.2-testing.orig/tools/libxc/xc_domain_restore.c -+++ xen-4.1.2-testing/tools/libxc/xc_domain_restore.c +--- a/tools/libxc/xc_domain_restore.c ++++ b/tools/libxc/xc_domain_restore.c @@ -1087,7 +1087,6 @@ int xc_domain_restore(xc_interface *xch, int vcpuextstate = 0; uint32_t vcpuextstate_size = 0; @@ -32,10 +28,8 @@ Index: xen-4.1.2-testing/tools/libxc/xc_domain_restore.c n = m = 0; loadpages: -Index: xen-4.1.2-testing/tools/misc/gtraceview.c -=================================================================== ---- xen-4.1.2-testing.orig/tools/misc/gtraceview.c -+++ xen-4.1.2-testing/tools/misc/gtraceview.c +--- a/tools/misc/gtraceview.c ++++ b/tools/misc/gtraceview.c @@ -622,7 +622,8 @@ void crt_init(void) void nr_addch(int nr, int ch) { @@ -46,10 +40,8 @@ Index: xen-4.1.2-testing/tools/misc/gtraceview.c getyx(stdscr, y, x); for (i = 0; i < nr; i++) { if (x == COLS-1) -Index: xen-4.1.2-testing/tools/xcutils/xc_restore.c -=================================================================== ---- xen-4.1.2-testing.orig/tools/xcutils/xc_restore.c -+++ xen-4.1.2-testing/tools/xcutils/xc_restore.c +--- a/tools/xcutils/xc_restore.c ++++ b/tools/xcutils/xc_restore.c @@ -19,7 +19,8 @@ int main(int argc, char **argv) { @@ -60,10 +52,8 @@ Index: xen-4.1.2-testing/tools/xcutils/xc_restore.c xc_interface *xch; int io_fd, ret; int superpages; -Index: xen-4.1.2-testing/tools/firmware/rombios/32bit/tcgbios/tcgbios.c -=================================================================== ---- xen-4.1.2-testing.orig/tools/firmware/rombios/32bit/tcgbios/tcgbios.c -+++ xen-4.1.2-testing/tools/firmware/rombios/32bit/tcgbios/tcgbios.c +--- a/tools/firmware/rombios/32bit/tcgbios/tcgbios.c ++++ b/tools/firmware/rombios/32bit/tcgbios/tcgbios.c @@ -1064,7 +1064,7 @@ uint32_t HashLogEvent32(struct hlei *hle uint32_t rc = 0; uint16_t size; @@ -73,10 +63,8 @@ Index: xen-4.1.2-testing/tools/firmware/rombios/32bit/tcgbios/tcgbios.c uint32_t hashdataptr; uint32_t hashdatalen; -Index: xen-4.1.2-testing/tools/console/client/main.c -=================================================================== ---- xen-4.1.2-testing.orig/tools/console/client/main.c -+++ xen-4.1.2-testing/tools/console/client/main.c +--- a/tools/console/client/main.c ++++ b/tools/console/client/main.c @@ -277,7 +277,8 @@ int main(int argc, char **argv) }; @@ -87,10 +75,8 @@ Index: xen-4.1.2-testing/tools/console/client/main.c struct xs_handle *xs; char *end; console_type type = CONSOLE_INVAL; -Index: xen-4.1.2-testing/tools/xenstat/xentop/xentop.c -=================================================================== ---- xen-4.1.2-testing.orig/tools/xenstat/xentop/xentop.c -+++ xen-4.1.2-testing/tools/xenstat/xentop/xentop.c +--- a/tools/xenstat/xentop/xentop.c ++++ b/tools/xenstat/xentop/xentop.c @@ -272,7 +272,8 @@ static void fail(const char *str) /* Return the row containing the cursor. */ static int current_row(void) @@ -111,11 +97,9 @@ Index: xen-4.1.2-testing/tools/xenstat/xentop/xentop.c getmaxyx(stdscr, y, x); return y; } -Index: xen-4.1.2-testing/tools/libxl/libxlu_cfg.c -=================================================================== ---- xen-4.1.2-testing.orig/tools/libxl/libxlu_cfg.c -+++ xen-4.1.2-testing/tools/libxl/libxlu_cfg.c -@@ -348,7 +348,7 @@ char *xlu__cfgl_dequote(CfgParseContext +--- a/tools/libxl/libxlu_cfg.c ++++ b/tools/libxl/libxlu_cfg.c +@@ -348,7 +348,7 @@ char *xlu__cfgl_dequote(CfgParseContext #define NUMERIC_CHAR(minlen,maxlen,base,basetext) do{ \ char numbuf[(maxlen)+1], *ep; \ @@ -124,11 +108,9 @@ Index: xen-4.1.2-testing/tools/libxl/libxlu_cfg.c \ strncpy(numbuf,p,(maxlen)); \ numbuf[(maxlen)]= 0; \ -Index: xen-4.1.2-testing/tools/libxl/libxl.c -=================================================================== ---- xen-4.1.2-testing.orig/tools/libxl/libxl.c -+++ xen-4.1.2-testing/tools/libxl/libxl.c -@@ -221,7 +221,7 @@ int libxl_domain_rename(libxl_ctx *ctx, +--- a/tools/libxl/libxl.c ++++ b/tools/libxl/libxl.c +@@ -221,7 +221,7 @@ int libxl_domain_rename(libxl_ctx *ctx, int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid) { libxl__gc gc = LIBXL_INIT_GC(ctx); @@ -155,10 +137,8 @@ Index: xen-4.1.2-testing/tools/libxl/libxl.c libxl__sprintf(&gc, "%s/device/vif", dompath), &nb_nics); if (!l) goto err; -Index: xen-4.1.2-testing/tools/libxl/libxl_pci.c -=================================================================== ---- xen-4.1.2-testing.orig/tools/libxl/libxl_pci.c -+++ xen-4.1.2-testing/tools/libxl/libxl_pci.c +--- a/tools/libxl/libxl_pci.c ++++ b/tools/libxl/libxl_pci.c @@ -240,7 +240,7 @@ static int libxl_create_pci_backend(libx flexarray_t *front = NULL; flexarray_t *back = NULL; @@ -177,10 +157,8 @@ Index: xen-4.1.2-testing/tools/libxl/libxl_pci.c LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Creating pci backend"); /* add pci device */ -Index: xen-4.1.2-testing/tools/libxl/libxl_dom.c -=================================================================== ---- xen-4.1.2-testing.orig/tools/libxl/libxl_dom.c -+++ xen-4.1.2-testing/tools/libxl/libxl_dom.c +--- a/tools/libxl/libxl_dom.c ++++ b/tools/libxl/libxl_dom.c @@ -265,14 +265,13 @@ int libxl__build_hvm(libxl_ctx *ctx, uin libxl_domain_build_info *info, libxl_domain_build_state *state) { @@ -205,10 +183,8 @@ Index: xen-4.1.2-testing/tools/libxl/libxl_dom.c out: libxl__free_all(&gc); return 0; -Index: xen-4.1.2-testing/tools/libxl/libxl_utils.c -=================================================================== ---- xen-4.1.2-testing.orig/tools/libxl/libxl_utils.c -+++ xen-4.1.2-testing/tools/libxl/libxl_utils.c +--- a/tools/libxl/libxl_utils.c ++++ b/tools/libxl/libxl_utils.c @@ -531,7 +531,7 @@ int libxl_devid_to_device_disk(libxl_ctx libxl__gc gc = LIBXL_INIT_GC(ctx); char *val; @@ -218,10 +194,8 @@ Index: xen-4.1.2-testing/tools/libxl/libxl_utils.c int rc = ERROR_INVAL; devid_n = libxl__device_disk_dev_number(devid); -Index: xen-4.1.2-testing/tools/libxl/xl_cmdimpl.c -=================================================================== ---- xen-4.1.2-testing.orig/tools/libxl/xl_cmdimpl.c -+++ xen-4.1.2-testing/tools/libxl/xl_cmdimpl.c +--- a/tools/libxl/xl_cmdimpl.c ++++ b/tools/libxl/xl_cmdimpl.c @@ -5448,7 +5448,7 @@ int main_cpupoollist(int argc, char **ar {"cpus", 0, 0, 'c'}, {0, 0, 0, 0} @@ -231,10 +205,8 @@ Index: xen-4.1.2-testing/tools/libxl/xl_cmdimpl.c int opt_cpus = 0; const char *pool = NULL; libxl_cpupoolinfo *poolinfo; -Index: xen-4.1.2-testing/tools/debugger/gdbsx/gx/gx_comm.c -=================================================================== ---- xen-4.1.2-testing.orig/tools/debugger/gdbsx/gx/gx_comm.c -+++ xen-4.1.2-testing/tools/debugger/gdbsx/gx/gx_comm.c +--- a/tools/debugger/gdbsx/gx/gx_comm.c ++++ b/tools/debugger/gdbsx/gx/gx_comm.c @@ -163,7 +163,7 @@ readchar(void) static char buf[BUFSIZ]; static int bufcnt = 0; @@ -244,10 +216,8 @@ Index: xen-4.1.2-testing/tools/debugger/gdbsx/gx/gx_comm.c if (bufcnt-- > 0) return *bufp++ & 0x7f; -Index: xen-4.1.2-testing/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c -=================================================================== ---- xen-4.1.2-testing.orig/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c -+++ xen-4.1.2-testing/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c +--- a/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c ++++ b/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c @@ -820,7 +820,7 @@ static int create_suspend_thread(checkpo static void stop_suspend_thread(checkpoint_state* s) @@ -257,10 +227,8 @@ Index: xen-4.1.2-testing/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c s->done = 1; -Index: xen-4.1.2-testing/tools/python/xen/lowlevel/netlink/libnetlink.c -=================================================================== ---- xen-4.1.2-testing.orig/tools/python/xen/lowlevel/netlink/libnetlink.c -+++ xen-4.1.2-testing/tools/python/xen/lowlevel/netlink/libnetlink.c +--- a/tools/python/xen/lowlevel/netlink/libnetlink.c ++++ b/tools/python/xen/lowlevel/netlink/libnetlink.c @@ -433,7 +433,8 @@ int rtnl_from_file(FILE *rtnl, rtnl_filt nladdr.nl_groups = 0; @@ -271,10 +239,8 @@ Index: xen-4.1.2-testing/tools/python/xen/lowlevel/netlink/libnetlink.c int l; status = fread(&buf, 1, sizeof(*h), rtnl); -Index: xen-4.1.2-testing/xen/arch/x86/msi.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/arch/x86/msi.c -+++ xen-4.1.2-testing/xen/arch/x86/msi.c +--- a/xen/arch/x86/msi.c ++++ b/xen/arch/x86/msi.c @@ -799,7 +799,7 @@ static void __pci_disable_msi(struct msi { struct pci_dev *dev; @@ -284,10 +250,8 @@ Index: xen-4.1.2-testing/xen/arch/x86/msi.c u8 bus, slot, func; dev = entry->dev; -Index: xen-4.1.2-testing/xen/common/cpupool.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/common/cpupool.c -+++ xen-4.1.2-testing/xen/common/cpupool.c +--- a/xen/common/cpupool.c ++++ b/xen/common/cpupool.c @@ -356,7 +356,7 @@ int cpupool_add_domain(struct domain *d, { struct cpupool *c; @@ -308,11 +272,9 @@ Index: xen-4.1.2-testing/xen/common/cpupool.c if ( d->cpupool == NULL ) return; -Index: xen-4.1.2-testing/xen/common/grant_table.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/common/grant_table.c -+++ xen-4.1.2-testing/xen/common/grant_table.c -@@ -767,7 +767,7 @@ __gnttab_unmap_common( +--- a/xen/common/grant_table.c ++++ b/xen/common/grant_table.c +@@ -769,7 +769,7 @@ __gnttab_unmap_common( struct domain *ld, *rd; struct active_grant_entry *act; s16 rc = 0; @@ -321,10 +283,8 @@ Index: xen-4.1.2-testing/xen/common/grant_table.c ld = current->domain; -Index: xen-4.1.2-testing/xen/common/kexec.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/common/kexec.c -+++ xen-4.1.2-testing/xen/common/kexec.c +--- a/xen/common/kexec.c ++++ b/xen/common/kexec.c @@ -573,7 +573,8 @@ static int kexec_exec(XEN_GUEST_HANDLE(v { xen_kexec_exec_t exec; @@ -335,10 +295,8 @@ Index: xen-4.1.2-testing/xen/common/kexec.c if ( unlikely(copy_from_guest(&exec, uarg, 1)) ) return -EFAULT; -Index: xen-4.1.2-testing/xen/drivers/passthrough/vtd/intremap.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/drivers/passthrough/vtd/intremap.c -+++ xen-4.1.2-testing/xen/drivers/passthrough/vtd/intremap.c +--- a/xen/drivers/passthrough/vtd/intremap.c ++++ b/xen/drivers/passthrough/vtd/intremap.c @@ -367,7 +367,7 @@ unsigned int io_apic_read_remap_rte( unsigned int ioapic_pin = (reg - 0x10) / 2; int index; @@ -357,10 +315,8 @@ Index: xen-4.1.2-testing/xen/drivers/passthrough/vtd/intremap.c iommu = drhd->iommu; qi_ctrl = iommu_qi_ctrl(iommu); -Index: xen-4.1.2-testing/xen/common/sched_credit2.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/common/sched_credit2.c -+++ xen-4.1.2-testing/xen/common/sched_credit2.c +--- a/xen/common/sched_credit2.c ++++ b/xen/common/sched_credit2.c @@ -1854,7 +1854,8 @@ static void deactivate_runqueue(struct c static void init_pcpu(const struct scheduler *ops, int cpu) @@ -371,11 +327,9 @@ Index: xen-4.1.2-testing/xen/common/sched_credit2.c struct csched_private *prv = CSCHED_PRIV(ops); struct csched_runqueue_data *rqd; spinlock_t *old_lock; -Index: xen-4.1.2-testing/xen/common/unlzo.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/common/unlzo.c -+++ xen-4.1.2-testing/xen/common/unlzo.c -@@ -68,7 +68,7 @@ static int INIT parse_header(u8 *input, +--- a/xen/common/unlzo.c ++++ b/xen/common/unlzo.c +@@ -68,7 +68,7 @@ static int INIT parse_header(u8 *input, { int l; u8 *parse = input; @@ -384,10 +338,8 @@ Index: xen-4.1.2-testing/xen/common/unlzo.c u16 version; /* read magic: 9 first bits */ -Index: xen-4.1.2-testing/xen/arch/x86/time.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/arch/x86/time.c -+++ xen-4.1.2-testing/xen/arch/x86/time.c +--- a/xen/arch/x86/time.c ++++ b/xen/arch/x86/time.c @@ -1009,7 +1009,8 @@ static void local_time_calibration(void) * System timestamps, extrapolated from local and master oscillators, * taken during this calibration and the previous calibration. @@ -398,10 +350,8 @@ Index: xen-4.1.2-testing/xen/arch/x86/time.c s_time_t prev_master_stime, curr_master_stime; /* TSC timestamps taken during this calibration and prev calibration. */ -Index: xen-4.1.2-testing/xen/arch/x86/cpu/amd.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/arch/x86/cpu/amd.c -+++ xen-4.1.2-testing/xen/arch/x86/cpu/amd.c +--- a/xen/arch/x86/cpu/amd.c ++++ b/xen/arch/x86/cpu/amd.c @@ -391,7 +391,7 @@ static void __devinit init_amd(struct cp { u32 l, h; @@ -411,11 +361,9 @@ Index: xen-4.1.2-testing/xen/arch/x86/cpu/amd.c #ifdef CONFIG_SMP unsigned long long value; -Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/arch/x86/mm/p2m.c -+++ xen-4.1.2-testing/xen/arch/x86/mm/p2m.c -@@ -2339,7 +2339,7 @@ p2m_remove_page(struct p2m_domain *p2m, +--- a/xen/arch/x86/mm/p2m.c ++++ b/xen/arch/x86/mm/p2m.c +@@ -2339,7 +2339,7 @@ p2m_remove_page(struct p2m_domain *p2m, unsigned int page_order) { unsigned long i; @@ -433,10 +381,8 @@ Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c int pod_count = 0; int rc = 0; -Index: xen-4.1.2-testing/xen/arch/x86/hvm/emulate.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/arch/x86/hvm/emulate.c -+++ xen-4.1.2-testing/xen/arch/x86/hvm/emulate.c +--- a/xen/arch/x86/hvm/emulate.c ++++ b/xen/arch/x86/hvm/emulate.c @@ -59,7 +59,7 @@ static int hvmemul_do_io( ioreq_t *p = get_ioreq(curr); unsigned long ram_gfn = paddr_to_pfn(ram_gpa); @@ -446,10 +392,8 @@ Index: xen-4.1.2-testing/xen/arch/x86/hvm/emulate.c int rc; /* Check for paged out page */ -Index: xen-4.1.2-testing/xen/arch/x86/hvm/hvm.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/arch/x86/hvm/hvm.c -+++ xen-4.1.2-testing/xen/arch/x86/hvm/hvm.c +--- a/xen/arch/x86/hvm/hvm.c ++++ b/xen/arch/x86/hvm/hvm.c @@ -253,7 +253,8 @@ void hvm_migrate_timers(struct vcpu *v) void hvm_migrate_pirqs(struct vcpu *v) @@ -469,11 +413,9 @@ Index: xen-4.1.2-testing/xen/arch/x86/hvm/hvm.c mfn = gfn_to_mfn_unshare(p2m, pfn, &t, 0); if ( p2m_is_paging(t) ) { -Index: xen-4.1.2-testing/xen/arch/x86/acpi/cpu_idle.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/arch/x86/acpi/cpu_idle.c -+++ xen-4.1.2-testing/xen/arch/x86/acpi/cpu_idle.c -@@ -276,7 +276,7 @@ static void acpi_processor_ffh_cstate_en +--- a/xen/arch/x86/acpi/cpu_idle.c ++++ b/xen/arch/x86/acpi/cpu_idle.c +@@ -279,7 +279,7 @@ static void acpi_processor_ffh_cstate_en static void acpi_idle_do_entry(struct acpi_processor_cx *cx) { @@ -482,10 +424,8 @@ Index: xen-4.1.2-testing/xen/arch/x86/acpi/cpu_idle.c switch ( cx->entry_method ) { -Index: xen-4.1.2-testing/xen/arch/x86/cpu/intel_cacheinfo.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/arch/x86/cpu/intel_cacheinfo.c -+++ xen-4.1.2-testing/xen/arch/x86/cpu/intel_cacheinfo.c +--- a/xen/arch/x86/cpu/intel_cacheinfo.c ++++ b/xen/arch/x86/cpu/intel_cacheinfo.c @@ -170,7 +170,8 @@ unsigned int __cpuinit init_intel_cachei unsigned int trace = 0, l1i = 0, l1d = 0, l2 = 0, l3 = 0; /* Cache sizes */ unsigned int new_l1d = 0, new_l1i = 0; /* Cache sizes from cpuid(4) */ @@ -496,11 +436,9 @@ Index: xen-4.1.2-testing/xen/arch/x86/cpu/intel_cacheinfo.c if (c->cpuid_level > 3) { static int is_initialized; -Index: xen-4.1.2-testing/xen/arch/x86/mm/mem_sharing.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/arch/x86/mm/mem_sharing.c -+++ xen-4.1.2-testing/xen/arch/x86/mm/mem_sharing.c -@@ -375,7 +375,7 @@ int mem_sharing_debug_gfn(struct domain +--- a/xen/arch/x86/mm/mem_sharing.c ++++ b/xen/arch/x86/mm/mem_sharing.c +@@ -375,7 +375,7 @@ int mem_sharing_debug_gfn(struct domain { p2m_type_t p2mt; mfn_t mfn; @@ -509,10 +447,8 @@ Index: xen-4.1.2-testing/xen/arch/x86/mm/mem_sharing.c mfn = gfn_to_mfn(p2m_get_hostp2m(d), gfn, &p2mt); page = mfn_to_page(mfn); -Index: xen-4.1.2-testing/xen/arch/x86/hvm/viridian.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/arch/x86/hvm/viridian.c -+++ xen-4.1.2-testing/xen/arch/x86/hvm/viridian.c +--- a/xen/arch/x86/hvm/viridian.c ++++ b/xen/arch/x86/hvm/viridian.c @@ -270,7 +270,7 @@ int rdmsr_viridian_regs(uint32_t idx, ui int viridian_hypercall(struct cpu_user_regs *regs) { @@ -522,10 +458,8 @@ Index: xen-4.1.2-testing/xen/arch/x86/hvm/viridian.c uint16_t status = HV_STATUS_SUCCESS; union hypercall_input { -Index: xen-4.1.2-testing/xen/arch/x86/mm.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/arch/x86/mm.c -+++ xen-4.1.2-testing/xen/arch/x86/mm.c +--- a/xen/arch/x86/mm.c ++++ b/xen/arch/x86/mm.c @@ -4914,7 +4914,7 @@ static int ptwr_emulated_update( { unsigned long mfn; @@ -535,10 +469,8 @@ Index: xen-4.1.2-testing/xen/arch/x86/mm.c l1_pgentry_t pte, ol1e, nl1e, *pl1e; struct vcpu *v = current; struct domain *d = v->domain; -Index: xen-4.1.2-testing/xen/arch/x86/x86_64/mm.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/arch/x86/x86_64/mm.c -+++ xen-4.1.2-testing/xen/arch/x86/x86_64/mm.c +--- a/xen/arch/x86/x86_64/mm.c ++++ b/xen/arch/x86/x86_64/mm.c @@ -436,7 +436,8 @@ void destroy_m2p_mapping(struct mem_hota static int setup_compat_m2p_table(struct mem_hotadd_info *info) { @@ -549,10 +481,8 @@ Index: xen-4.1.2-testing/xen/arch/x86/x86_64/mm.c l3_pgentry_t *l3_ro_mpt = NULL; l2_pgentry_t *l2_ro_mpt = NULL; struct page_info *l1_pg; -Index: xen-4.1.2-testing/xen/arch/x86/cpu/mcheck/mce.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/arch/x86/cpu/mcheck/mce.c -+++ xen-4.1.2-testing/xen/arch/x86/cpu/mcheck/mce.c +--- a/xen/arch/x86/cpu/mcheck/mce.c ++++ b/xen/arch/x86/cpu/mcheck/mce.c @@ -151,7 +151,6 @@ static struct mcinfo_bank *mca_init_bank struct mc_info *mi, int bank) { @@ -569,7 +499,7 @@ Index: xen-4.1.2-testing/xen/arch/x86/cpu/mcheck/mce.c if (mib->mc_status & MCi_STATUS_MISCV) mib->mc_misc = mca_rdmsr(MSR_IA32_MCx_MISC(bank)); -@@ -281,7 +279,7 @@ mctelem_cookie_t mcheck_mca_logout(enum +@@ -281,7 +279,7 @@ mctelem_cookie_t mcheck_mca_logout(enum recover = (mc_recoverable_scan)? 1: 0; for (i = 0; i < 32 && i < nr_mce_banks; i++) { @@ -587,10 +517,8 @@ Index: xen-4.1.2-testing/xen/arch/x86/cpu/mcheck/mce.c uint64_t hwcr = 0; int intpose; int i; -Index: xen-4.1.2-testing/xen/common/tmem.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/common/tmem.c -+++ xen-4.1.2-testing/xen/common/tmem.c +--- a/xen/common/tmem.c ++++ b/xen/common/tmem.c @@ -1351,7 +1351,8 @@ obj_unlock: static int tmem_evict(void) { @@ -611,10 +539,8 @@ Index: xen-4.1.2-testing/xen/common/tmem.c client_t *client = pool->client; int ret = client->frozen ? -EFROZEN : -ENOMEM; -Index: xen-4.1.2-testing/xen/common/tmem_xen.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/common/tmem_xen.c -+++ xen-4.1.2-testing/xen/common/tmem_xen.c +--- a/xen/common/tmem_xen.c ++++ b/xen/common/tmem_xen.c @@ -177,7 +177,7 @@ EXPORT int tmh_copy_from_client(pfp_t *p EXPORT int tmh_compress_from_client(tmem_cli_mfn_t cmfn, void **out_va, size_t *out_len, void *cli_va) @@ -652,10 +578,8 @@ Index: xen-4.1.2-testing/xen/common/tmem_xen.c tmh->persistent_pool = xmem_pool_create(name, tmh_persistent_pool_page_get, tmh_persistent_pool_page_put, PAGE_SIZE, 0, PAGE_SIZE); if ( tmh->persistent_pool == NULL ) -Index: xen-4.1.2-testing/xen/arch/x86/cpu/mcheck/vmce.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/arch/x86/cpu/mcheck/vmce.c -+++ xen-4.1.2-testing/xen/arch/x86/cpu/mcheck/vmce.c +--- a/xen/arch/x86/cpu/mcheck/vmce.c ++++ b/xen/arch/x86/cpu/mcheck/vmce.c @@ -630,7 +630,7 @@ int is_vmce_ready(struct mcinfo_bank *ba */ int unmmap_broken_page(struct domain *d, mfn_t mfn, unsigned long gfn) @@ -665,11 +589,9 @@ Index: xen-4.1.2-testing/xen/arch/x86/cpu/mcheck/vmce.c struct p2m_domain *p2m; p2m_type_t pt; -Index: xen-4.1.2-testing/xen/arch/x86/mm/shadow/multi.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/arch/x86/mm/shadow/multi.c -+++ xen-4.1.2-testing/xen/arch/x86/mm/shadow/multi.c -@@ -124,7 +124,7 @@ set_shadow_status(struct vcpu *v, mfn_t +--- a/xen/arch/x86/mm/shadow/multi.c ++++ b/xen/arch/x86/mm/shadow/multi.c +@@ -124,7 +124,7 @@ set_shadow_status(struct vcpu *v, mfn_t /* Put a shadow into the hash table */ { struct domain *d = v->domain; @@ -687,10 +609,8 @@ Index: xen-4.1.2-testing/xen/arch/x86/mm/shadow/multi.c shadow_l1e_t *sl1p, sl1e; struct page_info *sp; -Index: xen-4.1.2-testing/xen/arch/x86/domain_build.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/arch/x86/domain_build.c -+++ xen-4.1.2-testing/xen/arch/x86/domain_build.c +--- a/xen/arch/x86/domain_build.c ++++ b/xen/arch/x86/domain_build.c @@ -378,8 +378,7 @@ int __init construct_dom0( return rc; @@ -701,11 +621,9 @@ Index: xen-4.1.2-testing/xen/arch/x86/domain_build.c machine = elf_uval(&elf, elf.ehdr, e_machine); switch (CONFIG_PAGING_LEVELS) { case 3: /* x86_32p */ -Index: xen-4.1.2-testing/xen/arch/x86/traps.c -=================================================================== ---- xen-4.1.2-testing.orig/xen/arch/x86/traps.c -+++ xen-4.1.2-testing/xen/arch/x86/traps.c -@@ -1858,7 +1858,11 @@ static int emulate_privileged_op(struct +--- a/xen/arch/x86/traps.c ++++ b/xen/arch/x86/traps.c +@@ -1858,7 +1858,11 @@ static int emulate_privileged_op(struct struct vcpu *v = current; unsigned long *reg, eip = regs->eip; u8 opcode, modrm_reg = 0, modrm_rm = 0, rep_prefix = 0, lock = 0, rex = 0; diff --git a/xen.changes b/xen.changes index 20271f6..89e0a20 100644 --- a/xen.changes +++ b/xen.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Tue Mar 20 14:14:09 MDT 2012 - carnold@novell.com + +- bnc#753165 - xen/scripts/network-bridge wont create bridge + bridge-bonding.diff + +------------------------------------------------------------------- +Mon Mar 19 11:23:09 MDT 2012 - carnold@novell.com + +- Upstream patches from Jan + 24950-gnttab-copy-mapped.patch + 24970-x86-cpuidle-deny-port-access.patch + 24996-x86-cpuidle-array-overrun.patch + 25041-tapdisk2-create-init-name.patch + ------------------------------------------------------------------- Wed Mar 14 12:53:53 CET 2012 - ohering@suse.de diff --git a/xen.spec b/xen.spec index 0118c52..705fadc 100644 --- a/xen.spec +++ b/xen.spec @@ -15,8 +15,6 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # - - Name: xen ExclusiveArch: %ix86 x86_64 %define xvers 4.1 @@ -363,6 +361,10 @@ Patch24883: 24883-x86-guest-walk-not-present.patch Patch24886: 24886-x86-vmce-mcg_ctl-default.patch Patch24887: 24887-x86-vmce-sr.patch Patch24888: 24888-pci-release-devices.patch +Patch24950: 24950-gnttab-copy-mapped.patch +Patch24970: 24970-x86-cpuidle-deny-port-access.patch +Patch24996: 24996-x86-cpuidle-array-overrun.patch +Patch25041: 25041-tapdisk2-create-init-name.patch # Upstream qemu patches Patch100: ioemu-9868-MSI-X.patch Patch101: ioemu-9869-MSI-X-init.patch @@ -534,7 +536,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build %suse_kernel_module_package -n xen um xen -f kmp_filelist %endif - %description Xen is a virtual machine monitor for x86 that supports execution of multiple guest operating systems with unprecedented levels of @@ -594,7 +595,6 @@ Summary: Xen Virtualization: Libraries Group: System/Kernel #Requires: xen = %{version} - %description libs Xen is a virtual machine monitor for x86 that supports execution of multiple guest operating systems with unprecedented levels of @@ -640,7 +640,6 @@ Authors: %if %{?with_dom0_support}0 - %package tools Summary: Xen Virtualization: Control tools for domain 0 Group: System/Kernel @@ -650,7 +649,6 @@ Requires: bridge-utils multipath-tools python python-curses python-openssl Provides: xen-tools-ioemu = 3.2 Obsoletes: xen-tools-ioemu <= 3.2 - %description tools Xen is a virtual machine monitor for x86 that supports execution of multiple guest operating systems with unprecedented levels of @@ -698,13 +696,11 @@ Authors: Ian Pratt %endif - %package tools-domU Summary: Xen Virtualization: Control tools for domain U Group: System/Kernel Conflicts: xen-tools - %description tools-domU Xen is a virtual machine monitor for x86 that supports execution of multiple guest operating systems with unprecedented levels of @@ -724,7 +720,6 @@ Summary: Xen Virtualization: Headers and libraries for development Group: System/Kernel Requires: xen-libs = %{version} - %description devel Xen is a virtual machine monitor for x86 that supports execution of multiple guest operating systems with unprecedented levels of @@ -770,13 +765,11 @@ Authors: %if %{?with_kmp}0 - %package KMP Summary: Xen para-virtual device drivers for fully virtualized guests Group: System/Kernel Conflicts: xen - %description KMP Xen para-virtual device drivers for fully virtualized guests @@ -822,12 +815,10 @@ Xen, but is not available for release due to license restrictions. %if %{?with_dom0_support}0 - %package doc-html Summary: Xen Virtualization: HTML documentation Group: Documentation/HTML - %description doc-html Xen is a virtual machine monitor for x86 that supports execution of multiple guest operating systems with unprecedented levels of @@ -846,7 +837,6 @@ Authors: Summary: Xen Virtualization: PDF documentation Group: Documentation/Other - %description doc-pdf Xen is a virtual machine monitor for x86 that supports execution of multiple guest operating systems with unprecedented levels of @@ -863,7 +853,6 @@ Authors: Ian Pratt %endif - %prep %setup -q -n %xen_build_dir -a 1 -a 20000 %patch20000 -p1 @@ -1086,6 +1075,10 @@ tar xfj %{SOURCE2} -C $RPM_BUILD_DIR/%{xen_build_dir}/tools %patch24886 -p1 %patch24887 -p1 %patch24888 -p1 +%patch24950 -p1 +%patch24970 -p1 +%patch24996 -p1 +%patch25041 -p1 # Qemu %patch100 -p1 %patch101 -p1 @@ -1243,7 +1236,6 @@ tar xfj %{SOURCE2} -C $RPM_BUILD_DIR/%{xen_build_dir}/tools %patch99998 -p1 %patch99999 -p1 - %build XEN_EXTRAVERSION=%version-%release XEN_EXTRAVERSION=${XEN_EXTRAVERSION#%{xvers}} @@ -1279,7 +1271,6 @@ for flavor in %flavors_to_build; do done %endif - %install export CFLAGS="$RPM_OPT_FLAGS" %if %{?with_dom0_support}0 @@ -1482,7 +1473,6 @@ rm -f $RPM_BUILD_ROOT/%{_bindir}/xencons %if %{?with_dom0_support}0 - %files -f xen.files.txt %defattr(-,root,root) /boot/xen-%{version}-%{release}.gz @@ -1499,7 +1489,6 @@ rm -f $RPM_BUILD_ROOT/%{_bindir}/xencons /boot/xen.gz %endif - %files libs %defattr(-,root,root) %{_libdir}/fs/ @@ -1507,7 +1496,6 @@ rm -f $RPM_BUILD_ROOT/%{_bindir}/xencons %if %{?with_dom0_support}0 - %files tools %defattr(-,root,root) /usr/bin/xenalyze @@ -1611,14 +1599,12 @@ rm -f $RPM_BUILD_ROOT/%{_bindir}/xencons %config %{_fwdefdir}/xend-relocation-server %endif - %files tools-domU %defattr(-,root,root) /usr/bin/xen-detect /bin/domu-xenstore /bin/xenstore-* - %files devel %defattr(-,root,root) %{_bindir}/serial-split @@ -1628,12 +1614,10 @@ rm -f $RPM_BUILD_ROOT/%{_bindir}/xencons %if %{?with_dom0_support}0 - %files doc-html %defattr(-,root,root) %{_defaultdocdir}/xen/html - %files doc-pdf %defattr(-,root,root) %{_defaultdocdir}/xen/pdf @@ -1641,7 +1625,6 @@ rm -f $RPM_BUILD_ROOT/%{_bindir}/xencons %if %{?with_dom0_support}0 - %post tools %if %{?with_xend}0 # with_xend @@ -1687,11 +1670,9 @@ if [ -f /usr/bin/qemu-nbd ]; then ln -s /usr/bin/qemu-nbd /usr/bin/qemu-nbd-xen fi - %preun tools %{stop_on_removal xendomains xend xencommons} - %postun tools %if %{?with_xend}0 # with_xend @@ -1706,12 +1687,8 @@ if [ -f /usr/bin/qemu-nbd-xen ]; then fi %endif - %post libs -p /sbin/ldconfig - %postun libs -p /sbin/ldconfig - - %changelog