diff --git a/23096-x86-hpet-no-cpumask_lock.patch b/23096-x86-hpet-no-cpumask_lock.patch index 52fde78..57e2ad3 100644 --- a/23096-x86-hpet-no-cpumask_lock.patch +++ b/23096-x86-hpet-no-cpumask_lock.patch @@ -16,8 +16,10 @@ found set by the surrounding loop). Signed-off-by: Jan Beulich Acked-by: Gang Wei ---- a/xen/arch/x86/hpet.c -+++ b/xen/arch/x86/hpet.c +Index: xen-4.1.0-testing/xen/arch/x86/hpet.c +=================================================================== +--- xen-4.1.0-testing.orig/xen/arch/x86/hpet.c ++++ xen-4.1.0-testing/xen/arch/x86/hpet.c @@ -34,18 +34,6 @@ struct hpet_event_channel int shift; s_time_t next_event; @@ -81,7 +83,7 @@ Acked-by: Gang Wei wmb(); legacy_hpet_event.event_handler = handle_hpet_broadcast; -@@ -713,9 +700,7 @@ void hpet_broadcast_exit(void) +@@ -716,9 +703,7 @@ void hpet_broadcast_exit(void) if ( !reprogram_timer(this_cpu(timer_deadline)) ) raise_softirq(TIMER_SOFTIRQ); diff --git a/23103-x86-pirq-guest-eoi-check.patch b/23103-x86-pirq-guest-eoi-check.patch index f582b2f..b63d3c7 100644 --- a/23103-x86-pirq-guest-eoi-check.patch +++ b/23103-x86-pirq-guest-eoi-check.patch @@ -8,11 +8,13 @@ guest-bound irq before accessing desc->action. Signed-off-by: Keir Fraser ---- a/xen/arch/x86/irq.c -+++ b/xen/arch/x86/irq.c -@@ -1022,6 +1022,12 @@ static void __pirq_guest_eoi(struct doma - if ( desc == NULL ) +Index: xen-4.1.0-testing/xen/arch/x86/irq.c +=================================================================== +--- xen-4.1.0-testing.orig/xen/arch/x86/irq.c ++++ xen-4.1.0-testing/xen/arch/x86/irq.c +@@ -1028,6 +1028,12 @@ static void __pirq_guest_eoi(struct doma return; + } + if ( !(desc->status & IRQ_GUEST) ) + { diff --git a/23127-vtd-bios-settings.patch b/23127-vtd-bios-settings.patch index a94635d..eaa479e 100644 --- a/23127-vtd-bios-settings.patch +++ b/23127-vtd-bios-settings.patch @@ -27,8 +27,10 @@ Signed-off-by: Allen Kay Signed-off-by: Allen Kay ---- a/xen/arch/x86/apic.c -+++ b/xen/arch/x86/apic.c +Index: xen-4.1.0-testing/xen/arch/x86/apic.c +=================================================================== +--- xen-4.1.0-testing.orig/xen/arch/x86/apic.c ++++ xen-4.1.0-testing/xen/arch/x86/apic.c @@ -531,7 +531,7 @@ static void resume_x2apic(void) mask_8259A(); mask_IO_APIC_setup(ioapic_entries); @@ -38,7 +40,7 @@ Signed-off-by: Allen Kay __enable_x2apic(); restore_IO_APIC_setup(ioapic_entries); -@@ -751,7 +751,7 @@ int lapic_suspend(void) +@@ -748,7 +748,7 @@ int lapic_suspend(void) local_irq_save(flags); disable_local_APIC(); @@ -47,7 +49,7 @@ Signed-off-by: Allen Kay local_irq_restore(flags); return 0; } -@@ -997,7 +997,7 @@ void __init x2apic_bsp_setup(void) +@@ -994,7 +994,7 @@ void __init x2apic_bsp_setup(void) mask_8259A(); mask_IO_APIC_setup(ioapic_entries); @@ -56,8 +58,10 @@ Signed-off-by: Allen Kay { if ( x2apic_enabled ) panic("Interrupt remapping could not be enabled while " ---- a/xen/drivers/passthrough/vtd/dmar.c -+++ b/xen/drivers/passthrough/vtd/dmar.c +Index: xen-4.1.0-testing/xen/drivers/passthrough/vtd/dmar.c +=================================================================== +--- xen-4.1.0-testing.orig/xen/drivers/passthrough/vtd/dmar.c ++++ xen-4.1.0-testing/xen/drivers/passthrough/vtd/dmar.c @@ -46,6 +46,7 @@ LIST_HEAD(acpi_rmrr_units); LIST_HEAD(acpi_atsr_units); LIST_HEAD(acpi_rhsa_units); @@ -97,8 +101,10 @@ Signed-off-by: Allen Kay + flags = DMAR_INTR_REMAP | DMAR_X2APIC_OPT_OUT; + return ((dmar_flags & flags) == DMAR_INTR_REMAP); +} ---- a/xen/drivers/passthrough/vtd/extern.h -+++ b/xen/drivers/passthrough/vtd/extern.h +Index: xen-4.1.0-testing/xen/drivers/passthrough/vtd/extern.h +=================================================================== +--- xen-4.1.0-testing.orig/xen/drivers/passthrough/vtd/extern.h ++++ xen-4.1.0-testing/xen/drivers/passthrough/vtd/extern.h @@ -87,5 +87,7 @@ void vtd_ops_preamble_quirk(struct iommu void vtd_ops_postamble_quirk(struct iommu* iommu); void me_wifi_quirk(struct domain *domain, u8 bus, u8 devfn, int map); @@ -107,9 +113,11 @@ Signed-off-by: Allen Kay +int platform_supports_x2apic(void); #endif // _VTD_EXTERN_H_ ---- a/xen/drivers/passthrough/vtd/intremap.c -+++ b/xen/drivers/passthrough/vtd/intremap.c -@@ -735,6 +735,13 @@ int enable_intremap(struct iommu *iommu, +Index: xen-4.1.0-testing/xen/drivers/passthrough/vtd/intremap.c +=================================================================== +--- xen-4.1.0-testing.orig/xen/drivers/passthrough/vtd/intremap.c ++++ xen-4.1.0-testing/xen/drivers/passthrough/vtd/intremap.c +@@ -741,6 +741,13 @@ int enable_intremap(struct iommu *iommu, ASSERT(ecap_intr_remap(iommu->ecap) && iommu_intremap); @@ -123,7 +131,7 @@ Signed-off-by: Allen Kay ir_ctrl = iommu_ir_ctrl(iommu); sts = dmar_readl(iommu->reg, DMAR_GSTS_REG); -@@ -821,10 +828,10 @@ out: +@@ -827,10 +834,10 @@ out: } /* @@ -136,7 +144,7 @@ Signed-off-by: Allen Kay { struct acpi_drhd_unit *drhd; struct iommu *iommu; -@@ -832,6 +839,9 @@ int iommu_enable_IR(void) +@@ -838,6 +845,9 @@ int iommu_enable_IR(void) if ( !iommu_supports_eim() ) return -1; @@ -146,7 +154,7 @@ Signed-off-by: Allen Kay for_each_drhd_unit ( drhd ) { struct qi_ctrl *qi_ctrl = NULL; -@@ -881,7 +891,7 @@ int iommu_enable_IR(void) +@@ -887,7 +897,7 @@ int iommu_enable_IR(void) * This function is used to disable Interrutp remapping when * suspend local apic */ @@ -155,9 +163,11 @@ Signed-off-by: Allen Kay { struct acpi_drhd_unit *drhd; ---- a/xen/drivers/passthrough/vtd/iommu.c -+++ b/xen/drivers/passthrough/vtd/iommu.c -@@ -2014,7 +2014,7 @@ static int init_vtd_hw(void) +Index: xen-4.1.0-testing/xen/drivers/passthrough/vtd/iommu.c +=================================================================== +--- xen-4.1.0-testing.orig/xen/drivers/passthrough/vtd/iommu.c ++++ xen-4.1.0-testing/xen/drivers/passthrough/vtd/iommu.c +@@ -1997,7 +1997,7 @@ static int init_vtd_hw(void) if ( enable_intremap(iommu, 0) != 0 ) { dprintk(XENLOG_WARNING VTDPREFIX, @@ -166,8 +176,10 @@ Signed-off-by: Allen Kay break; } } ---- a/xen/drivers/passthrough/vtd/iommu.h -+++ b/xen/drivers/passthrough/vtd/iommu.h +Index: xen-4.1.0-testing/xen/drivers/passthrough/vtd/iommu.h +=================================================================== +--- xen-4.1.0-testing.orig/xen/drivers/passthrough/vtd/iommu.h ++++ xen-4.1.0-testing/xen/drivers/passthrough/vtd/iommu.h @@ -22,6 +22,10 @@ #include @@ -179,8 +191,10 @@ Signed-off-by: Allen Kay /* * Intel IOMMU register specification per version 1.0 public spec. */ ---- a/xen/include/xen/iommu.h -+++ b/xen/include/xen/iommu.h +Index: xen-4.1.0-testing/xen/include/xen/iommu.h +=================================================================== +--- xen-4.1.0-testing.orig/xen/include/xen/iommu.h ++++ xen-4.1.0-testing/xen/include/xen/iommu.h @@ -63,8 +63,8 @@ struct iommu { int iommu_setup(void); diff --git a/x86-extra-trap-info.patch b/x86-extra-trap-info.patch index 41781fd..c7a9c46 100644 --- a/x86-extra-trap-info.patch +++ b/x86-extra-trap-info.patch @@ -66,7 +66,7 @@ Index: xen-4.1.0-testing/xen/arch/x86/x86_64/entry.S =================================================================== --- xen-4.1.0-testing.orig/xen/arch/x86/x86_64/entry.S +++ xen-4.1.0-testing/xen/arch/x86/x86_64/entry.S -@@ -408,22 +408,35 @@ UNLIKELY_END(bounce_failsafe) +@@ -416,22 +416,35 @@ UNLIKELY_END(bounce_failsafe) jz domain_crash_synchronous movq %rax,UREGS_rip+8(%rsp) ret diff --git a/x86-ioapic-ack-default.patch b/x86-ioapic-ack-default.patch index 815d347..b8820c3 100644 --- a/x86-ioapic-ack-default.patch +++ b/x86-ioapic-ack-default.patch @@ -13,7 +13,7 @@ Index: xen-4.1.0-testing/xen/arch/x86/io_apic.c static void setup_ioapic_ack(char *s) { if ( !strcmp(s, "old") ) -@@ -2054,6 +2054,8 @@ void __init setup_IO_APIC(void) +@@ -2044,6 +2044,8 @@ void __init setup_IO_APIC(void) else io_apic_irqs = ~PIC_IRQS; diff --git a/xen-4.1.0-testing-src.tar.bz2 b/xen-4.1.0-testing-src.tar.bz2 index c96e798..8cbf604 100644 --- a/xen-4.1.0-testing-src.tar.bz2 +++ b/xen-4.1.0-testing-src.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a6043ae8ab78ecf1e75ff2014cd6a7bde3319341fe1bd7a8df335a0764355b70 -size 10778444 +oid sha256:b1fd4066baebad86a2009d412922b2442bbfd2042fc9a728560af0d9fc5f3708 +size 10772618 diff --git a/xen-warnings-unused.diff b/xen-warnings-unused.diff index 4bec9eb..4e618aa 100644 --- a/xen-warnings-unused.diff +++ b/xen-warnings-unused.diff @@ -334,19 +334,6 @@ Index: xen-4.1.0-testing/xen/common/grant_table.c ld = current->domain; -Index: xen-4.1.0-testing/xen/drivers/passthrough/vtd/iommu.c -=================================================================== ---- xen-4.1.0-testing.orig/xen/drivers/passthrough/vtd/iommu.c -+++ xen-4.1.0-testing/xen/drivers/passthrough/vtd/iommu.c -@@ -1743,7 +1743,7 @@ static int vtd_ept_page_compatible(struc - static bool_t vtd_ept_share(void) - { - struct acpi_drhd_unit *drhd; -- struct iommu *iommu; -+ struct iommu __attribute__((__unused__)) *iommu; - bool_t share = TRUE; - - /* sharept defaults to 0 for now, default to 1 when feature matures */ Index: xen-4.1.0-testing/xen/common/kexec.c =================================================================== --- xen-4.1.0-testing.orig/xen/common/kexec.c @@ -365,7 +352,7 @@ Index: xen-4.1.0-testing/xen/drivers/passthrough/vtd/intremap.c =================================================================== --- xen-4.1.0-testing.orig/xen/drivers/passthrough/vtd/intremap.c +++ xen-4.1.0-testing/xen/drivers/passthrough/vtd/intremap.c -@@ -363,7 +363,7 @@ unsigned int io_apic_read_remap_rte( +@@ -367,7 +367,7 @@ unsigned int io_apic_read_remap_rte( unsigned int ioapic_pin = (reg - 0x10) / 2; int index; struct IO_xAPIC_route_entry old_rte = { 0 }; @@ -374,7 +361,7 @@ Index: xen-4.1.0-testing/xen/drivers/passthrough/vtd/intremap.c int rte_upper = (reg & 1) ? 1 : 0; struct iommu *iommu = ioapic_to_iommu(IO_APIC_ID(apic)); struct ir_ctrl *ir_ctrl = iommu_ir_ctrl(iommu); -@@ -844,7 +844,7 @@ int iommu_enable_x2apic_IR(void) +@@ -850,7 +850,7 @@ int iommu_enable_x2apic_IR(void) for_each_drhd_unit ( drhd ) { @@ -387,7 +374,7 @@ Index: xen-4.1.0-testing/xen/common/sched_credit2.c =================================================================== --- xen-4.1.0-testing.orig/xen/common/sched_credit2.c +++ xen-4.1.0-testing/xen/common/sched_credit2.c -@@ -1847,7 +1847,8 @@ static void deactivate_runqueue(struct c +@@ -1854,7 +1854,8 @@ static void deactivate_runqueue(struct c static void init_pcpu(const struct scheduler *ops, int cpu) { @@ -414,7 +401,7 @@ Index: xen-4.1.0-testing/xen/arch/x86/time.c =================================================================== --- xen-4.1.0-testing.orig/xen/arch/x86/time.c +++ xen-4.1.0-testing/xen/arch/x86/time.c -@@ -1003,7 +1003,8 @@ static void local_time_calibration(void) +@@ -1001,7 +1001,8 @@ static void local_time_calibration(void) * System timestamps, extrapolated from local and master oscillators, * taken during this calibration and the previous calibration. */ @@ -441,7 +428,7 @@ Index: xen-4.1.0-testing/xen/arch/x86/mm/p2m.c =================================================================== --- xen-4.1.0-testing.orig/xen/arch/x86/mm/p2m.c +++ xen-4.1.0-testing/xen/arch/x86/mm/p2m.c -@@ -2266,7 +2266,7 @@ p2m_remove_page(struct p2m_domain *p2m, +@@ -2338,7 +2338,7 @@ p2m_remove_page(struct p2m_domain *p2m, unsigned int page_order) { unsigned long i; @@ -450,7 +437,7 @@ Index: xen-4.1.0-testing/xen/arch/x86/mm/p2m.c p2m_type_t t; p2m_access_t a; -@@ -2335,7 +2335,7 @@ guest_physmap_mark_populate_on_demand(st +@@ -2407,7 +2407,7 @@ guest_physmap_mark_populate_on_demand(st struct p2m_domain *p2m = p2m_get_hostp2m(d); unsigned long i; p2m_type_t ot; @@ -486,7 +473,7 @@ Index: xen-4.1.0-testing/xen/arch/x86/hvm/hvm.c struct irq_desc *desc; struct domain *d = v->domain; struct hvm_irq_dpci *hvm_irq_dpci = d->arch.hvm_domain.irq.dpci; -@@ -3468,7 +3469,7 @@ long do_hvm_op(unsigned long op, XEN_GUE +@@ -3471,7 +3472,7 @@ long do_hvm_op(unsigned long op, XEN_GUE { p2m_type_t t; p2m_type_t nt; diff --git a/xen-warnings.diff b/xen-warnings.diff index abb066b..0f76686 100644 --- a/xen-warnings.diff +++ b/xen-warnings.diff @@ -216,22 +216,3 @@ Index: xen-4.1.0-testing/tools/blktap2/include/blktaplib.h #define WRITE 1 /*Control Messages between manager and tapdev*/ -Index: xen-4.1.0-testing/xen/arch/x86/io_apic.c -=================================================================== ---- xen-4.1.0-testing.orig/xen/arch/x86/io_apic.c -+++ xen-4.1.0-testing/xen/arch/x86/io_apic.c -@@ -227,12 +227,13 @@ int restore_IO_APIC_setup(struct IO_APIC - if (!ioapic_entries[apic]) - return -ENOMEM; - -- for (pin = 0; pin < nr_ioapic_registers[apic]; pin++) -+ for (pin = 0; pin < nr_ioapic_registers[apic]; pin++) { - entry = ioapic_entries[apic][pin]; - spin_lock_irqsave(&ioapic_lock, flags); - __io_apic_write(apic, 0x11+2*pin, *(((int *)&entry)+1)); - __io_apic_write(apic, 0x10+2*pin, *(((int *)&entry)+0)); - spin_unlock_irqrestore(&ioapic_lock, flags); -+ } - } - - return 0; diff --git a/xen.changes b/xen.changes index c8e7b9c..29ed3d9 100644 --- a/xen.changes +++ b/xen.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue May 17 11:31:49 MDT 2011 - carnold@novell.com + +- Update to Xen 4.1.1-rc1-pre c/s 23051 + ------------------------------------------------------------------- Thu May 12 21:10:21 MDT 2011 - carnold@novell.com diff --git a/xen.spec b/xen.spec index c1c7b26..2df59e2 100644 --- a/xen.spec +++ b/xen.spec @@ -22,7 +22,7 @@ Name: xen ExclusiveArch: %ix86 x86_64 %define xvers 4.1 %define xvermaj 4 -%define changeset 23013 +%define changeset 23051 %define xen_build_dir xen-4.1.0-testing %define with_kmp 1 %define with_stubdom 0 @@ -120,7 +120,6 @@ Source99: baselibs.conf # http://xenbits.xensource.com/ext/xenalyze Source20000: xenalyze.hg.tar.bz2 # Upstream patches -Patch0: cve-2011-1583-4.1.patch Patch1: 22998-x86-get_page_from_l1e-retcode.patch Patch2: 22999-x86-mod_l1_entry-retcode.patch Patch3: 23000-x86-mod_l2_entry-retcode.patch @@ -128,11 +127,7 @@ Patch4: 23096-x86-hpet-no-cpumask_lock.patch Patch5: 23099-x86-rwlock-scalability.patch Patch6: 23103-x86-pirq-guest-eoi-check.patch Patch7: 23127-vtd-bios-settings.patch -Patch8: 23153-x86-amd-clear-DramModEn.patch -Patch9: 23154-x86-amd-iorr-no-rdwr.patch -Patch10: 23199-amd-iommu-unmapped-intr-fault.patch -Patch11: 23200-amd-iommu-intremap-sync.patch -Patch12: 23228-x86-conditional-write_tsc.patch +Patch8: 23199-amd-iommu-unmapped-intr-fault.patch # Upstream qemu patches # Our patches Patch300: xen-config.diff @@ -608,7 +603,6 @@ Authors: %setup -q -n %xen_build_dir -a 1 -a 20000 %patch20000 -p1 tar xfj %{SOURCE2} -C $RPM_BUILD_DIR/%{xen_build_dir}/tools -%patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 @@ -617,10 +611,6 @@ tar xfj %{SOURCE2} -C $RPM_BUILD_DIR/%{xen_build_dir}/tools %patch6 -p1 %patch7 -p1 %patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 %patch300 -p1 %patch301 -p1 %patch302 -p1