diff --git a/21406-x86-microcode-quiet.patch b/21406-x86-microcode-quiet.patch deleted file mode 100644 index 78a22b2..0000000 --- a/21406-x86-microcode-quiet.patch +++ /dev/null @@ -1,25 +0,0 @@ -# HG changeset patch -# User Keir Fraser -# Date 1274118689 -3600 -# Node ID 2a16128f17d884b87124eb159d4c4a0c34339d4e -# Parent 89a2f9ad02f23c24a06274a1217991181f19930b -x86: Quieten microcode.c during CPU hotplug - -Signed-off-by: Keir Fraser - ---- a/xen/arch/x86/microcode.c -+++ b/xen/arch/x86/microcode.c -@@ -66,12 +66,10 @@ static void microcode_fini_cpu(int cpu) - - int microcode_resume_cpu(int cpu) - { -- int err = 0; -+ int err; - struct ucode_cpu_info *uci = &per_cpu(ucode_cpu_info, cpu); - struct cpu_signature nsig; - -- gdprintk(XENLOG_INFO, "microcode: CPU%d resumed\n", cpu); -- - if ( !uci->mc.mc_valid ) - return -EIO; - diff --git a/21408-amd-erratum-383.patch b/21408-amd-erratum-383.patch deleted file mode 100644 index 90cc985..0000000 --- a/21408-amd-erratum-383.patch +++ /dev/null @@ -1,141 +0,0 @@ -# HG changeset patch -# User Keir Fraser -# Date 1274178085 -3600 -# Node ID f40acba36be886e4b4e87afeacf39688f316dfe4 -# Parent e4028345ad48c442eb55b7bc08afdf1aede0aa2e -svm: Fix for AMD erratum 383 on Family 10h CPUs - -This patches implements the workaround of AMD erratum 383 on family -10h CPUs. It destroys the guest VM when a MC error with a special -pattern is detected. Without this patch, a guest VM failure can -potentially crash Xen hypervisor and the whole system. The erratum -will be published in next version of guide. - -Signed-off-by: Wei Huang -Signed-off-by: Joerg Roedel -Signed-off-by: Christoph Egger - -Index: xen-4.0.0-testing/xen/arch/x86/hvm/svm/svm.c -=================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/hvm/svm/svm.c -+++ xen-4.0.0-testing/xen/arch/x86/hvm/svm/svm.c -@@ -72,6 +72,8 @@ static void *hsa[NR_CPUS] __read_mostly; - /* vmcb used for extended host state */ - static void *root_vmcb[NR_CPUS] __read_mostly; - -+static bool_t amd_erratum383_found __read_mostly; -+ - static void inline __update_guest_eip( - struct cpu_user_regs *regs, unsigned int inst_len) - { -@@ -822,6 +824,20 @@ static int svm_cpu_prepare(unsigned int - return 0; - } - -+static void svm_init_erratum_383(struct cpuinfo_x86 *c) -+{ -+ uint64_t msr_content; -+ -+ /* only family 10h is affected */ -+ if ( c->x86 != 0x10 ) -+ return; -+ -+ rdmsrl(MSR_AMD64_DC_CFG, msr_content); -+ wrmsrl(MSR_AMD64_DC_CFG, msr_content | (1ULL << 47)); -+ -+ amd_erratum383_found = 1; -+} -+ - static int svm_cpu_up(struct cpuinfo_x86 *c) - { - u32 eax, edx, phys_hsa_lo, phys_hsa_hi; -@@ -847,6 +863,9 @@ static int svm_cpu_up(struct cpuinfo_x86 - phys_hsa_hi = (u32)(phys_hsa >> 32); - wrmsr(MSR_K8_VM_HSAVE_PA, phys_hsa_lo, phys_hsa_hi); - -+ /* check for erratum 383 */ -+ svm_init_erratum_383(c); -+ - /* Initialize core's ASID handling. */ - svm_asid_init(c); - -@@ -1244,6 +1263,47 @@ static void svm_vmexit_ud_intercept(stru - } - } - -+extern unsigned int nr_mce_banks; /* from mce.h */ -+ -+static int svm_is_erratum_383(struct cpu_user_regs *regs) -+{ -+ uint64_t msr_content; -+ uint32_t i; -+ struct vcpu *v = current; -+ -+ if ( !amd_erratum383_found ) -+ return 0; -+ -+ rdmsrl(MSR_IA32_MC0_STATUS, msr_content); -+ /* Bit 62 may or may not be set for this mce */ -+ msr_content &= ~(1ULL << 62); -+ -+ if ( msr_content != 0xb600000000010015ULL ) -+ return 0; -+ -+ /* Clear MCi_STATUS registers */ -+ for (i = 0; i < nr_mce_banks; i++) -+ wrmsrl(MSR_IA32_MCx_STATUS(i), 0ULL); -+ -+ rdmsrl(MSR_IA32_MCG_STATUS, msr_content); -+ wrmsrl(MSR_IA32_MCG_STATUS, msr_content & ~(1ULL << 2)); -+ -+ /* flush TLB */ -+ flush_tlb_mask(&v->domain->domain_dirty_cpumask); -+ -+ return 1; -+} -+ -+static void svm_vmexit_mce_intercept( -+ struct vcpu *v, struct cpu_user_regs *regs) -+{ -+ if ( svm_is_erratum_383(regs) ) -+ { -+ gdprintk(XENLOG_ERR, "SVM hits AMD erratum 383\n"); -+ domain_crash(v->domain); -+ } -+} -+ - static void wbinvd_ipi(void *info) - { - wbinvd(); -@@ -1432,6 +1492,7 @@ asmlinkage void svm_vmexit_handler(struc - /* Asynchronous event, handled when we STGI'd after the VMEXIT. */ - case VMEXIT_EXCEPTION_MC: - HVMTRACE_0D(MCE); -+ svm_vmexit_mce_intercept(v, regs); - break; - - case VMEXIT_VINTR: -Index: xen-4.0.0-testing/xen/include/asm-x86/msr-index.h -=================================================================== ---- xen-4.0.0-testing.orig/xen/include/asm-x86/msr-index.h -+++ xen-4.0.0-testing/xen/include/asm-x86/msr-index.h -@@ -146,6 +146,11 @@ - #define MSR_IA32_MC8_ADDR 0x00000422 - #define MSR_IA32_MC8_MISC 0x00000423 - -+#define MSR_IA32_MCx_CTL(x) (MSR_IA32_MC0_CTL + 4*(x)) -+#define MSR_IA32_MCx_STATUS(x) (MSR_IA32_MC0_STATUS + 4*(x)) -+#define MSR_IA32_MCx_ADDR(x) (MSR_IA32_MC0_ADDR + 4*(x)) -+#define MSR_IA32_MCx_MISC(x) (MSR_IA32_MC0_MISC + 4*(x)) -+ - #define MSR_P6_PERFCTR0 0x000000c1 - #define MSR_P6_PERFCTR1 0x000000c2 - #define MSR_P6_EVNTSEL0 0x00000186 -@@ -224,6 +229,7 @@ - - /* AMD64 MSRs */ - #define MSR_AMD64_NB_CFG 0xc001001f -+#define MSR_AMD64_DC_CFG 0xc0011022 - #define AMD64_NB_CFG_CF8_EXT_ENABLE_BIT 46 - - /* AMD Family10h machine check MSRs */ diff --git a/21421-vts-ats-enabling.patch b/21421-vts-ats-enabling.patch deleted file mode 100644 index 0d51bf0..0000000 --- a/21421-vts-ats-enabling.patch +++ /dev/null @@ -1,138 +0,0 @@ -References: bnc#573413 - -# HG changeset patch -# User Keir Fraser -# Date 1274253726 -3600 -# Node ID f67ae6f9d4107f091d062fc1501a96f873671d10 -# Parent eb4ecc037b7a53647f0ac89c7067d11ea622ab00 -VT-d: Fix ATS enabling for device assignment - -Currently, Xen only enables ATS in Xen booting. When an ATS capable -device is assigned to guest, ATS is actually not enabled because FLR -before assignment causes it to be disabled. Thus ATS cannot be used in -guest. This patch enables ATS in domain_context_mapping. This ensures -ATS is enabled in assignment because FLR is earlier than -domain_context_mapping call. Therefore ATS can be used in guest. This -patch also implements disable_ats_device to disable ATS when the -device is deassigned from a domain. - -Signed-off-by: Weidong Han - ---- a/xen/drivers/passthrough/vtd/ia64/ats.c -+++ b/xen/drivers/passthrough/vtd/ia64/ats.c -@@ -47,6 +47,11 @@ int enable_ats_device(int seg, int bus, - return 0; - } - -+int disable_ats_device(int seg, int bus, int devfn) -+{ -+ return 0; -+} -+ - int dev_invalidate_iotlb(struct iommu *iommu, u16 did, - u64 addr, unsigned int size_order, u64 type) - { ---- a/xen/drivers/passthrough/vtd/iommu.c -+++ b/xen/drivers/passthrough/vtd/iommu.c -@@ -1324,6 +1324,9 @@ static int domain_context_mapping(struct - dprintk(VTDPREFIX, "d%d:PCIe: map bdf = %x:%x.%x\n", - domain->domain_id, bus, PCI_SLOT(devfn), PCI_FUNC(devfn)); - ret = domain_context_mapping_one(domain, drhd->iommu, bus, devfn); -+ if ( !ret && ats_device(0, bus, devfn) ) -+ enable_ats_device(0, bus, devfn); -+ - break; - - case DEV_TYPE_PCI: -@@ -1453,6 +1456,9 @@ static int domain_context_unmap(struct d - dprintk(VTDPREFIX, "d%d:PCIe: unmap bdf = %x:%x.%x\n", - domain->domain_id, bus, PCI_SLOT(devfn), PCI_FUNC(devfn)); - ret = domain_context_unmap_one(domain, iommu, bus, devfn); -+ if ( !ret && ats_device(0, bus, devfn) ) -+ disable_ats_device(0, bus, devfn); -+ - break; - - case DEV_TYPE_PCI: -@@ -1771,8 +1777,6 @@ static void setup_dom0_devices(struct do - list_add(&pdev->domain_list, &d->arch.pdev_list); - domain_context_mapping(d, pdev->bus, pdev->devfn); - pci_enable_acs(pdev); -- if ( ats_device(0, pdev->bus, pdev->devfn) ) -- enable_ats_device(0, pdev->bus, pdev->devfn); - } - } - spin_unlock(&pcidevs_lock); ---- a/xen/drivers/passthrough/vtd/x86/ats.c -+++ b/xen/drivers/passthrough/vtd/x86/ats.c -@@ -92,6 +92,9 @@ int ats_device(int seg, int bus, int dev - - pdev = pci_get_pdev(bus, devfn); - drhd = acpi_find_matched_drhd_unit(pdev); -+ if ( !drhd ) -+ return 0; -+ - if ( !ecap_queued_inval(drhd->iommu->ecap) || - !ecap_dev_iotlb(drhd->iommu->ecap) ) - return 0; -@@ -144,6 +147,9 @@ int enable_ats_device(int seg, int bus, - - value = pci_conf_read16(bus, PCI_SLOT(devfn), - PCI_FUNC(devfn), pos + ATS_REG_CTL); -+ if ( value & ATS_ENABLE ) -+ return 0; -+ - value |= ATS_ENABLE; - pci_conf_write16(bus, PCI_SLOT(devfn), PCI_FUNC(devfn), - pos + ATS_REG_CTL, value); -@@ -153,10 +159,50 @@ int enable_ats_device(int seg, int bus, - pdev->devfn = devfn; - pdev->ats_queue_depth = queue_depth; - list_add(&(pdev->list), &ats_devices); -+ if ( iommu_verbose ) -+ dprintk(XENLOG_INFO VTDPREFIX, "%x:%x.%x: ATS is enabled\n", -+ bus, PCI_SLOT(devfn), PCI_FUNC(devfn)); - - return pos; - } - -+int disable_ats_device(int seg, int bus, int devfn) -+{ -+ struct list_head *pdev_list, *tmp; -+ struct pci_ats_dev *pdev; -+ u32 value; -+ int pos; -+ -+ pos = pci_find_ext_capability(seg, bus, devfn, PCI_EXT_CAP_ID_ATS); -+ if ( !pos ) -+ return 0; -+ -+ /* BUGBUG: add back seg when multi-seg platform support is enabled */ -+ value = pci_conf_read16(bus, PCI_SLOT(devfn), -+ PCI_FUNC(devfn), pos + ATS_REG_CTL); -+ value &= ~ATS_ENABLE; -+ pci_conf_write16(bus, PCI_SLOT(devfn), PCI_FUNC(devfn), -+ pos + ATS_REG_CTL, value); -+ -+ list_for_each_safe( pdev_list, tmp, &ats_devices ) -+ { -+ pdev = list_entry(pdev_list, struct pci_ats_dev, list); -+ if ( pdev->bus == bus && pdev->devfn == devfn ) -+ { -+ list_del(&pdev->list); -+ xfree(pdev); -+ break; -+ } -+ } -+ -+ if ( iommu_verbose ) -+ dprintk(XENLOG_INFO VTDPREFIX, "%x:%x.%x: ATS is disabled\n", -+ bus, PCI_SLOT(devfn), PCI_FUNC(devfn)); -+ -+ return 0; -+} -+ -+ - static int device_in_domain(struct iommu *iommu, struct pci_ats_dev *pdev, u16 did) - { - struct root_entry *root_entry = NULL; diff --git a/21435-vmx-retain-global-controls.patch b/21435-vmx-retain-global-controls.patch deleted file mode 100644 index 49329c6..0000000 --- a/21435-vmx-retain-global-controls.patch +++ /dev/null @@ -1,45 +0,0 @@ -# HG changeset patch -# User Keir Fraser -# Date 1274298365 -3600 -# Node ID c414129c8e129422d03898ec5822f56b2d2da4f8 -# Parent fe18437da295d0fdad2d852a603144eec62d29cd -vmx: Do not modify global vmx_vm{entry,exit}_control fields in init_vmcs_config() - -The function shoudl only have single-domain effect. - -Signed-off-by: Keir Fraser - ---- a/xen/arch/x86/hvm/vmx/vmcs.c -+++ b/xen/arch/x86/hvm/vmx/vmcs.c -@@ -558,6 +558,8 @@ static int construct_vmcs(struct vcpu *v - struct domain *d = v->domain; - uint16_t sysenter_cs; - unsigned long sysenter_eip; -+ u32 vmexit_ctl = vmx_vmexit_control; -+ u32 vmentry_ctl = vmx_vmentry_control; - - vmx_vmcs_enter(v); - -@@ -584,17 +586,17 @@ static int construct_vmcs(struct vcpu *v - v->arch.hvm_vmx.secondary_exec_control &= - ~(SECONDARY_EXEC_ENABLE_EPT | - SECONDARY_EXEC_UNRESTRICTED_GUEST); -- vmx_vmexit_control &= ~(VM_EXIT_SAVE_GUEST_PAT | -- VM_EXIT_LOAD_HOST_PAT); -- vmx_vmentry_control &= ~VM_ENTRY_LOAD_GUEST_PAT; -+ vmexit_ctl &= ~(VM_EXIT_SAVE_GUEST_PAT | -+ VM_EXIT_LOAD_HOST_PAT); -+ vmentry_ctl &= ~VM_ENTRY_LOAD_GUEST_PAT; - } - - /* Do not enable Monitor Trap Flag unless start single step debug */ - v->arch.hvm_vmx.exec_control &= ~CPU_BASED_MONITOR_TRAP_FLAG; - - __vmwrite(CPU_BASED_VM_EXEC_CONTROL, v->arch.hvm_vmx.exec_control); -- __vmwrite(VM_EXIT_CONTROLS, vmx_vmexit_control); -- __vmwrite(VM_ENTRY_CONTROLS, vmx_vmentry_control); -+ __vmwrite(VM_EXIT_CONTROLS, vmexit_ctl); -+ __vmwrite(VM_ENTRY_CONTROLS, vmentry_ctl); - - if ( cpu_has_vmx_ple ) - { diff --git a/21459-block-script.patch b/21459-block-script.patch deleted file mode 100644 index b40a8dc..0000000 --- a/21459-block-script.patch +++ /dev/null @@ -1,27 +0,0 @@ -# HG changeset patch -# User Jim Fehlig -# Date 1274807602 21600 -# Node ID 14d040342c6618365750b2c3b96ca01ff4a5e5dd -# Parent 93410e5e4ad8799932ad31820d0d82c74d1f63a2 -Allow space in vbd path name - -c/s 20393 breaks existing domain configuration that contains -spaces in the vbd path name. Fixed by this trivial patch which -provides missing quotes. - - Signed-off-by: Jim Fehlig - -diff -r 93410e5e4ad8 -r 14d040342c66 tools/hotplug/Linux/block ---- a/tools/hotplug/Linux/block Sat May 22 06:36:41 2010 +0100 -+++ b/tools/hotplug/Linux/block Tue May 25 11:13:22 2010 -0600 -@@ -272,8 +272,8 @@ - - if [ "x$mode" != 'x!' ] - then -- inode=$(stat -c '%i' $file) -- dev=$(stat -c '%D' $file) -+ inode=$(stat -c '%i' "$file") -+ dev=$(stat -c '%D' "$file") - if [ -z "$inode" ] || [ -z "$dev" ] - then - fatal "Unable to lookup $file: dev: $dev inode: $inode" diff --git a/21460-xend-timeoffset.patch b/21460-xend-timeoffset.patch deleted file mode 100644 index db16ac0..0000000 --- a/21460-xend-timeoffset.patch +++ /dev/null @@ -1,25 +0,0 @@ -# HG changeset patch -# User Jim Fehlig -# Date 1274822804 21600 -# Node ID a83e97657ba0f3ea232fe0dfb9edccf8e28aa982 -# Parent 14d040342c6618365750b2c3b96ca01ff4a5e5dd -tools: Fix time offset when localtime=0 - -localtime can be stored in vm config as a string, resulting in -incorrect calculation of rtc_timeoffset. Cast localtime to int -to ensure rtc_timeoffset is calculated properly. - - Signed-off-by: Jim Fehlig - -diff -r 14d040342c66 -r a83e97657ba0 tools/python/xen/xend/image.py ---- a/tools/python/xen/xend/image.py Tue May 25 11:13:22 2010 -0600 -+++ b/tools/python/xen/xend/image.py Tue May 25 15:26:44 2010 -0600 -@@ -129,7 +129,7 @@ - self.dmargs = self.parseDeviceModelArgs(vmConfig) - self.pid = None - rtc_timeoffset = int(vmConfig['platform'].get('rtc_timeoffset', 0)) -- if vmConfig['platform'].get('localtime', 0): -+ if int(vmConfig['platform'].get('localtime', 0)): - if time.localtime(time.time())[8]: - rtc_timeoffset -= time.altzone - else: diff --git a/block-script.patch b/block-script.patch deleted file mode 100644 index b40a8dc..0000000 --- a/block-script.patch +++ /dev/null @@ -1,27 +0,0 @@ -# HG changeset patch -# User Jim Fehlig -# Date 1274807602 21600 -# Node ID 14d040342c6618365750b2c3b96ca01ff4a5e5dd -# Parent 93410e5e4ad8799932ad31820d0d82c74d1f63a2 -Allow space in vbd path name - -c/s 20393 breaks existing domain configuration that contains -spaces in the vbd path name. Fixed by this trivial patch which -provides missing quotes. - - Signed-off-by: Jim Fehlig - -diff -r 93410e5e4ad8 -r 14d040342c66 tools/hotplug/Linux/block ---- a/tools/hotplug/Linux/block Sat May 22 06:36:41 2010 +0100 -+++ b/tools/hotplug/Linux/block Tue May 25 11:13:22 2010 -0600 -@@ -272,8 +272,8 @@ - - if [ "x$mode" != 'x!' ] - then -- inode=$(stat -c '%i' $file) -- dev=$(stat -c '%D' $file) -+ inode=$(stat -c '%i' "$file") -+ dev=$(stat -c '%D' "$file") - if [ -z "$inode" ] || [ -z "$dev" ] - then - fatal "Unable to lookup $file: dev: $dev inode: $inode" diff --git a/capslock_enable.patch b/capslock_enable.patch deleted file mode 100644 index cdcd18e..0000000 --- a/capslock_enable.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -r c2f19aa8a584 tools/ioemu-remote/vnc.c ---- a/tools/ioemu-remote/vnc.c Wed Apr 07 11:13:49 2010 +0800 -+++ b/tools/ioemu-remote/vnc.c Mon May 24 13:56:22 2010 +0800 -@@ -1326,6 +1326,11 @@ - } - break; - case 0x3a: /* CapsLock */ -+ if(!down){ -+ vs->modifiers_state[keycode] ^= 1; -+ kbd_put_keycode(keycode | 0x80); -+ } -+ return; - case 0x45: /* NumLock */ - if (down) { - kbd_put_keycode(keycode & 0x7f); diff --git a/cpupools-core.patch b/cpupools-core.patch index 09fbf44..0a36554 100644 --- a/cpupools-core.patch +++ b/cpupools-core.patch @@ -1,9 +1,7 @@ From: Juergen Gross -Index: xen-4.0.0-testing/xen/arch/x86/acpi/power.c -=================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/acpi/power.c -+++ xen-4.0.0-testing/xen/arch/x86/acpi/power.c +--- a/xen/arch/x86/acpi/power.c ++++ b/xen/arch/x86/acpi/power.c @@ -234,7 +234,7 @@ static int enter_state(u32 state) return error; } @@ -22,10 +20,8 @@ Index: xen-4.0.0-testing/xen/arch/x86/acpi/power.c } static int acpi_get_wake_status(void) -Index: xen-4.0.0-testing/xen/arch/x86/domain.c -=================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/domain.c -+++ xen-4.0.0-testing/xen/arch/x86/domain.c +--- a/xen/arch/x86/domain.c ++++ b/xen/arch/x86/domain.c @@ -1518,42 +1518,52 @@ void sync_vcpu_execstate(struct vcpu *v) } @@ -139,10 +135,8 @@ Index: xen-4.0.0-testing/xen/arch/x86/domain.c return 0; } -Index: xen-4.0.0-testing/xen/arch/x86/domain_build.c -=================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/domain_build.c -+++ xen-4.0.0-testing/xen/arch/x86/domain_build.c +--- a/xen/arch/x86/domain_build.c ++++ b/xen/arch/x86/domain_build.c @@ -9,6 +9,7 @@ #include #include @@ -183,11 +177,9 @@ Index: xen-4.0.0-testing/xen/arch/x86/domain_build.c /* Set up CR3 value for write_ptbase */ if ( paging_mode_enabled(d) ) -Index: xen-4.0.0-testing/xen/arch/x86/microcode.c -=================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/microcode.c -+++ xen-4.0.0-testing/xen/arch/x86/microcode.c -@@ -114,7 +114,7 @@ static int microcode_update_cpu(const vo +--- a/xen/arch/x86/microcode.c ++++ b/xen/arch/x86/microcode.c +@@ -116,7 +116,7 @@ static int microcode_update_cpu(const vo return err; } @@ -196,7 +188,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/microcode.c { struct microcode_info *info = _info; int error; -@@ -127,7 +127,8 @@ static long do_microcode_update(void *_i +@@ -129,7 +129,8 @@ static long do_microcode_update(void *_i info->cpu = next_cpu(info->cpu, cpu_online_map); if ( info->cpu < NR_CPUS ) @@ -206,7 +198,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/microcode.c error = info->error; xfree(info); -@@ -160,5 +161,6 @@ int microcode_update(XEN_GUEST_HANDLE(co +@@ -162,5 +163,6 @@ int microcode_update(XEN_GUEST_HANDLE(co info->error = 0; info->cpu = first_cpu(cpu_online_map); @@ -214,10 +206,8 @@ Index: xen-4.0.0-testing/xen/arch/x86/microcode.c + return continue_hypercall_on_cpu(info->cpu, NULL, + do_microcode_update, info); } -Index: xen-4.0.0-testing/xen/arch/x86/mm.c -=================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/mm.c -+++ xen-4.0.0-testing/xen/arch/x86/mm.c +--- a/xen/arch/x86/mm.c ++++ b/xen/arch/x86/mm.c @@ -242,7 +242,7 @@ void __init arch_init_memory(void) * Any Xen-heap pages that we will allow to be mapped will have * their domain field set to dom_xen. @@ -244,10 +234,8 @@ Index: xen-4.0.0-testing/xen/arch/x86/mm.c BUG_ON(dom_cow == NULL); /* First 1MB of RAM is historically marked as I/O. */ -Index: xen-4.0.0-testing/xen/arch/x86/platform_hypercall.c -=================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/platform_hypercall.c -+++ xen-4.0.0-testing/xen/arch/x86/platform_hypercall.c +--- a/xen/arch/x86/platform_hypercall.c ++++ b/xen/arch/x86/platform_hypercall.c @@ -19,6 +19,7 @@ #include #include @@ -307,10 +295,8 @@ Index: xen-4.0.0-testing/xen/arch/x86/platform_hypercall.c break; } break; -Index: xen-4.0.0-testing/xen/arch/x86/setup.c -=================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/setup.c -+++ xen-4.0.0-testing/xen/arch/x86/setup.c +--- a/xen/arch/x86/setup.c ++++ b/xen/arch/x86/setup.c @@ -2,6 +2,7 @@ #include #include @@ -343,10 +329,8 @@ Index: xen-4.0.0-testing/xen/arch/x86/setup.c if ( (dom0 == NULL) || (alloc_dom0_vcpu0() == NULL) ) panic("Error creating domain 0\n"); -Index: xen-4.0.0-testing/xen/arch/x86/smpboot.c -=================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/smpboot.c -+++ xen-4.0.0-testing/xen/arch/x86/smpboot.c +--- a/xen/arch/x86/smpboot.c ++++ b/xen/arch/x86/smpboot.c @@ -39,6 +39,7 @@ #include #include @@ -468,10 +452,8 @@ Index: xen-4.0.0-testing/xen/arch/x86/smpboot.c cpufreq_add_cpu(cpu); return 0; } -Index: xen-4.0.0-testing/xen/arch/x86/sysctl.c -=================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/sysctl.c -+++ xen-4.0.0-testing/xen/arch/x86/sysctl.c +--- a/xen/arch/x86/sysctl.c ++++ b/xen/arch/x86/sysctl.c @@ -29,7 +29,7 @@ #define get_xen_guest_handle(val, hnd) do { val = (hnd).p; } while (0) @@ -490,10 +472,8 @@ Index: xen-4.0.0-testing/xen/arch/x86/sysctl.c break; case XEN_SYSCTL_CPU_HOTPLUG_STATUS: ret = 0; -Index: xen-4.0.0-testing/xen/common/Makefile -=================================================================== ---- xen-4.0.0-testing.orig/xen/common/Makefile -+++ xen-4.0.0-testing/xen/common/Makefile +--- a/xen/common/Makefile ++++ b/xen/common/Makefile @@ -1,5 +1,6 @@ obj-y += bitmap.o obj-y += cpu.o @@ -501,10 +481,8 @@ Index: xen-4.0.0-testing/xen/common/Makefile obj-y += domctl.o obj-y += domain.o obj-y += event_channel.o -Index: xen-4.0.0-testing/xen/common/cpupool.c -=================================================================== --- /dev/null -+++ xen-4.0.0-testing/xen/common/cpupool.c ++++ b/xen/common/cpupool.c @@ -0,0 +1,585 @@ +/****************************************************************************** + * cpupool.c @@ -1091,10 +1069,8 @@ Index: xen-4.0.0-testing/xen/common/cpupool.c + * indent-tabs-mode: nil + * End: + */ -Index: xen-4.0.0-testing/xen/common/domain.c -=================================================================== ---- xen-4.0.0-testing.orig/xen/common/domain.c -+++ xen-4.0.0-testing/xen/common/domain.c +--- a/xen/common/domain.c ++++ b/xen/common/domain.c @@ -209,7 +209,7 @@ static void __init parse_extra_guest_irq custom_param("extra_guest_irqs", parse_extra_guest_irqs); @@ -1123,10 +1099,8 @@ Index: xen-4.0.0-testing/xen/common/domain.c sched_destroy_domain(d); /* Free page used by xen oprofile buffer. */ -Index: xen-4.0.0-testing/xen/common/domctl.c -=================================================================== ---- xen-4.0.0-testing.orig/xen/common/domctl.c -+++ xen-4.0.0-testing/xen/common/domctl.c +--- a/xen/common/domctl.c ++++ b/xen/common/domctl.c @@ -11,6 +11,7 @@ #include #include @@ -1202,10 +1176,8 @@ Index: xen-4.0.0-testing/xen/common/domctl.c if ( alloc_vcpu(d, i, cpu) == NULL ) goto maxvcpu_out; -Index: xen-4.0.0-testing/xen/common/sched_credit.c -=================================================================== ---- xen-4.0.0-testing.orig/xen/common/sched_credit.c -+++ xen-4.0.0-testing/xen/common/sched_credit.c +--- a/xen/common/sched_credit.c ++++ b/xen/common/sched_credit.c @@ -70,11 +70,15 @@ /* * Useful macros @@ -2094,7 +2066,7 @@ Index: xen-4.0.0-testing/xen/common/sched_credit.c .destroy_vcpu = csched_vcpu_destroy, .sleep = csched_vcpu_sleep, -@@ -1411,6 +1540,13 @@ const struct scheduler sched_credit_def +@@ -1411,6 +1540,13 @@ const struct scheduler sched_credit_def .dump_cpu_state = csched_dump_pcpu, .dump_settings = csched_dump, .init = csched_init, @@ -2108,10 +2080,8 @@ Index: xen-4.0.0-testing/xen/common/sched_credit.c .tick_suspend = csched_tick_suspend, .tick_resume = csched_tick_resume, -Index: xen-4.0.0-testing/xen/common/sched_sedf.c -=================================================================== ---- xen-4.0.0-testing.orig/xen/common/sched_sedf.c -+++ xen-4.0.0-testing/xen/common/sched_sedf.c +--- a/xen/common/sched_sedf.c ++++ b/xen/common/sched_sedf.c @@ -21,6 +21,9 @@ printk(_a ); \ } while ( 0 ) @@ -2377,7 +2347,7 @@ Index: xen-4.0.0-testing/xen/common/sched_sedf.c .name = "Simple EDF Scheduler", .opt_name = "sedf", .sched_id = XEN_SCHEDULER_SEDF, -@@ -1464,9 +1509,15 @@ const struct scheduler sched_sedf_def = +@@ -1464,9 +1509,15 @@ const struct scheduler sched_sedf_def = .init_domain = sedf_init_domain, .destroy_domain = sedf_destroy_domain, @@ -2394,10 +2364,8 @@ Index: xen-4.0.0-testing/xen/common/sched_sedf.c .do_schedule = sedf_do_schedule, .pick_cpu = sedf_pick_cpu, .dump_cpu_state = sedf_dump_cpu_state, -Index: xen-4.0.0-testing/xen/common/schedule.c -=================================================================== ---- xen-4.0.0-testing.orig/xen/common/schedule.c -+++ xen-4.0.0-testing/xen/common/schedule.c +--- a/xen/common/schedule.c ++++ b/xen/common/schedule.c @@ -53,10 +53,11 @@ static void poll_timer_fn(void *data); /* This is global for now so that private implementations can reach it */ @@ -2916,10 +2884,8 @@ Index: xen-4.0.0-testing/xen/common/schedule.c } #ifdef CONFIG_COMPAT -Index: xen-4.0.0-testing/xen/common/softirq.c -=================================================================== ---- xen-4.0.0-testing.orig/xen/common/softirq.c -+++ xen-4.0.0-testing/xen/common/softirq.c +--- a/xen/common/softirq.c ++++ b/xen/common/softirq.c @@ -88,9 +88,11 @@ void raise_softirq(unsigned int nr) } @@ -3013,10 +2979,8 @@ Index: xen-4.0.0-testing/xen/common/softirq.c open_softirq(TASKLET_SOFTIRQ, tasklet_action); } -Index: xen-4.0.0-testing/xen/common/sysctl.c -=================================================================== ---- xen-4.0.0-testing.orig/xen/common/sysctl.c -+++ xen-4.0.0-testing/xen/common/sysctl.c +--- a/xen/common/sysctl.c ++++ b/xen/common/sysctl.c @@ -314,6 +314,14 @@ long do_sysctl(XEN_GUEST_HANDLE(xen_sysc } break; @@ -3032,10 +2996,8 @@ Index: xen-4.0.0-testing/xen/common/sysctl.c default: ret = arch_do_sysctl(op, u_sysctl); break; -Index: xen-4.0.0-testing/xen/include/asm-x86/domain.h -=================================================================== ---- xen-4.0.0-testing.orig/xen/include/asm-x86/domain.h -+++ xen-4.0.0-testing/xen/include/asm-x86/domain.h +--- a/xen/include/asm-x86/domain.h ++++ b/xen/include/asm-x86/domain.h @@ -451,7 +451,8 @@ struct arch_vcpu #define hvm_svm hvm_vcpu.u.svm @@ -3046,10 +3008,8 @@ Index: xen-4.0.0-testing/xen/include/asm-x86/domain.h void vcpu_show_execution_state(struct vcpu *); void vcpu_show_registers(const struct vcpu *); -Index: xen-4.0.0-testing/xen/include/asm-x86/smp.h -=================================================================== ---- xen-4.0.0-testing.orig/xen/include/asm-x86/smp.h -+++ xen-4.0.0-testing/xen/include/asm-x86/smp.h +--- a/xen/include/asm-x86/smp.h ++++ b/xen/include/asm-x86/smp.h @@ -56,7 +56,6 @@ extern u32 cpu_2_logical_apicid[]; #define CPU_ONLINE 0x0002 /* CPU is up */ #define CPU_DEAD 0x0004 /* CPU is dead */ @@ -3058,10 +3018,8 @@ Index: xen-4.0.0-testing/xen/include/asm-x86/smp.h #define cpu_is_offline(cpu) unlikely(!cpu_online(cpu)) extern int cpu_down(unsigned int cpu); -Index: xen-4.0.0-testing/xen/include/public/domctl.h -=================================================================== ---- xen-4.0.0-testing.orig/xen/include/public/domctl.h -+++ xen-4.0.0-testing/xen/include/public/domctl.h +--- a/xen/include/public/domctl.h ++++ b/xen/include/public/domctl.h @@ -60,10 +60,10 @@ struct xen_domctl_createdomain { /* Should domain memory integrity be verifed by tboot during Sx? */ #define _XEN_DOMCTL_CDF_s3_integrity 2 @@ -3090,10 +3048,8 @@ Index: xen-4.0.0-testing/xen/include/public/domctl.h struct xen_domctl { uint32_t cmd; #define XEN_DOMCTL_createdomain 1 -Index: xen-4.0.0-testing/xen/include/public/sysctl.h -=================================================================== ---- xen-4.0.0-testing.orig/xen/include/public/sysctl.h -+++ xen-4.0.0-testing/xen/include/public/sysctl.h +--- a/xen/include/public/sysctl.h ++++ b/xen/include/public/sysctl.h @@ -491,6 +491,28 @@ struct xen_sysctl_lockprof_op { typedef struct xen_sysctl_lockprof_op xen_sysctl_lockprof_op_t; DEFINE_XEN_GUEST_HANDLE(xen_sysctl_lockprof_op_t); @@ -3131,10 +3087,8 @@ Index: xen-4.0.0-testing/xen/include/public/sysctl.h uint8_t pad[128]; } u; }; -Index: xen-4.0.0-testing/xen/include/xen/sched-if.h -=================================================================== ---- xen-4.0.0-testing.orig/xen/include/xen/sched-if.h -+++ xen-4.0.0-testing/xen/include/xen/sched-if.h +--- a/xen/include/xen/sched-if.h ++++ b/xen/include/xen/sched-if.h @@ -10,16 +10,29 @@ #include @@ -3229,10 +3183,8 @@ Index: xen-4.0.0-testing/xen/include/xen/sched-if.h +struct scheduler *scheduler_get_by_id(unsigned int id); + #endif /* __XEN_SCHED_IF_H__ */ -Index: xen-4.0.0-testing/xen/include/xen/sched.h -=================================================================== ---- xen-4.0.0-testing.orig/xen/include/xen/sched.h -+++ xen-4.0.0-testing/xen/include/xen/sched.h +--- a/xen/include/xen/sched.h ++++ b/xen/include/xen/sched.h @@ -9,6 +9,7 @@ #include #include @@ -3241,7 +3193,7 @@ Index: xen-4.0.0-testing/xen/include/xen/sched.h #include #include #include -@@ -132,8 +133,6 @@ struct vcpu +@@ -132,8 +133,6 @@ struct vcpu bool_t defer_shutdown; /* VCPU is paused following shutdown request (d->is_shutting_down)? */ bool_t paused_for_shutdown; @@ -3313,10 +3265,8 @@ Index: xen-4.0.0-testing/xen/include/xen/sched.h #endif /* __SCHED_H__ */ /* -Index: xen-4.0.0-testing/xen/include/xen/softirq.h -=================================================================== ---- xen-4.0.0-testing.orig/xen/include/xen/softirq.h -+++ xen-4.0.0-testing/xen/include/xen/softirq.h +--- a/xen/include/xen/softirq.h ++++ b/xen/include/xen/softirq.h @@ -58,6 +58,7 @@ struct tasklet struct tasklet name = { LIST_HEAD_INIT(name.list), 0, 0, 0, func, data } diff --git a/xen.changes b/xen.changes index 5196e59..3dddf32 100644 --- a/xen.changes +++ b/xen.changes @@ -1,48 +1,3 @@ -------------------------------------------------------------------- -Tue May 25 15:17:38 MDT 2010 - carnold@novell.com - -- bnc#608191 - /var/adm/fillup-templates/sysconfig.xend from - package xen-tools is no valid sysconfig file - xend-sysconfig.patch - -------------------------------------------------------------------- -Tue May 25 14:32:57 MDT 2010 - carnold@novell.com - -- bnc#608194 - /etc/xen/* config files are not packaged with - noreplace - -------------------------------------------------------------------- -Tue May 25 13:19:17 MDT 2010 - carnold@novell.com - -- bnc#569744 - SLE HVM guest clock/timezone is incorrect after - reboot - 21460-xend-timeoffset.patch - -------------------------------------------------------------------- -Tue May 25 11:20:30 MDT 2010 - jfehlig@novell.com - -- bnc#606882 - Allow spaces in vbd path names - 21459-block-script.patch - -------------------------------------------------------------------- -Mon May 24 15:10:12 CST 2010 - jsong@novell.com -- bnc#591799 - The status of Caps Lock is incorrect in domU - capslock_enable.patch - -------------------------------------------------------------------- -Thu May 20 09:56:07 MDT 2010 - carnold@novell.com - -- Upstream fixes from Jan including a fix for Intel's ATS issue - 21435-vmx-retain-global-controls.patch - 21406-x86-microcode-quiet.patch - 21421-vts-ats-enabling.patch - -------------------------------------------------------------------- -Wed May 19 13:23:36 MDT 2010 - carnold@novell.com - -- bnc#607219 - AMD Erratum 383 workaround for Xen - 21408-amd-erratum-383.patch - ------------------------------------------------------------------- Wed May 19 08:09:41 MDT 2010 - carnold@novell.com diff --git a/xen.spec b/xen.spec index 18bef47..e3fe7a5 100644 --- a/xen.spec +++ b/xen.spec @@ -102,12 +102,6 @@ Patch24: 21349-x86-memcpy.patch Patch25: 21360-x86-mce-polling-diabled-init.patch Patch26: 21372-x86-cross-cpu-wait.patch Patch27: 21373-dummy-domain-io-caps.patch -Patch28: 21406-x86-microcode-quiet.patch -Patch29: 21408-amd-erratum-383.patch -Patch30: 21421-vts-ats-enabling.patch -Patch31: 21435-vmx-retain-global-controls.patch -Patch32: 21459-block-script.patch -Patch33: 21460-xend-timeoffset.patch # Our patches Patch300: xen-config.diff Patch301: xend-config.diff @@ -168,7 +162,6 @@ Patch366: cpu-pools-python.patch Patch367: cpu-pools-libxen.patch Patch368: cpu-pools-xmtest.patch Patch369: cpu-pools-docs.patch -Patch370: xend-sysconfig.patch # Patches for snapshot support Patch400: snapshot-ioemu-save.patch Patch401: snapshot-ioemu-restore.patch @@ -192,7 +185,6 @@ Patch427: xen-ioemu-hvm-pv-support.diff Patch428: qemu-dm-segfault.patch Patch429: hibernate.patch Patch430: del_usb_xend_entry.patch -Patch431: capslock_enable.patch # Jim's domain lock patch Patch450: xend-domain-lock.patch # Hypervisor and PV driver Patches @@ -578,12 +570,6 @@ Authors: %patch25 -p1 %patch26 -p1 %patch27 -p1 -%patch28 -p1 -%patch29 -p1 -%patch30 -p1 -%patch31 -p1 -%patch32 -p1 -%patch33 -p1 %patch300 -p1 %patch301 -p1 %patch302 -p1 @@ -642,7 +628,6 @@ Authors: %patch367 -p1 %patch368 -p1 %patch369 -p1 -%patch370 -p1 %patch400 -p1 %patch401 -p1 %patch402 -p1 @@ -663,7 +648,6 @@ Authors: %patch428 -p1 %patch429 -p1 %patch430 -p1 -%patch431 -p1 %patch450 -p1 %patch500 -p1 %patch501 -p1 @@ -952,8 +936,8 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}/python%{pyver}/site-packages/xen/remus #/etc/xen/scripts/qemu-ifup /etc/xen/README* %config /etc/xen/vm -%config(noreplace) /etc/xen/*.sxp -%config(noreplace) /etc/xen/*.xml +%config /etc/xen/*.sxp +%config /etc/xen/*.xml %config(noreplace) /etc/xen/xenapiusers %config /etc/pam.d/xen-api %config /etc/modprobe.d/xen_loop.conf diff --git a/xend-sysconfig.patch b/xend-sysconfig.patch deleted file mode 100644 index 3a433c8..0000000 --- a/xend-sysconfig.patch +++ /dev/null @@ -1,36 +0,0 @@ -Index: xen-4.0.0-testing/tools/hotplug/Linux/init.d/sysconfig.xend -=================================================================== ---- xen-4.0.0-testing.orig/tools/hotplug/Linux/init.d/sysconfig.xend -+++ xen-4.0.0-testing/tools/hotplug/Linux/init.d/sysconfig.xend -@@ -1,11 +1,27 @@ -+## Path: System/Virtualization -+## Type: string(none,guest,hv,all) -+## Default: "" -+# - # Log xenconsoled messages (cf xm dmesg) --#XENCONSOLED_TRACE=[none|guest|hv|all] -+XENCONSOLED_TRACE="" - -+## Path: System/Virtualization -+## Type: string(yes,on,1) -+## Default: "" -+# - # Log xenstored messages --#XENSTORED_TRACE=[yes|on|1] -+XENSTORED_TRACE="" - -+## Path: System/Virtualization -+## Type: string("/var/lib/xenstored") -+## Default: "" -+# - # Running xenstored on XENSTORED_ROOTDIR --#XENSTORED_ROOTDIR=/var/lib/xenstored -+XENSTORED_ROOTDIR="" - -+## Path: System/Virtualization -+## Type: string(yes,on,1) -+## Default: "" -+# - # Running xenbackendd in debug mode --#XENBACKENDD_DEBUG=[yes|on|1] -+XENBACKENDD_DEBUG=""