aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update Xen version to 4.1.0-rc24.1.0-rc2Keir Fraser2011-01-252-2/+3
|
* x86/tsc: remove misleading printk on HVM restore path.Keir Fraser2011-01-251-5/+0
| | | | | | This warning no longer corresponds to what the code actually does. Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
* libxl, minios: stubdom console based save/restoreStefano Stabellini2011-01-216-17/+104
| | | | | | | | | | | | | | | | Add two "special" PV consoles to stubdoms that are going to be used to send and receive the qemu-xen save files on save/restore. Use the second PV console to send the qemu-xen save file and the third PV console to receive the qemu-xen save file on restore. Fix the console shutdown function free_consfront that is called when the qemu save file is closed. Stubdom save/restore is still broken with xend. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* QEMU_TAG updateIan Jackson2011-01-211-3/+3
|
* QEMU_TAG updateIan Jackson2011-01-211-3/+3
|
* tools: Change the name of the qemu save file at restore timeStefano Stabellini2011-01-215-3/+15
| | | | | | | | | Change the name of the qemu save file to qemu-resume at restore time so that it doesn't collide with the name of the next save file. 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>
* libxl: Fix for Windows UP crash on boot using xlIan Jackson2011-01-211-0/+1
| | | | | | | | | When parameter "vcpus" is not explicitly set in config file, cur_vpus is initialized to 0 instead of 1, which causes domU crash. Signed-off-by: Fengzhe Zhang <fengzhe.zhang@intel.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxl: fix free of constant string in cdrom insert pathKamala Narasimhan2011-01-211-1/+1
| | | | | | Signed-off-by: Kamala Narasimhan <kamala.narasimhan@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* MergeTim Deegan2011-01-214-3/+27
|\
| * [VTD][QUIRK] turn off Sandybridge IGD quirk by defaultKeir Fraser2011-01-211-2/+8
| | | | | | | | | | | | | | | | Turn off Sandybridge IGD quirk by default until potential issues such as MMIO register conflict with OS device driver and proper locking in preamble and postamble functions are addressed. Signed-off-by: Allen Kay <allen.m.kay@intel.com>
| * svm: migrate pirq with vcpuKeir Fraser2011-01-211-1/+1
| | | | | | | | | | | | hvm_migrate_pirqs() is missing in svm_do_resume(). Signed-off-by: Wei Wang <wei.wang2@amd.com>
| * x86:x2apic: Disable x2apic on x86-32 permanentlyKeir Fraser2011-01-211-0/+16
| | | | | | | | | | | | | | | | | | x2apic initialization on x86_32 uses vcpu pointer before it is initialized. As x2apic is unlikely to be used on x86_32, this patch disables x2apic permanently on x86_32. It also asserts the sanity of vcpu pointer before dereference to prevent further misuse. Signed-off-by: Fengzhe Zhang <fengzhe.zhang@intel.com>
| * x86_32: Assert map_domian_page() not used too early.Keir Fraser2011-01-211-0/+2
| | | | | | | | Signed-off-by: Fengzhe Zhang <fengzhe.zhang@intel.com>
* | p2m: Allow non-leaf entries to be replaced by leaf entriesGeorge Dunlap2011-01-214-16/+80
|/ | | | | | | | | | | | | | | | | | | Allow l2 and l3 p2m tables to be replaced with 2MB and 1GB pages respectively, freeing the p2m table page properly. This allows, for example, a sequence of 512 singleton zero pages to be replaced with a superpage populate-on-demand entry. Changes: * Add a p2m_free_ptp() corresponding to p2m_alloc_ptp(), which will handle everything related to the freeing properly. * Add p2m_free_entry(), based on ept_free_entry(), which will free intermediate tables recursively. * For both ept and p2m, when replacing non-leaf entries with leaf entries, keep old entry and call *_free_entry() after new entry has been written and proper flushes have been done. Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
* libxl: Make domain_shutdown fail if graceful not possibleIan Jackson2011-01-201-17/+9
| | | | | | | | | | | | | | | | | | | | Currently "xl shutdown" (like "xm shutdown") is not capable of doing the proper ACPI negotiation with an HVM no-pv-drivers guest which would be necessary for a graceful shutdown. Instead (following the ill-advised lead of "xm shutdown") it simply shoots the guest in the head. This patch changes the behaviour so that "xl shutdown" fails if the domain cannot be shut down gracefully for this reason and suggests in the error message using destroy instead. Also, check whether the PV shutdown protocol is available before we try to use it. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* QEMU_TAG updateIan Jackson2011-01-201-4/+3
|
* xend: pci.py: fix open file descriptor leakKouya Shimura2011-01-201-0/+4
| | | | | | | | I got the following error: $ xm pci-list-assignable-devices Error: [Errno 24] Too many open files Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
* libxl: do not attempt to write "shutdown" dm-commandIan Jackson2011-01-201-5/+0
| | | | | | | | | | | | | | | | | | | | | | libxl_domain_destroy writes the command "shutdown" to the xenstore node with which it communicates with qemu. However: - qemu does not understand this command and ignores it (printing a message) - libxl doesn't wait for the answer and immediately pauses the domain anyway - destroy is the ungraceful (force) operation and should not negotiate with qemu anyway - even in the graceful shutdown case, there would actually be nothing that qemu needs to do. Under some circumstances, this entry in xenstore will survive the domain's death, ie be leaked. So remove the erroneous code. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* Disable tmem by default for 4.1 release.Keir Fraser2011-01-191-1/+1
| | | | | | | | Although one major source of order>0 allocations has been removed, others still remain, so re-disable tmem until the issue can be fixed properly. Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
* x86_emulate: set the operand size for SMSW/reg writeback.Keir Fraser2011-01-191-2/+1
| | | | | | | Otherwise it defaults to 0 bytes. Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com> Signed-off-by: Keir Fraser <keir@xen.org>
* PoD,hap: Fix logdirty mode when using hardware assisted pagingGeorge Dunlap2011-01-171-7/+18
| | | | | | | | | | | | | When writing a writable p2m entry for a pfn, we need to mark the pfn dirty to avoid corruption when doing live migration. Marking the page dirty exposes another issue, where there are excessive sweeps for zero pages if there's a mismatch between PoD entries and cache entries. Only sweep for zero pages if we actually need more memory. Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Acked-by: Tim Deegan <Tim.Deegan@citrix.com>
* PoD: Allow pod_set_cache_target hypercall to be preemptedGeorge Dunlap2011-01-174-13/+36
| | | | | | | | For very large VMs, setting the cache target can take long enough that dom0 complains of soft lockups. Allow the hypercall to be preempted. Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Acked-by: Tim Deegan <Tim.Deegan@citrix.com>
* xend: improve psudeo-bootloader support for external block scriptsJim Fehlig2011-01-182-9/+21
| | | | | | | | | | | | | | | | | Userspace tools support external block scripts (e.g. block-drbd provided by drbd project). The psuedo-bootloader setup code in xend has a few limitations wrt external block scripts, which this patch addresses. blkif.py: parse_uname() utility function should be able to parse a disk specifier understood by the rest of the tools. XendDomainInfo.py: Block devices using external block scripts must be attached to dom0 before running the psuedo-bootloader. Signed-off-by: Jim Fehlig <jfehlig@novell.com> Tested-by: Shriram Rajagopalan <rshriram@gmail.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* xend: drbd: Revert 19444:152257350930Jim Fehlig2011-01-181-1/+1
| | | | | | | | | Remove some more "drbd" cruft from xend. This is not necessary for drbd to work with Xen. Requested-by: Jim Fehlig <jfehlig@novell.com> Tested-by: Shriram Rajagopalan <rshriram@gmail.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* VT-d/ATS: misc fixesJan Beulich2011-01-181-17/+38
| | | | | | | | | | | First of all there were three places potentially de-referencing NULL (two after an allocation failure, and one after a failed lookup). Second, if ATS_ENABLE was already set, the device would not have got added to the ats_devices list, potentially resulting in dev_invalidate_iotlb() doing an incomplete job. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* xen-unstable/blkif: Add trim operation interfaceKeir Fraser2011-01-181-0/+34
| | | | | | | | | | | | | | | | Trim operation is a request for the underlying block device to mark extents to be erased. Add the operation code and ring data structure to the public header file. Trim operations are passed with sector_number as the sector index to begin trim operations at and nr_sectors as the number of sectors to be trimmed. The specified sectors should be trimmed if the underlying block device supports trim operations, or a BLKIF_RSP_EOPNOTSUPP should be returned. More information about trim operations at; http://t13.org/Documents/UploadedDocuments/docs2008/ e07154r6-Data_Set_Management_Proposal_for_ATA-ACS2.doc Signed-off-by: Owen Smith <owen.smith@citrix.com>
* xen: fix XEN_DOMCTL_memory_mapping to not return with domain RCU lock heldKeir Fraser2011-01-181-4/+4
| | | | | | Broken in 20358:ecc649ec3675 Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
* xen: stringify assertion condition for printing sooner.Keir Fraser2011-01-182-3/+3
| | | | | | | | | | | | | So that: (XEN) Assertion '!(((*({ unsigned long __ptr; __asm__ ("" : "=r"(__ptr) : "0"(&per_cpu____preempt_count)); (typeof(&per_cpu____preempt_count)) (__ptr + (get_cpu_info()->per_cpu_offset)); }))) || ((irq_stat[(((get_cpu_info()->processor_id)1... becomes: (XEN) Assertion '"!in_atomic()"' failed at softirq.c:61 Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
* tools/hotplug/Linux: allow hardlinked files for block device imagesOlaf Hering2011-01-171-2/+2
| | | | | | | | | | | | | | | | | | | tools/hotplug/Linux/block change for this losetup -a output: (inode 12 is listed twice due to hardlinks) /dev/loop0: [0809]:139267 (/abuild/vdisk-sles11_2-disk0) /dev/loop1: [0809]:139266 (/abuild/vdisk-sles11_1-disk1) /dev/loop3: [0809]:139267 (/abuild/vdisk-sles11_2-disk0) /dev/loop5: [0809]:139273 (/abuild/vdisk-sles11_5-disk1) /dev/loop8: [0809]:12 (/abuild/bootiso-xenpaging-sles11_5.iso) /dev/loop10: [0809]:12 (/abuild/bootiso-xenpaging-sles11_4.iso) /dev/loop11: [0809]:139271 (/abuild/vdisk-sles11_4-disk0) Without this change, $dev would contain /dev/loop8\n/dev/loop10 Applies to 4.0 and 4.1 Signed-off-by: Olaf Hering <olaf@aepfle.de> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
* Config.mk: commented-out CONFIG_QEMU example now uses XEN_ROOTIan Jackson2011-01-171-1/+1
| | | | | | | | If you actually set it to a relative path, the qemu build breaks. So this commented-out rune (an example) should arrange to be absolute. Reported-by: M A Young <m.a.young@durham.ac.uk> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* tools/hotplug/Linux: start xen daemons in runlevel 2.Ian Campbell2011-01-171-2/+2
| | | | | | | | | | | | | This is the default runlevel on a Debian system. In addition update-rc.d complains: update-rc.d: warning: xencommons stop runlevel arguments (0 1 6) do not match LSB Default-Stop values (1) and it seems reasonable to stop the daemons during shutdown or reboot so make that change as well. Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
* libxl: fix gfx_passthrough config option (including dropped hunk)Sergey Tovpeko2011-01-172-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the missing hunk from 22711:4f6fee3a456e (fixed up for intervening movement of dm info) to actually pass the -gfx_passthru argument to qemu. Also change the idl comment for the gfx_passthrough config setting to that from Sergey. Author: Sergey Tovpeko <tovpeko@altell.ru> Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com> diff -r c281e9c58146 -r 9108ce3fc62c tools/libxl/libxl.idl --- a/tools/libxl/libxl.idl Mon Jan 17 17:31:24 2011 +0000 +++ b/tools/libxl/libxl.idl Mon Jan 17 17:43:22 2011 +0000 @@ -152,7 +152,7 @@ libxl_device_model_info = Struct("device ("sdl", bool, False, "sdl enabled or disabled"), ("opengl", bool, False, "opengl enabled or disabled (if enabled requires sdl enabled)"), ("nographic", bool, False, "no graphics, use serial port"), - ("gfx_passthru", bool, False, "disable qemu graphics for PCI passthru of GPU from host"), + ("gfx_passthru", bool, False, "graphics passthrough enabled or disabled"), ("serial", string, False, "serial port re-direct to pty deivce"), ("boot", string, False, "boot order, for example dca"), ("usb", bool, False, "usb support enabled or disabled"), diff -r c281e9c58146 -r 9108ce3fc62c tools/libxl/xl_cmdimpl.c --- a/tools/libxl/xl_cmdimpl.c Mon Jan 17 17:31:24 2011 +0000 +++ b/tools/libxl/xl_cmdimpl.c Mon Jan 17 17:43:22 2011 +0000 @@ -682,6 +682,9 @@ static void parse_config_data(const char b_info->video_memkb = l * 1024; xlu_cfg_replace_string (config, "kernel", &b_info->kernel.path); + + if (!xlu_cfg_get_long (config, "gfx_passthru", &l)) + b_info->gfx_passthru = l; if (c_info->hvm == 1) { if (!xlu_cfg_get_long (config, "pae", &l))
* tools/hotplug/NetBSD: update netbsd scripts (interface names)Christoph Egger2011-01-172-2/+2
| | | | | | | | | | | | | | sysctl fail due to the '.' in the interface name: Jan 10 00:02:26 paris /netbsd: xvif108.0: could not attach sysctl nodes Jan 10 00:02:57 paris /netbsd: sysctl_createv: sysctl_create(xvif108.0) returned 22 The kernel driver have recently been fixed and attached patch updates to the hotplug scripts accordingly. Signed-off-by: Christoph Egger <Christoph.Egger@amd.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxc: Remove set_max_grants in linuxDaniel De Graaf2011-01-172-14/+2
| | | | | | | | | The maximum number of grants is now constrained domain-wide in linux, so set_max_grants should be a noop there. Previously, this constraint was per-file-description. Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* MergeIan Jackson2011-01-1726-204/+387
|\
| * rcupdate: Make rcu_barrier() more paranoia-proofKeir Fraser2011-01-141-5/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm not sure my original barrier function is correct. It may allow a CPU to exit the barrier loop, with no local work to do, while RCU work is pending on other CPUs and needing one or more quiescent periods to flush the work through. Although rcu_pending() may handle this, it is easiest to follow Linux's example and simply call_rcu() a callback function on every CPU. When the callback has executed on every CPU, we know that all previously-queued RCU work is completed, and we can exit the barrier. Signed-off-by: Keir Fraser <keir@xen.org>
| * PoD: Fix two code commentsLiu, Jinsong2011-01-142-3/+4
| | | | | | | | | | Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com> Acked-by: George Dunlap <george.dunlap@citrix.com>
| * hvmloader: Fixes to printf() implementation.Keir Fraser2011-01-141-16/+27
| | | | | | | | | | | | | | | | | | | | | | 1. Remove unportable O and D format specifiers 2. Fix X format specifier to print upper-case hex characters 3. Fix d format specifier to print -ve numbers 4. Fix handling of int vs. long (although not actually an issue for the i386 compile target) 5. Don't use the antiquated C 'register' type attribute. Signed-off-by: Keir Fraser <keir@xen.org>
| * x86 hvm: Do not check-and-fail on in_atomic() in hvm_copy().Keir Fraser2011-01-141-0/+9
| | | | | | | | | | | | | | | | | | | | Stub this out for 4.0, as PV-on-HVM drivers hit this case when performing grant-table hypercalls. Grant-table code currently accesses guest memory under bug per-domain lock. The test in hvm_copy() is not necessary until the xenpaging implementation is more complete, which will not now be until after 4.1.0. Signed-off-by: Keir Fraser <keir@xen.org>
| * x86-64: pci_probe must be residentJan Beulich2011-01-141-1/+1
| | | | | | | | | | | | ... now that we reference it from emulate_privileged_op(). Signed-off-by: Jan Beulich <jbeulich@novell.com>
| * libxc: build fix with debugging disabled.Ian Campbell2011-01-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently hypercalls have only 5 arguments, hypercall->arg[0..4]. Do not try and print arg[5] else: cc1: warnings being treated as errors xenctrl_osdep_ENOSYS.c: In function 'ENOSYS_privcmd_hypercall': xenctrl_osdep_ENOSYS.c:30: error: array subscript is above array bounds Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
| * x86: On CPU online/offline from dom0, try flushing RCU work on EBUSY.Keir Fraser2011-01-142-18/+40
| | | | | | | | | | | | | | | | | | Although the caller should react appropriately to EBUSY, if the error is due to pending RCU work then we can help things along by executing rcu_barrier() and then retrying. To this end, this changeset is an optimisation only. Signed-off-by: Keir Fraser <keir@xen.org>
| * x86 acpi: Fix crash in enable_nonboot_cpus() on wakeup from S3/S4Keir Fraser2011-01-141-0/+1
| | | | | | | | | | | | | | | | | | Bringing a CPU back online can require RCU work to be flushed, because the per-cpu data from last time the CPU was online may not yet be deallocated. Use the new rcu_barrier() interface function to achieve this. Signed-off-by: Keir Fraser <keir@xen.org>
| * rcupdate: Implement rcu_barrier() to synchronously flush RCU work.Keir Fraser2011-01-142-0/+27
| | | | | | | | Signed-off-by: Keir Fraser <keir@xen.org>
| * stop_machine: Allow specified function to run on all CPUs.Keir Fraser2011-01-142-4/+13
| | | | | | | | Signed-off-by: Keir Fraser <keir@xen.org>
| * x86 sysctl: Remove unused CPU hotplug status stuff.Keir Fraser2011-01-142-32/+1
| | | | | | | | Signed-off-by: Keir Fraser <keir@xen.org>
| * tools/misc/xen-hptool: Silently retry on CPU hotplug EBUSY failure.Keir Fraser2011-01-141-2/+17
| | | | | | | | | | | | | | | | EBUSY is a legitimate soft failure, due to inability to acquire a lock, or because RCU work has not been done since a CPU was last offlined. Signed-off-by: Keir Fraser <keir@xen.org>
| * cpu hotplug: Core functions are quiet on failure.Keir Fraser2011-01-143-4/+10
| | | | | | | | | | | | | | | | | | | | | | This was already inconsistent, so make them consistently quiet and leave it to callers to log an error. Add suitable error logging to the arch-specific CPU bringup loops, In particular this avoids printing error on EBUSY, in which case caller may want a silent retry loop. Signed-off-by: Keir Fraser <keir@xen.org>
| * x86 fpu: Code clean up. Eliminate per-cpu xsave init verbosity.Keir Fraser2011-01-144-91/+80
| | | | | | | | Signed-off-by: Keir Fraser <keir@xen.org>
| * x86: Avoid calling xsave_alloc_save_area before xsave_initKeir Fraser2011-01-142-33/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, xsave_alloc_save_area will be called in init_idle_domain->scheduler_init->alloc_vcpu->vcpu_initialise calls with xsave_cntxt_size=0, it is earlier than xsave_init called in identity_cpu(). This may causing buffer overflow on xmem_pool. Idle domain isn't using FPU,SSE,AVX or any such extended state and doesn't need it saved. xsave_{alloc,free}_save_area() should test-and-exit on is_idle_vcpu(), and our context switch code should not be doing XSAVE when switching out an idle vcpu. Signed-off-by: Wei Gang <gang.wei@intel.com> Signed-off-by: Keir Fraser <keir@xen.org>