aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update Xen version to 4.1.0RELEASE-4.1.0Keir Fraser2011-03-252-2/+2
|
* Added signature for changeset 98c580505053Keir Fraser2011-03-211-0/+1
|
* Added tag 4.1.0-rc8 for changeset 98c580505053Keir Fraser2011-03-211-0/+1
|
* Update Xen version to 4.1.0-rc84.1.0-rc8Keir Fraser2011-03-212-2/+2
|
* amd-iommu: remove a stray __initJan Beulich2011-03-181-1/+1
| | | | | | | | This function is being called on the resume path. Signed-off-by: Jan Beulich <jbeulich@novell.com> xen-unstable changeset: 23061:12f7c7ac7f19 xen-unstable date: Fri Mar 18 17:15:52 2011 +0000
* x86/mce: CPU notifiers must not be registered a second time during resumeJan Beulich2011-03-186-18/+12
| | | | | | | | | | | | While c/s 22964:f71212f712fd and 23051:93c864c16ab1 fixed issues with CPU onlining, they introduced a problem with resume: mcheck_init() is also being called on that path, and hence checking whether it's running on CPU 0, which is generally not a really good thing, is particularly inappropriate here. Signed-off-by: Jan Beulich <jbeulich@novell.com> xen-unstable changeset: 23060:b59e98bc6ff1 xen-unstable date: Fri Mar 18 17:15:19 2011 +0000
* x86: mce cleanup for both Intel and AMD mce logicLiu, Jinsong2011-03-182-10/+57
| | | | | | | | | | | | | | | | | | | | c/s 22964 fixed a mce memory leaks bug which may trigger xen crash when cpu online. However, there are 2 mce memory leaks: 1 at mce level (arch independent), 1 at mce_intel level (arch dependent). At c/s 22964, it free both leaks at mce_intel level, which would has problem under AMD arch. This patch fix this issue. It alloc/free poll_bankmask (arch independent) at mce level,=20 and add a notifier block at mce level to avoid xmalloc risk when irq disable. With this patch, both Intel and AMD mce works OK in a clean way. Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com> xen-unstable changeset: 23051:93c864c16ab1 xen-unstable date: Thu Mar 17 13:31:43 2011 +0000
* Update Xen version to 4.1.0-rc8-preKeir Fraser2011-03-181-1/+1
|
* Avoid endless loop for vcpu migration.Juergen Gross2011-03-181-1/+21
| | | | | | | | | | Only call SCHED_OP(pick_cpu) if a previously picked cpu is not suitable on the current iteration of the retry loop. Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com> Signed-off-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 23043:3caed2112c65 xen-unstable date: Tue Mar 15 10:14:27 2011 +0000
* Added signature for changeset 32203061c1f7Keir Fraser2011-03-161-0/+1
|
* Added tag 4.1.0-rc7 for changeset 32203061c1f7Keir Fraser2011-03-161-0/+1
|
* Update Xen version to 4.1.0-rc74.1.0-rc7Keir Fraser2011-03-162-2/+2
|
* libxl: passthrough: avoid passing through devices not owned by pcibackAllen M Kay2011-03-161-0/+25
| | | | | | | | | | | | | | This patch makes sure the passthrough device belongs to pciback before allow them passthrough to the guest. There are still many other checks missing. xm terminates the guest startup process when this type of condition is found. This patch just allows the guest to continue to boot but with no device passthrough. Signed-off-by: Allen Kay <allen.m.kay@intel.com> Acked-by: Gianni Tedesco <gianni.tedesco@citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* x86: run-time callers of map_pages_to_xen() must check for errorsJan Beulich2011-03-154-50/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | Again, (out-of-memory) errors must not cause hypervisor crashes, and hence ought to be propagated. This also adjusts the cache attribute changing loop in get_page_from_l1e() to not go through an unnecessary iteration. While this could be considered mere cleanup, it is actually a requirement for the subsequent now necessary error recovery path. Also make a few functions static, easing the check for potential callers needing adjustment. Signed-off-by: Jan Beulich <jbeulich@novell.com> xen-unstable changeset: 22997:5f28dcea1355 xen-unstable date: Wed Mar 09 16:15:36 2011 +0000 x86: don't BUG() post-boot in alloc_xen_pagetable() Instead, propagate the condition to the caller, all of which also get adjusted to check for that situation. Signed-off-by: Jan Beulich <jbeulich@novell.com> xen-unstable changeset: 22996:1eeccafe9042 xen-unstable date: Wed Mar 09 16:14:59 2011 +0000
* _csched_cpu_pick(): don't return CPUs outside vCPU's affinity maskJan Beulich2011-03-141-0/+1
| | | | | | | | | This fixes a fairly blatant bug I introduced in c/s 20377:cff23354d026 - I wonder how this went unnoticed for so long. Signed-off-by: Jan Beulich <jbeulich@novell.com> xen-unstable changeset: 23039:c40da47621d8 xen-unstable date: Mon Mar 14 17:19:22 2011 +0000
* Allow tools to map arbitrarily large machphys_mfn_list on 32bit dom0Gianni Tedesco2011-03-141-3/+1
| | | | | | | | | | | | | | | This permits suspend/resume to work with 32bit dom0/tools when system memory extends beyond 160GB (and up to 1TB). AFAICT the limit to MACH2PHYS_COMPAT_NR_ENTRIES is redundant since that refers to a limit in 32bit guest compat mappings under 64bit hypervisors, not userspace where there may be gigabytes of useful virtual space available for this. Suggested-by: Ian Campbell <Ian.Campbell@eu.citrix.com> Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com> xen-unstable changeset: 23038:39f5947b1576 xen-unstable date: Mon Mar 14 17:13:15 2011 +0000
* x86: fix cpu_sibling_map initialization when topology CPUID leaf is presentJan Beulich2011-03-141-3/+3
| | | | | | | | | | | | | | c/s 21811:12f0618400de broke this by not properly initializing struct cpuinfo_x86's x86_num_siblings member (other than Linux, where this is a global variable, it is being maintained per CPU by Xen). Hyper-threaded CPUs with CPUID leaf 0xb present had therefore all cpu_sibling_map-s with just a single bit set, thus improperly feeding the scheduler. Signed-off-by: Jan Beulich <jbeulich@novell.com> xen-unstable changeset: 23037:a29b35408950 xen-unstable date: Mon Mar 14 17:05:21 2011 +0000
* x86: add volatile prefix for cpuid asm clausesWei Gang2011-03-141-6/+6
| | | | | | | | | | | | | | | | | | cpuid results are possible to be changed now. For example, changing CR4.OSXSAVE bit or setting MSR XCR_XFEATURE_ENABLED_MASK may change XSAVE related cpuid leave return values. The volatile prefix is required to avoid the second cpuid calls following some possible changing operations being optimized in incorrect way by compiler. The sample bug is in xsave_init while debug=3Dn. The second call to cpuid_count() may be optimized and lead to a BUG_ON case while compare xsave_cntxt_size with ebx. Signed-off-by: Wei Gang <gang.wei@intel.com> xen-unstable changeset: 23036:9a15ff175e00 xen-unstable date: Mon Mar 14 17:04:42 2011 +0000
* x86_64: fix error checking in arch_set_info_guest()Tim Deegan2011-03-141-0/+5
| | | | | | | | | | Cannot specify user mode execution without specifying user-mode pagetables. Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com> Acked-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 23034:c79aae866ad8 xen-unstable date: Mon Mar 14 16:59:49 2011 +0000
* x86/HPET: fix initialization orderJan Beulich2011-03-121-2/+4
| | | | | | | | | | | | | | | At least the legacy path can enter its interrupt handler callout while initialization is still in progress - that handler checks whether ->event_handler is non-NULL, and hence all other initialization must happen before setting this field. Do the same to the MSI initialization just in case (and to keep the code in sync). Signed-off-by: Jan Beulich <jbeulich@novell.com> Acked-by: Wei Gang <gang.wei@intel.com> xen-unstable changeset: 23030:87aa1277eae0 xen-unstable date: Sat Mar 12 13:19:02 2011 +0000
* libxl: do not try to use blktap with qdiskIan Jackson2011-03-111-1/+1
| | | | | | | | | | | | libxl_device_disk_add tries to use blktap when available even for qdisk devices, this patch fixes it. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com> (cherry-picked from xen-unstable changeset a8fee4ad3ad0650e7a5cc0fb253c6a0ada1ac583)
* x86: Fix cpu offline bug: add clflush inside dead loopLiu, Jinsong2011-03-112-17/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At some platform (like Xen 7400), when hyperthreading, an offlined thread may waked spuriously up by its brother, and returning around the loop. This patch explicitly clflush the cache line in a light weight way to workaround potential issue. Unlike wbinvd, clflush is not serializing instruction, hence memory fence is necessary to make sure all load/store operation visible before flush cache line. Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com> xen-unstable changeset: 23024:fb3950888154 xen-unstable date: Fri Mar 11 17:18:53 2011 +0000 x86: Fix cache flush bug of cpu offline Current xen cpu offline logic flush cache too early, which potentially break cache coherency. wbinvd should be the last ops before cpu going into dead, otherwise cache may be dirty, i.e, something like setting an A bit on page tables. Pointed out by Arjan van de Ven. Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com> xen-unstable changeset: 23023:552c3059264e xen-unstable date: Fri Mar 11 17:18:01 2011 +0000 x86: Fix cpu offline bug: cancel SYSIO method when play dead Play dead is a fragile and tricky point of cpu offline logic. For how to play cpu dead, linux kernel changed several times: Very old kernel support 3 ways to play cpu dead: mwait, SYSIO, and halt, just like what cpuidle did when enter C3; Later, it cancel mwait and SYSIO support, only use halt to play dead; Latest linux 2.6.38 add mwait support when cpu dead. This patch cancel SYSIO method when cpu dead, keep same with latest kernel. SYSIO is an obsoleted method to enter deep C, with some tricky hardware behavior, and seldom supported in new platform. Xen experiment indicate that when cpu dead, SYSIO method would trigger unknown issue which would bring strange error. We now cancel SYSIO method when cpu dead, after all, correctness is more important than power save, and btw new platform use mwait. Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com> xen-unstable changeset: 23022:6c5e68521f1d xen-unstable date: Fri Mar 11 16:27:33 2011 +0000
* x86: Fix cpuidle bugLiu, Jinsong2011-03-101-21/+23
| | | | | | | | | | | Before invoking C3, bus master disable / flush cache should be the last step; After resume from C3, bus master enable should be the first step; Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com> Acked-by: Wei Gang <gang.wei@intel.com> xen-unstable changeset: 23020:22cc047eb146 xen-unstable date: Thu Mar 10 18:35:32 2011 +0000
* libxl: Call setsid(2) before exec'ing device modelJim Fehlig2011-03-101-0/+1
| | | | | | | | | | | | | While doing development on libvirt libxenlight driver I noticed that terminating a libxenlight client causes any qemu-dm processes that were indirectly created by the client to also terminate. Calling setsid(2) before exec'ing qemu-dm resolves the issue. Signed-off-by: Jim Fehlig <jfehlig@novell.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* update READMEStefano Stabellini2011-03-101-0/+6
| | | | | | | | | update README: we are missing few compile time dependencies and a link to the pvops kernel page on the wiki. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* xl/xm: make pci-list use same BDF format as all other commandsIan Campbell2011-03-092-10/+10
| | | | | | | | | | | In particular using the same syntax as pci-{attach,detach} uses is very helpful. (Backport from xen-unstable as 23015:1df8f9732d1d.) Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* MergeIan Jackson2011-03-091-10/+10
|\
| * x86_emulate: FPU 0xda instructions have a 32-bit memory operand, not 64-bit.Keir Fraser2011-03-081-9/+9
| | | | | | | | | | | | Signed-off-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 22993:22eb31eb688a xen-unstable date: Tue Mar 08 16:14:55 2011 +0000
| * x86_emulate: Fix emulation of FIMUL m32i.Keir Fraser2011-03-081-1/+1
| | | | | | | | | | | | | | | | Need to emit assembler instruction fimull not fimul/fimuls. Signed-off-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 22992:e93392bd6b66 xen-unstable date: Tue Mar 08 16:10:13 2011 +0000
* | # HG changeset patchStefano Stabellini2011-03-094-28/+35
|/ | | | | | | | | | | | | | | | | | | | | | | # User Stefano Stabellini <stefano.stabellini@eu.citrix.com> # Date 1299690214 0 # Node ID 0fa941c0ec45b3490d8ffa74ae0a271dfc14445e # Parent 65d26504e843420a1f3db6052464c052f83160e3 libxl: introduce flexarray_append_pair Introduce flexarray_append_pair: a simple syntactic sugar to add a pair of pointers to a flexarray, very useful when adding pairs of strings to xenstore. Replace flexarray_vappend calls (and one pair of flexarray_append) with flexarray_append_pair calls when dealing with flexarrays that are going to be used with libxl__xs_kvs_of_flexarray: NULL is a valid pointer value in these cases while flexarray_vappend uses NULL as vargs terminator, so the old code is buggy. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* blktap2: fix gap in tapdisk2 disk_type numberingShriram Rajagopalan2011-03-071-3/+3
| | | | | | | | | | | | | | | Make the DISK_TYPE_* id numbering in tapdisk-disktypes.h contiguous. Currently, id 8 is unallocated causing a null disk type entry in tapdisk_disk_drivers array in tapdisk-disktypes.c. This causes the function tapdisk_disktype_find() to return an error on encountering disk types >7 (remus:, log:, etc.). (Also applied to xen-unstable as 22987:649de04caff5.) Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca> Acked-by: Daniel Stodden <daniel.stodden@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* x86: Cache read of cpu_state in __cpu_die() for subsequent BUG_ON check.Keir Fraser2011-03-051-2/+3
| | | | | | | | | | Otherwise compiler may re-read cpu_state for the BUG_ON and see a modified value causing erroneous BUG. Signed-off-by: Keir Fraser <keir@xen.org> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com> xen-unstable changeset: 22977:bbc03993d31f xen-unstable date: Sat Mar 05 16:02:33 2011 +0000
* x86: On CPU offline, fix master waiting for slave to be fully dead.Keir Fraser2011-03-051-1/+5
| | | | | | | | | | | | | | | | On two back-to-back CPU offline operations, on second offline the cpu_state var will be CPU_STATE_DEAD from the first offline. Hence __cpu_die() will incorrectly not wait for the second slave to fully die and set cpu_state itself. The fix is to set cpu_state to a new value, CPU_STATE_DYING, earlier during CPU offline, before __cpu_die() starts to execute. Original diagnosis and patch by Liu, Jinsong <jinsong.liu@intel.com> Signed-off-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 22975:d3d29df8f082 xen-unstable date: Sat Mar 05 11:34:41 2011 +0000
* preempt: Disable preemption support for 4.1.Keir Fraser2011-03-051-0/+16
| | | | | | | | | | Preemption support is not needed for 4.1 branch as synchronous yield (via waitqueues) is not used. Furthermore there are still some unbalanced rcu_lock/unlock usages on some code paths and the stricter requirements of the preemption subsystem can cause us to BUG out on them. Signed-off-by: Keir Fraser <keir@xen.org>
* credit2: Revert debugging patch 22965:9dfd7ffcd76c for release.Keir Fraser2011-03-051-26/+0
| | | | Signed-off-by: Keir Fraser <keir@xen.org>
* Set debug=n by default.Keir Fraser2011-03-041-1/+1
| | | | Signed-off-by: Keir Fraser <keir@xen.org>
* Update QEMU_REMOTE to qemu-xen-4.1-testing.gitKeir Fraser2011-03-041-2/+2
|
* Added signature for changeset 6241fa0ad1a9Ian Jackson2011-03-041-0/+1
|
* Added tag 4.1.0-branched for changeset 6241fa0ad1a9Ian Jackson2011-03-041-0/+1
|
* Merge4.1.0-branchedIan Jackson2011-03-032-3/+5
|\
| * x86, libxc: Fix xc_translate_foreign_address() for PV guests ofKeir Fraser2011-03-032-3/+5
| | | | | | | | | | | | | | different bitness than dom0 (32-bit vs 64-bit). Original patch by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Keir Fraser <keir@xen.org>
* | tools: gtracestate: fix several problemsWei Gang2011-03-031-13/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed problems include: * previously just print out a error instead of help info while running without cmdline parameters. * -u & -n lead to Segmentation fault. * -c and then use default ranges, the default ranges is not 50us... but 50000/tsc2us.... Signed-off-by: Wei Gang <gang.wei@intel.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Keir Fraser <keir@xen.org> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* | libxc: Missed one when replacing read_exact with RDEXACT macroGeorge Dunlap2011-03-031-1/+1
| | | | | | | | | | | | | | | | This corrects an error in 21488:dd6bbdc42033. Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* | libxl: correctly initialise yylinenoIan Jackson2011-03-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes xl would read an uninitialised variable when printing error messages, resulting in things like this: /etc/xen/thing.cfg:1030057088: config parsing error near `"ws08r2-x64-2': lexical error This is because yylineno is a variable inside the scanner created by yylex_init, but it is not initialised by yylex_init. (Debian bug #616099.) On the way I discovered a lot of complication to do with the calling convention between bison and flex in reentrant parsers/scanners which use locations (Debian bug #616100) but as the above change makes the current code in xen-unstable work I don't propose to do anything else about that now in our tree. Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com> Tested-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* | xl: add "device_model_args" to pass arbitrary extra arguments to device modelIan Campbell2011-03-031-20/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The libxl support was already in place so simply plumb it through. This allows for passing debug options to the device model and provides a method to work around missing toolstack functionality. e.g. xl does not current support floppy disks but adding: device_model_args = [ "-fda", "/scratch/fdboot.img" ] allowed me to boot FreeDOS from a floppy image. I was unable to find any equivalent functionality in xend so this is a new xl feature. Moved xmalloc/xrealloc earlier to allow use from parse_config_data. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* | libxc: fix incorrect scanning of pfn array in pagebuf during migrationShriram Rajagopalan2011-03-031-4/+4
|/ | | | | | | | | | | | | | | | | | | xc_domain_restore.c:apply_batch function makes two passes over the pfn_types array in pagebuf to allocate the needed MFNs. The curbatch parameter to this function specifies the array offset in pfn_types, from where the current scan should begin. But this variable is not taken into account (index always starts at 0) during the two passes. While this [bug] does not manifest itsef during save/restore or live migration, under Remus, xc_domain_restore fails due to corrupt guest page tables. (This appears to have been broken by 21588:6c3d8aec202d which reverted two changesets from before Remus support was added and hence reintroduced some none-Remus compatible bits.) Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca> Acked-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* credit2: Add more debuggingGeorge Dunlap2011-03-031-0/+26
| | | | | Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Acked-by: Keir Fraser <keir@xen.org>
* x86: Fix cpu online/offline bug: mce memory leak.Liu, Jinsong2011-03-021-35/+57
| | | | | | | | | | | | | | | Current Xen mce logic didn't free mcabanks. This would be a memory leak when cpu offline. When repeatly do cpu online/offline, this memory leak would make xenpool shrink, and at a time point, will call alloc_heap_pages --> flush_area_mask, which ASSERT(local_irq_is_enabled()). However, cpu online is irq disable, so it finally result in Xen crash. This patch fix the memory leak bug, and tested OK over 50,000 round cpu online/offline. Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com> Signed-off-by: Keir Fraser <keir@xen.org>
* x86: Disable IRQs and do WBINVD first in play_dead().Keir Fraser2011-03-021-4/+5
| | | | | | | | | | When we advertise we are dead via cpu_exit_clear(), it is no longer safe to handle interrupts as our per-cpu vars can go away. In future, we may want to think about NMI handling in this scenario too. Signed-off-by: Keir Fraser <keir@xen.org>
* x86: Add warning comment explaining restrictions to play_dead().Shan Haitao2011-03-021-0/+9
| | | | | Signed-off-by: Shan Haitao <haitao.shan@intel.com> Signed-off-by: Keir Fraser <keir@xen.org>