aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update Xen version to 4.1.3-rc24.1.3-rc2Keir Fraser2012-06-182-2/+2
|
* x86-64: detect processors subject to AMD erratum #121 and refuse to bootJan Beulich2012-06-122-0/+11
| | | | | | | | | | | | | | | Processors with this erratum are subject to a DoS attack by unprivileged guest users. This is XSA-9 / CVE-2012-2934. Signed-off-by: Jan Beulich <JBeulich@suse.com> Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com> xen-unstable changeset: 25481:422880dc94a4 xen-unstable date: Tue Jun 12 11:33:42 2012 +0100 Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* x86-64: fix #GP generation in assembly codeJan Beulich2012-06-123-20/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When guest use of sysenter (64-bit PV guest) or syscall (32-bit PV guest) gets converted into a GP fault (due to no callback having got registered), we must - honor the GP fault handler's request the keep enabled or mask event delivery - not allow TBF_EXCEPTION to remain set past the generation of the (guest) exception in the vCPU's trap_bounce.flags, as that would otherwise allow for the next exception occurring in guest mode, should it happen to get handled in Xen itself, to nevertheless get bounced to the guest kernel. Also, just like compat mode syscall handling already did, native mode sysenter handling should, when converting to #GP, subtract 2 from the RIP present in the frame so that the guest's GP fault handler would see the fault pointing to the offending instruction instead of past it. Finally, since those exception generating code blocks needed to be modified anyway, convert them to make use of UNLIKELY_{START,END}(). [ This bug is security vulnerability, XSA-8 / CVE-2012-0218. ] Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org> Committed-by: Jan Beulich <jbeulich@suse.com> xen-unstable changeset: 25200:80f4113be500 25204:569d6f05e1ef Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* x86_64: Do not execute sysret with a non-canonical return addressJan Beulich2012-06-121-0/+11
| | | | | | | | | | | | | | | | | | | Check for non-canonical guest RIP before attempting to execute sysret. If sysret is executed with a non-canonical value in RCX, Intel CPUs take the fault in ring0, but we will necessarily already have switched to the the user's stack pointer. This is a security vulnerability, XSA-7 / CVE-2012-0217. Signed-off-by: Jan Beulich <JBeulich@suse.com> Signed-off-by: Ian Campbell <Ian.Campbell@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Acked-by: Keir Fraser <keir.xen@gmail.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com> xen-unstable changeset: 25480:76eaf5966c05 xen-unstable date: Tue Jun 12 11:33:40 2012 +0100 Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* x86/cpuidle: do not flush cache unless entering C3Wei Wang2012-05-252-2/+5
| | | | | | | | | | | Nor is there a need to disable bus master arbitration in that case. Signed-off-by: Wei Wang <wei.wang2@amd.com> Modified-by: Zhang, Yang Z <yang.z.zhang@intel.com> Signed-off-by: Jan Beulich <jbeulich@suse.com> Committed-by: Jan Beulich <jbeulich@suse.com> xen-unstable changeset: 25195:a06e6cdeafe3 xen-unstable date: Mon Apr 16 13:05:28 2012 +0200
* blktap2: Fix naked unchecked uses of read/write/chdir.Keir Fraser2012-05-1412-14/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These cause warnings under warn_unused_result, and for read/write we ought to deal with partial io results. Signed-off-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 25299:01d64a3dea71 xen-unstable date: Fri May 11 18:30:29 2012 +0100 blktap2: Fix another uninitialised value error gcc -O1 -fno-omit-frame-pointer -m32 -march=i686 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF .block-remus.o.d -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -mno-tls-direct-seg-refs -Werror -g -Wno-unused -fno-strict-aliasing -I../include -I../drivers -I/home/osstest/build.12828.build-i386/xen-unstable/tools/blktap2/drivers/../../../tools/libxc -I/home/osstest/build.12828.build-i386/xen-unstable/tools/blktap2/drivers/../../../tools/include -D_GNU_SOURCE -DUSE_NFS_LOCKS -c -o block-remus.o block-remus.c block-remus.c: In function 'ramdisk_flush': block-remus.c:508: error: 'buf' may be used uninitialized in this function make[5]: *** [block-remus.o] Error 1 This is because gcc can see that merge_requests doesn't always set *mergedbuf but gcc isn't able to prove that it always does so if merge_requests returns 0 and that in that case the value of ramdisk_flush::buf isn't used. This is too useful a warning to disable, despite the occasional false positive of this form. The conventional approach is to suppress the warning by explicitly initialising the variable to 0. This has just come to light because 25275:27d63b9f111a reenabled optimisation for this area of code, and gcc's data flow analysis (which is required to trigger the uninitialised variable warning) only occurs when optimisation is turned on. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> xen-unstable changeset: 25281:60064411a8a9 xen-unstable date: Thu May 10 14:26:14 2012 +0100 blktap2: Do not build with -O0 Signed-off-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 25275:27d63b9f111a xen-unstable date: Thu May 10 11:22:18 2012 +0100 blktap2: Fix uninitialised value error. Signed-off-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 25274:cb82b5aa73bd xen-unstable date: Thu May 10 11:21:59 2012 +0100 tools/blktap2: fix out of bounds access in block-log.c block-log.c: In function 'ctl_close_sock': block-log.c:363:23: warning: array subscript is above array bounds [-Warray-bounds] Adjust loop condition in ctl_close_sock() to fix warning. Adjust array acccess in ctl_close() to actually access the array member. Signed-off-by: Olaf Hering <olaf@aepfle.de> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 25273:83a02f225bde xen-unstable date: Thu May 10 11:20:04 2012 +0100 tools/blktap2: fix build errors caused by Werror in vhd_journal_write_entry -O2 -Wall -Werror triggers these warnings: libvhd-journal.c: In function 'vhd_journal_write_entry': libvhd-journal.c:335: warning: statement with no effect Really return the error from vhd_journal_write() to caller. v2: - simplify the patch by just adding the missing return statement Signed-off-by: Olaf Hering <olaf@aepfle.de> Committed-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 25272:ca02580986d2 xen-unstable date: Thu May 10 11:19:05 2012 +0100
* unmodified_drivers: remove inclusion of asm/system.hOlaf Hering2012-05-141-1/+0
| | | | | | | | | | | Allow compilation of PVonHVM drivers with forward-ported xenlinux sources in openSuSE 12.2. Since Linux 3.4 asm/system.h is not present anymore. Remove inclusion of this header, its not needed. Signed-off-by: Olaf Hering <olaf@aepfle.de> Committed-by: Jan Beulich <jbeulich@suse.com> xen-unstable changeset: 25327:cc7a054a5a27 xen-unstable date: Mon May 14 12:04:27 2012 +0200
* unmodified drivers: use upstream sync_bitops if availableJan Beulich2012-05-141-0/+10
| | | | | | | | | | | | The forward ported xenlinux sources in openSuSE 12.2 were switched from the old synch_bitops to the sync_bitops since kernel version 3.3. Add compat macros to use either old or new helpers depending on used kernel source version. Signed-off-by: Jan Beulich <jbeulich@suse.com> Signed-off-by: Olaf Hering <olaf@aepfle.de> xen-unstable changeset: 25069:46bf3ab42baf xen-unstable date: Fri Mar 16 11:35:06 2012 +0100
* unmodified drivers: add pfn_is_ram helper for kdumpOlaf Hering2012-05-141-0/+29
| | | | | | | | | | | | Register pfn_is_ram helper speed up reading /proc/vmcore in the kdump kernel. It is compiled only if the kernel source is recent enough to have the pfn_is_ram helper (v3.0-rc1, commit 997c136f518c5debd63847e78e2a8694f56dcf90). Signed-off-by: Olaf Hering <olaf@aepfle.de> Committed-by: Jan Beulich <jbeulich@suse.com> xen-unstable changeset: 25068:e4460795ee66 xen-unstable date: Fri Mar 16 11:34:41 2012 +0100
* unmodified drivers: hide xen_cpuid_base() in version 2.6.38+Olaf Hering2012-05-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Allow compilation of PVonHVM drivers with forward-ported xenlinux sources in openSuSE 12.1. xen_cpuid_base() is now in mainline, the copy in the xen tree leads to a compilation error. The current state leads to a compile error: /usr/src/packages/BUILD/xen-4.2.24547/non-dbg/obj/default/platform-pci/platform-pci.c:121: error: redefinition of 'xen_cpuid_base' /usr/src/linux-3.0.13-0.11/arch/x86/include/asm/xen/hypervisor.h:43: error: previous definition of 'xen_cpuid_base' was here The reason is that the kernel sources are searched before the xen sources for asm/hypervisor.h: /usr/src/linux-3.0.13-0.11/arch/x86/include/asm/hypervisor.h /usr/src/packages/BUILD/xen-4.2.24547/non-dbg/obj/default/include/asm/hypervisor.h Signed-off-by: Olaf Hering <olaf@aepfle.de> Acked-by: Jan Beulich <jbeulich@suse.com> Committed-by: Jan Beulich <jbeulich@suse.com> xen-unstable changeset: 25067:05768bd498f2 xen-unstable date: Fri Mar 16 11:34:14 2012 +0100
* unmodified_drivers: update README fromIan Campbell2012-05-141-3/+12
| | | | | | | | | | | | | | | | http://wiki.xen.org/xenwiki/UnmodifiedDrivers Add reference to the fact that these drivers are for "classic-Xen" kernels only and do not work with PVops but point towards the PVHVM functionality in mainstream. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson.citrix.com> Committed-by: Ian Jackson <ian.jackson.citrix.com> xen-unstable changeset: 24045:4ed766d70396 xen-unstable date: Wed Oct 26 17:44:03 2011 +0100
* Update Xen version to 4.1.3-rc2-preKeir Fraser2012-05-141-1/+1
|
* Added signature for changeset da64f68730cfKeir Fraser2012-05-071-0/+1
|
* Added tag 4.1.3-rc1 for changeset da64f68730cfKeir Fraser2012-05-071-0/+1
|
* Update Xen version to 4.1.3-rc14.1.3-rc1Keir Fraser2012-05-072-2/+2
|
* svm: Fake out the Bus Unit Config MSR on revF AMD CPUsGeorge Dunlap2012-05-012-0/+15
| | | | | | | | | | | | | | | | | | | | | | | Win2k8 x64 reads this MSR on revF chips, where it wasn't publically available; it uses a magic constant in %rdi as a password, which we don't have in rdmsr_safe(). Since we'll ignore the later writes, just use a plausible value here (the reset value from rev10h chips) if the real CPU didn't provide one. Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Committed-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 24990:322300fd2ebd xen-unstable date: Thu Mar 08 09:17:21 2012 +0000 svm: amend c/s 24990:322300fd2ebd (fake BU_CFG MSR on AMD revF) Let's restrict such a hack to the known affected family. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org> Acked-by: George Dunlap <george.dunlap@eu.citrix.com> xen-unstable changeset: 25058:f47d91cb0faa xen-unstable date: Thu Mar 15 15:09:18 2012 +0100
* x86-64: Fix memory hotplug epfn upper limit test for updating the compat M2P ↵Malcolm Crossley2012-05-011-1/+1
| | | | | | | | | | | | | | | table The epfn is being compared to (RDWR_COMPAT_MPT_VIRT_END - RDWR_COMPAT_MPT_VIRT_START) without a 2 bit shift, resulting in the epfn being compared to the size of the RDWR_COMPAT_MPT table in bytes instead of the maximum page frame number that the RDWR_COMPAT_MPT table can map. Signed-off-by: Malcolm Crossley <malcolm.crossley@citrix.com> Committed-by: Jan Beulich <jbeulich@suse.com> xen-unstable changeset: 25242:b7ce6a88bebb xen-unstable date: Wed Apr 25 12:35:56 2012 +0200
* QEMU_TAG updateIan Jackson2012-04-241-3/+3
|
* x86: fix memset(ptr, 0, sizeof ptr).Tim Deegan2012-04-241-2/+2
| | | | | | | | | | Signed-off-by: Tim Deegan <tim@xen.org> Acked-by: Jan Beulich <jbeulich@suse.com> Acked-by: Christoph Egger <Christoph.Egger@amd.com> Acked-by: Keir Fraser <keir@xen.org> Committed-by: Tim Deegan <tim@xen.org> xen-unstable changeset: 25168:d5f9005dfc4a xen-unstable date: Wed Apr 11 13:10:33 2012 +0100
* x86/hpet: disable before reboot or kexecJan Beulich2012-04-174-2/+37
| | | | | | | | | | | | | | | | | Linux up to now is not smart enough to properly clear the HPET when it boots, which is particularly a problem when a kdump attempt from running under Xen is being made. Linux itself added code to work around this to its shutdown paths quite some time ago, so let's do something similar in Xen: Save the configuration register settings during boot, and restore them during shutdown. This should cover the majority of cases where the secondary kernel might not come up because timer interrupts don't work. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 25101:f06ff3dfde08 xen-unstable date: Tue Mar 27 15:20:23 2012 +0200
* x86_emulate: Do not push an error code onto a #UD exception stackAndrew Cooper2012-04-171-7/+7
| | | | | | | | | | | | | | | Signed-off-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 25099:4bd752a4cdf3 xen-unstable date: Fri Mar 23 20:51:48 2012 +0000 x86_emulate: raise #UD rather than #GP on invalid use of LOCK prefix From: Andrew Cooper <andrew.cooper3@citrix.com> Signed-off-by: Keir Fraser <keir@xen.org> Committed-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 25098:2e45b26bc412 xen-unstable date: Fri Mar 23 20:45:16 2012 +0000
* XENPF_set_processor_pminfo XEN_PM_CX overflows states arrayJan Beulich2012-04-172-41/+38
| | | | | | | | | | | | | | | | | | | | | | 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 <eric.chanudet@eu.citrix.com> - 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 <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 24996:396801f25e92 xen-unstable date: Thu Mar 08 17:04:32 2012 +0100
* HVM/SVM: enable tsc scaling ratio for SVMWei Huang2012-04-124-1/+45
| | | | | | | | | | | | | | | | | | Future AMD CPUs support TSC scaling. It allows guests to have a different TSC frequency from host system using this formula: guest_tsc = host_tsc * tsc_ratio + vmcb_offset. The tsc_ratio is a 64bit MSR contains a fixed-point number in 8.32 format (8 bits for integer part and 32bits for fractional part). For instance 0x00000003_80000000 means tsc_ratio=3.5. This patch enables TSC scaling ratio for SVM. With it, guest VMs don't need take #VMEXIT to calculate a translated TSC value when it is running under TSC emulation mode. This can substancially reduce the rdtsc overhead. Signed-off-by: Wei Huang <wei.huang2@amd.com> xen-unstable changeset: 23437:d7c755c25bb9 xen-unstable date: Sat May 28 08:58:08 2011 +0100
* hvm: vpmu: Add support for AMD Family 15h processorsJacob Shin2012-04-127-33/+196
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AMD Family 15h CPU mirrors legacy K7 performance monitor counters to a new location, and adds 2 new counters. This patch updates HVM VPMU to take advantage of the new counters. Signed-off-by: Jacob Shin <jacob.shin@amd.com> xen-unstable changeset: 23306:e787d4f2e5ac xen-unstable date: Mon May 09 09:54:46 2011 +0100 xenoprof: Add support for AMD Family 15h processors AMD Family 15h CPU mirrors legacy K7 performance monitor counters to a new location, and adds 2 new counters. This patch updates xenoprof to take advantage of the new counters. Signed-off-by: Jacob Shin <jacob.shin@amd.com> Rename fam15h -> amd_fam15h in a few places, as suggested by Jan Beulich. Signed-off-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 23305:014ee4e09644 xen-unstable date: Mon May 09 09:53:07 2011 +0100 xenoprof: Update cpu_type to sync with upstream oprofile Update xenoprof's cpu_type to match upstream oprofile. Currently AMD Family 11h ~ Family 15h are broken due to string mismatches. Signed-off-by: Jacob Shin <jacob.shin@amd.com> xen-unstable changeset: 23304:8981b582be3e xen-unstable date: Mon May 09 09:49:14 2011 +0100
* svm: implement instruction fetch part of DecodeAssist (on #PF/#NPF)Andre Przywara2012-04-1211-190/+226
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Newer SVM implementations (Bulldozer) copy up to 15 bytes from the instruction stream into the VMCB when a #PF or #NPF exception is intercepted. This patch makes use of this information if available. This saves us from a) traversing the guest's page tables, b) mapping the guest's memory and c) copy the instructions from there into the hypervisor's address space. This speeds up #NPF intercepts quite a lot and avoids cache and TLB trashing. Signed-off-by: Andre Przywara <andre.przywara@amd.com> Signed-off-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 23238:60f5df2afcbb xen-unstable date: Mon Apr 18 13:36:10 2011 +0100 svm: decode-assists feature must depend on nextrip feature. ...since the decode-assist fast paths assume nextrip vmcb field is valid. Signed-off-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 23237:381ab77db71a xen-unstable date: Mon Apr 18 10:10:02 2011 +0100 svm: implement INVLPG part of DecodeAssist Newer SVM implementations (Bulldozer) give the desired address on a INVLPG intercept explicitly in the EXITINFO1 field of the VMCB. Use this address to avoid a costly instruction fetch and decode cycle. Signed-off-by: Andre Przywara <andre.przywara@amd.com> xen-unstable changeset: 23236:e324c4d1dd6e xen-unstable date: Mon Apr 18 10:06:37 2011 +0100 svm: implement CR access part of DecodeAssist Newer SVM implementations (Bulldozer) now give the used general purpose register on a MOV-CR intercept explictly. This avoids fetching and decoding the instruction from guest's memory and speeds up some Windows guest, which exercise CR8 quite often. Signed-off-by: Andre Przywara <andre.przywara@amd.com> Signed-off-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 23235:2c8ad607ece1 xen-unstable date: Mon Apr 18 10:01:06 2011 +0100 svm: add bit definitions for SVM DecodeAssist Chapter 15.33 of recent APM Vol.2 manuals describe some additions to SVM called DecodeAssist. Add the newly added fields to the VMCB structure and name the associated CPUID bit. Signed-off-by: Andre Przywara <andre.przywara@amd.com> xen-unstable changeset: 23234:bf7afd48339a xen-unstable date: Mon Apr 18 09:49:13 2011 +0100 vmx/hvm: move mov-cr handling functions to generic HVM code Currently the handling of CR accesses intercepts is done much differently in SVM and VMX. For future usage move the VMX part into the generic HVM path and use the exported functions. Signed-off-by: Andre Przywara <andre.przywara@amd.com> Signed-off-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 23233:1276926e3795 xen-unstable date: Mon Apr 18 09:47:12 2011 +0100
* x86: fix delta calculation in TSC deadline timer emulationDavid Vrabel2012-04-111-8/+4
| | | | | | | | | | | | | | | In the virtual LAPIC, correct the delta calculation when emulating the TSC deadline timer. Without this fix, XenServer (which is based on Xen 4.1) does not work when running as an HVM guest. dom0 fails to boot because its timer interrupts are very delayed (by several minutes in some cases). Signed-off-by: David Vrabel <david.vrabel@citrix.com> Acked-by: Jan Beulich <jbeulich@suse.com> Committed-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 25191:a95fc7decc83 xen-unstable date: Wed Apr 11 16:49:45 2012 +0100
* libxl: support for "rtc_timeoffset" and "localtime"Giam Teck Choon2012-04-043-0/+19
| | | | | | | | | | | | | | | | | | Implement "rtc_timeoffset" and "localtime" options compatible as xm. rtc_timeoffset is the offset between host time and guest time. localtime means to specify whether the emulted RTC appears as UTC or is offset by the host. Acked-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Lin Ming <mlin@ss.pku.edu.cn> Committed-by: Ian Jackson <ian.jackson.citrix.com> xen-unstable changeset: 25131:6f81f4d79fde Backport-requested-by: Giam Teck Choon <giamteckchoon@gmail.com> Signed-off-by: Giam Teck Choon <giamteckchoon@gmail.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* tools: xend: tolerate empty state/*.xmlKonrad Rzeszutek Wilk2012-04-031-0/+3
| | | | | | | | | | | | | | | | Bugzilla 1680: Xend fails to start if /var/lib/xend/state/*.xml are empty which I get often when replacing the Xen hypervisor with a newer version. This can be easily be reproduced under Fedora Core 16 by installing xen RPMs and then replacing the xen.gz with a newer version. Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by: Anthony Low <shinji@pikopiko.org> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com> xen-unstable changeset: 24140:a3a2e300951a Backport-requested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxl: write vifname in xenstore if set.Giam Teck Choon2012-04-031-0/+6
| | | | | | | | | | | | | | Simple fix to enable user to specify vif names. Signed-off-by: Wei Liu <wei.liu2@citrix.com> Acked-by: Ian Campbell <ian.campbell.com> Committed-by: Ian Jackson <ian.jackson.citrix.com> xen-unstable changeset: 24459:caf9753d4cc1 Backport-requested-by: Roderick Colenbrander <thunderbird2k@gmail.com> Signed-off-by: Giam Teck Choon <giamteckchoon@gmail.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* xen: introduce PHYSDEVOP_pirq_eoi_gmfn_v2Stefano Stabellini2012-03-307-5/+29
| | | | | | | | | | | | | | | | | | PHYSDEVOP_pirq_eoi_gmfn changes the semantics of PHYSDEVOP_eoi. In order to improve the interface this patch: - renames PHYSDEVOP_pirq_eoi_gmfn to PHYSDEVOP_pirq_eoi_gmfn_v1; - introduces PHYSDEVOP_pirq_eoi_gmfn_v2, that is like PHYSDEVOP_pirq_eoi_gmfn_v1 but it doesn't modify the behaviour of another hypercall; - #define PHYSDEVOP_pirq_eoi_gmfn to PHYSDEVOP_pirq_eoi_gmfn_v1 Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Committed-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 24616:3bd3949854ef xen-unstable date: Sat Jan 28 13:45:13 2012 +0000
* Fix backport of 23225:3f00c5faa12a.Konrad Rzeszutek Wilk2012-03-291-3/+3
| | | | | From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by: Keir Fraser <keir@xen.org>
* x86,hvm: enable VCPUOP_register_vcpu_info op in hvm hypercallZhenzhong Duan2012-03-291-0/+2
| | | | | | | | | | pvhvm running with more than 32 vcpus and pv_irq/pv_time enabled need vcpu placement to work, or else it will softlockup. Signed-off-by: Zhenzhong Duan <zhenzhong.duan@oracle.com> Committed-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 24013:c4ed56a102dc xen-unstable date: Fri Oct 28 17:20:21 2011 +0100
* x86: make the pv-only e820 array be dynamic.Konrad Rzeszutek Wilk2012-03-293-8/+41
| | | | | | | | | | | | | | | During creation of the PV domain we allocate the E820 structure to have the amount of E820 entries on the machine, plus the number three. This will allow the tool stack to fill the E820 with more than three entries. Specifically the use cases is , where the toolstack retrieves the E820, sanitizes it, and then sets it for the PV guest (for PCI passthrough), this dynamic number of E820 is just right. Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 23225:3f00c5faa12a xen-unstable date: Wed Apr 13 16:10:26 2011 +0100
* Introduce system_state variable.Keir Fraser2012-03-2310-9/+33
| | | | | | | | | | | | | | | Use it to replace x86-specific early_boot boolean variable. Also use it to detect suspend/resume case during cpu offline/online to avoid unnecessarily breaking vcpu and cpupool affinities. Signed-off-by: Keir Fraser <keir@xen.org> Acked-by: Juergen Gross <juergen.gross@ts.fujitsu.com> xen-unstable changeset: 25079:d5ccb2d1dbd1 xen-unstable date: Thu Mar 22 12:20:13 2012 +0000 Backport requested by Juergen to fix crash on poweroff when using cpupools.
* x86/gnttab: fix asm() operand in gnttab_clear_flag()Jan Beulich2012-03-231-1/+1
| | | | | | | | | | | | The operand needs to use the 'w' modifier in case the compiler happens to pick a register (which apparently it does for no-one but the reporter of this problem). Reported-by: Lin Ming <mlin@ss.pku.edu.cn> Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 25092:a66fb91cb8d3 xen-unstable date: Fri Mar 23 08:39:39 2012 +0100
* QEMU_TAG updateIan Jackson2012-03-141-3/+3
|
* tools: xencommons init script: Fix setting XENSTORED_ROOTDIRJim Fehlig2012-03-141-1/+1
| | | | | | | | | | | | | Due to a logic bug, XENSTORED_ROOTDIR was not being set to default value when zero length. Signed-off-by: Jim Fehlig <jfehlig@suse.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com> xen-unstable changeset: 24593:e2722b24dc09 Backport-requested-by: Teck Choon Giam <giamteckchoon@gmail.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxl: print out vifname in create dryrun.Wei Liu2012-03-131-0/+2
| | | | | | | | | | Signed-off-by: Wei Liu <wei.liu2@citrix.com> Acked-by: Ian Campbell <ian.campbell.com> Committed-by: Ian Jackson <ian.jackson.citrix.com> xen-unstable changeset: 24458:19ac027a3c31 Backport-requested-by: Roderick Colenbrander <thunderbird2k@gmail.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* hvm: Print support/enable status of HAP superpage mappings.Keir Fraser2012-03-094-8/+13
| | | | | | Signed-off-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 24992:0384f791e538 xen-unstable date: Thu Mar 08 09:43:49 2012 +0000
* iommu: Move IOMMU faults handling into softirq for AMD-Vi.Dario Faggioli2012-03-081-14/+54
| | | | | | | | | | | | | | Dealing with interrupts from AMD-Vi IOMMU(s) is deferred to a softirq-tasklet, raised by the actual IRQ handler. To avoid more interrupts being generated (because of further faults), they must be masked in the IOMMU within the low level IRQ handler and enabled back in the tasklet body. Notice that this may cause the log to overflow, but none of the existing entry will be overwritten. Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com> Committed-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 24527:028230eb2359 xen-unstable date: Fri Jan 20 10:20:32 2012 +0000
* x86/IRQ: prevent vector sharing within IO-APICsJan Beulich2012-03-083-2/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | Following the prevention of vector sharing for MSIs, this change enforces the same within IO-APICs: Pin based interrupts use the IO-APIC as their identifying device under the AMD IOMMU (and just like for MSIs, only the identifying device is used to remap interrupts here, with no regard to an interrupt's destination). Additionally, LAPIC initiated EOIs (for level triggered interrupts) too use only the vector for identifying which interrupts to end. While this generally causes no significant problem (at worst an interrupt would be re-raised without a new interrupt event actually having occurred), it still seems better to avoid the situation. For this second aspect, a distinction is being made between the traditional and the directed-EOI cases: In the former, vectors should not be shared throughout all IO-APICs in the system, while in the latter case only individual IO-APICs need to be contrained (or, if the firmware indicates so, sub- groups of them having the same GSI appear at multiple pins). Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com> xen-unstable changeset: 24156:f29b5bd6e25f xen-unstable date: Fri Nov 18 09:21:24 2011 +0100
* introduce xzalloc() & CoJan Beulich2012-03-083-5/+24
| | | | | | | | | | | Rather than having to match a call to one of the xmalloc() flavors with a subsequent memset(), introduce a zeroing variant of each of those flavors. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 23900:e09ebf7a31f5 xen-unstable date: Tue Oct 04 14:15:26 2011 +0200
* x86/xenoprof: fix 32-bit guest stack handling after c/s 24537:3c0a533d3af0Jan Beulich2012-03-081-17/+24
| | | | | | | | | | | | | | 32-bit guests don't have 64-bit precudrure return addresses - both elements of struct frame_head_32bit should be 32 bits wide, not just the frame link pointer. Further, consolidate the whole handling here (also in the native size guest case) to properly use guest handles and guest memory accessors. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 24971:e88a49951212 xen-unstable date: Tue Mar 06 16:43:01 2012 +0100
* xenoprof: Adjust indentationGeorge Dunlap2012-03-075-51/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring indentation into Xen hypervisor standard coding style. No functional changes. Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Committed-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 24536:212cf37d50e1 xen-unstable date: Mon Jan 23 09:36:01 2012 +0000 xenoprof: Handle 32-bit guest stacks properly in a 64-bit hypervisor The dump_guest_backtrace() function attempted to walk the stack based on the assumption that the guest and hypervisor pointer sizes were the same; thus any 32-bit guest running under 64-bit hypervisor would have unreliable results. In 64-bit mode, read the 32-bit stack frame properly. Signed-off-by: Marcus Granado <marcus.granado@eu.citrix.com> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Committed-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 24537:3c0a533d3af0 xen-unstable date: Mon Jan 23 09:36:29 2012 +0000 xenoprof: Use uint64_t explicitly for internal calls A recent changeset to make XENOPROF_ESCAPE_CODE consistent across 32- and 64-bit builds caused a build failure, because values were passed through functions as "unsigned long". Replace these with uint64_t explicitly. Also remove redundant function prototype from perfmon.c, now that it's in a header file. Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Committed-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 24564:768c932ea8da xen-unstable date: Thu Jan 26 11:03:23 2012 +0000 xenoprof: Make the escape code consistent across 32 and 64-bit xen At the moment, the xenoprof escape code is defined as "~0UL". Unfortunately, this expands to 0xffffffff on 32-bit systems and 0xffffffffffffffff on 64-bit systems; with the result that while 32-on-32 and 64-in-64 work fine, 32-on-64 (also known as "compat mode") is broken. This patch makes the definition consistent across architectures. In so doing, it will break old-32-bit-on-new-Xen, and vice versa; but this was seen as an acceptable thing to do. Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Committed-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 24565:1e27e827e6a8 xen-unstable date: Thu Jan 26 11:03:50 2012 +0000
* IO-APIC: Prevent using EOI broadcast suppression if user specifiedAndrew Cooper2012-03-073-3/+17
| | | | | | | | | | | | | | | | | ioapic_ack=new on the command line. Currently, if EOI broadcast suppression is advertised on the BSP LAPIC, Xen will discard any user specified option regarding IO-APIC ack mode. This patch introduces a check which prevents EOI Broadcast suppression from forcing the IO-APIC ack mode to old if the user has explicitly asked for the new ack mode on the command line. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Committed-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 24870:9bf3ec036bef xen-unstable date: Thu Feb 23 09:58:47 2012 +0000
* libxc: remove tests of alloca() return valueDavid Vrabel2012-03-071-45/+34
| | | | | | | | | | | alloca() does not return NULL on an allocation failure on Linux so remove the unneccessary tests from this Linux-specific code. Signed-off-by: David Vrabel <david.vrabel@citrix.com> Cc: Santosh Jodh <santosh.jodh@citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com> xen-unstable changeset: 24832:9cc7961d8f5c xen-unstable date: Mon Feb 20 17:31:49 2012 +0000
* libxc: Replace malloc with alloca in hot pathSantosh Jodh2012-03-071-5/+2
| | | | | | | | | | Replace malloc with alloc in hot paths for improved performance. Signed-off-by: Santosh Jodh <santosh.jodh@citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com> xen-unstable changeset: 24709:8ba7ae0b070b xen-unstable date: Tue Feb 07 18:46:50 2012 +0000
* sched_credit: Use delay to control scheduling frequencyHui Lv2012-03-074-1/+57
| | | | | | | | | | | | | | | | | | | | | | This patch can improve Xen performance: 1. Basically, the "delay method" can achieve 11% overall performance boost for SPECvirt than original credit scheduler. 2. We have tried 1ms delay and 10ms delay, there is no big difference between these two configurations. (1ms is enough to achieve a good performance) 3. We have compared different load level response time/latency (low, high, peak), "delay method" didn't bring very much response time increase. 4. 1ms delay can reduce 30% context switch at peak performance, where produces the benefits. (int sched_ratelimit_us = 1000 is the recommended setting) Signed-off-by: Hui Lv <hui.lv@intel.com> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Acked-by: George Dunlap <george.dunlap@eu.citrix.com> Committed-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 24518:44c2856b1952 xen-unstable date: Tue Jan 17 11:18:48 2012 +0000
* xen,credit1: Add variable timesliceGeorge Dunlap2012-03-071-29/+36
| | | | | | | | | Add a xen command-line parameter, sched_credit_tslice_ms, to set the timeslice of the credit1 scheduler. Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> xen-unstable changeset: 23834:1d40b2793723 xen-unstable date: Tue Sep 13 10:43:43 2011 +0100
* ns16550: Simplify UART and UART-interrupt probing logic.Keir Fraser2012-03-071-20/+5
| | | | | | | | | | | | | | | | | | | | | | | | | 1. No need to check for UART existence in the polling routine. We already check for UART existence during boot-time initialisation (see check_existence() function). 2. No obvious need to send a dummy character. The poll routine will run until a character is eventually sent, but for the most common use of serial ports (console logging) that will happen almost immediately. Signed-off-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 23811:f1349a968a5a xen-unstable date: Fri Sep 02 14:56:26 2011 +0100 Revert part of 23811:f1349a968a5a "ns16550: Simplify UART..." The change to poll LSR.THRE in a loop from __ns16550_poll is a bug. We can loop indefinitely if there are no chars to transmit. Thanks to Jan for spotting it. Signed-off-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 23948:dcb2bd283dca xen-unstable date: Wed Oct 12 17:11:28 2011 +0100