aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* x86: Make sure log-dirty is turned off before trying to dismantle itGeorge Dunlap2012-03-081-0/+4
| | | | | Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Committed-by: Keir Fraser <keir@xen.org>
* hvm: Add command line option to enable ASID support -- on by defaultGeorge Dunlap2012-03-081-1/+5
| | | | | Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Signed-off-by: Keir Fraser <keir@xen.org>
* Low mem virq incremental adjustmentsAndres Lagar-Cavilla2012-03-082-2/+6
| | | | | | | | | | Consider tmem before firing the virq. Add .gitignore rune. Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Acked-by: Dan Magenheimer <dan.magenheimer@oracle.com> Committed-by: Keir Fraser <keir@xen.org>
* provide a single, common implementation for get_order_from_{bytes,pages}()Jan Beulich2012-03-074-55/+22
| | | | | | | | | All three per-architecture implementations were identical, and I cannot see how future architectures would need any sort of customization here (the only per-architecture aspect here is the actual PAGE_SHIFT value). Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* passthrough: fix domain ref leak after 24888:71159fb049f2Jan Beulich2012-03-071-0/+2
| | | | | | | As pointed out by Keir. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* Revert 24973:50a70b652b43 "x86: Use deep C states for off-lined CPUs"Keir Fraser2012-03-071-18/+0
| | | | | | applied already Signed-off-by: Keir Fraser <keir@xen.org>
* DOCS: Initial document regarding Xen's command line parametersAndrew Cooper2012-03-071-0/+399
| | | | | | | | | | | Still a work in progress, but submitted as a start. Changes since v1: - Include all up to date information from the wiki. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Keir Fraser <keir@xen.org>
* build: Don't remove user-supplied xen-version during make cleanGeorge Dunlap2012-03-071-1/+1
| | | | | | | | | | | | xen/Makefile is designed to allow the user to supply a file named xen/xen-include to change the format of xen version strings. Unfortunately, "make clean" removes xen/xen*, which will remove this file. Make the clean process more targeted. Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Committed-by: Keir Fraser <keir@xen.org>
* build: Add xenversion as a top-level targetGeorge Dunlap2012-03-071-0/+3
| | | | | | | | We already have xenversion as a target in the xen subdirectory; simply extend it so that "make xenversion" does what you'd expect. Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Committed-by: Keir Fraser <keir@xen.org>
* RTC: Add alarm supportYang Zhang2012-03-072-2/+216
| | | | | | | | Use a timer to emulate update cycle. The timer runs only when AIE is set. Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com> Committed-by: Keir Fraser <keir@xen.org>
* RTC: Add RTC update-ended interrupt supportYang Zhang2012-03-072-2/+107
| | | | | | | | Use a timer to emulate update cycle. When update cycle ended and UIE is set, raise an interrupt. The timer runs only when AF is cleared. Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com> Committed-by: Keir Fraser <keir@xen.org>
* RTC: Add UIP(update in progress) check logicYang Zhang2012-03-073-0/+28
| | | | | | | | The UIP(update in progress) is set when RTC is in updating. And the update cycle begins 244us later after UIP is set. Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com> Committed-by: Keir Fraser <keir@xen.org>
* RTC: fix 12-hour modeYang Zhang2012-03-071-4/+16
| | | | | | | Hours in 12-hour mode are in the 1-12 range, not 0-11. Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com> Committed-by: Keir Fraser <keir@xen.org>
* RTC: use offset to caculate rtc clockYang Zhang2012-03-072-165/+17
| | | | | | | | There has no need to run two periodic timer to update RTC time. Use the offset instead. Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com> Committed-by: Keir Fraser <keir@xen.org>
* x86: Use deep C states for off-lined CPUsBoris Ostrovsky2012-03-071-0/+18
| | | | | | | | | Currently when a core is taken off-line it is placed in C1 state (unless MONITOR/MWAIT is used). This patch allows a core to go to deeper C states resulting in significantly higher power savings. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@amd.com> Committed-by: Keir Fraser <keir@xen.org>
* Add gtags target for xen/Makefile. Also update .hgignore.Wei Liu2012-03-072-3/+9
| | | | | Signed-off-by: Wei Liu <wei.liu2@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
* x86/xenoprof: fix 32-bit guest stack handling after c/s 24537:3c0a533d3af0Jan Beulich2012-03-061-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>
* x86/cpuidle: deny access to the I/O port used for EM_SYSIOJan Beulich2012-03-061-0/+4
| | | | | | | Nothing, not even Dom0, should fiddle with this. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* x86/cpuidle: restrict scope of mwait_ptr in acpi_dead_idle()Jan Beulich2012-03-061-3/+2
| | | | | | | | ... just to make sure it doesn't get used improperly (resulting from the discussion around what became c/s 24968:8964c223836c). Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* x86: Use deep C states for off-lined CPUsBoris Ostrovsky2012-03-061-0/+17
| | | | | | | | | Currently when a core is taken off-line it is placed in C1 state (unless MONITOR/MWAIT is used). This patch allows a core to go to deeper C states resulting in significantly higher power savings. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@amd.com> Committed-by: Jan Beulich <jbeulich@suse.com>
* libxl: only set b_info->u.hvm.bios if type if HVMIan Campbell2012-03-021-17/+23
| | | | | | | | | | | This fixes a PV guest breakage causes by 24932:6eac4a1ee646 "libxl: Select BIOS using libxl_domain_build_info_setdefaults". I have also included a sanity check on b_info->type. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* QEMU_TAG updateIan Jackson2012-03-011-3/+3
|
* add new bootloader xenpvnetboot for pv guestZhigang Wang2012-03-012-1/+294
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `xenpvnetboot' supports getting boot images from following locations: - http://host/path - https://host/path - ftp://host/path - file:///path - tftp://host/path - nfs:host:/path - /path - /path/file.iso - /path/filesystem.img - /dev/sda1 - nfs+iso:host:/path/file.iso - nfs+iso:host:/path/filesystem.img To use it, make `xenpvnetboot' as bootloader for PV guest:: bootloader = '/usr/bin/xenpvnetboot' To get boot images from various locations, set the right bootloader arguments, e.g.: bootloarder_args = ['--location=http://192.168.0.1/fedora/x86_64'] bootloarder_args = ['--location=ftp://192.168.0.1/fedora/x86_64'] bootloarder_args = ['--location=file:///fedora/x86_64'] bootloarder_args = ['--location=tftp://192.168.0.1/fedora/x86_64'] bootloarder_args = ['--location=/fedora/x86_64'] bootloarder_args = ['--location=/fedora/Fedora-16-x86_64-DVD.iso'] bootloarder_args = ['--location=nfs:192.168.0.1:/fedora/x86_64'] bootloarder_args = ['--location=nfs+iso:192.168.0.1:/fedora/Fedora-16-x86_64-DVD.iso'] You can use `kernel' and `ramdisk' to specify the relative path of boot kernel and ramdisk. `xenpvnetboot' will join them with the location to find the boot kernel and ramdisk, e.g.: kernel = 'images/pxeboot/vmlinuz' ramdisk = 'images/pxeboot/initrd.img' bootloarder_args = ['--location=http://192.168.0.1/fedora/x86_64'] kernel = 'fedora/x86_64/images/pxeboot/vmlinuz' ramdisk = 'fedora/x86_64/images/pxeboot/initrd.img' bootloarder_args = ['--location=http://192.168.0.1/'] You can also omit the `--location' option and specify the full URL for `kernel' and `ramdisk' directly, e.g.: kernel = 'http://192.168.0.1/fedora/x86_64/images/pxeboot/vmlinuz' ramdisk = 'http://192.168.0.1/fedora/x86_64/images/pxeboot/initrd.img' If only `--location' is specified and `kernel' and `ramdisk' are not specified, `xenpvnetboot' will search the following places for boot images from the location:: ('images/xen/vmlinuz', 'images/xen/initrd.img'), # Fedora <= 10 and OL = 5 ('boot/i386/vmlinuz-xen', 'boot/i386/initrd-xen'), # openSUSE >= 10.2 and SLES >= 10 ('boot/x86_64/vmlinuz-xen', 'boot/x86_64/initrd-xen'), # openSUSE >= 10.2 and SLES >= 10 ('current/images/netboot/xen/vmlinuz', 'current/images/netboot/xen/initrd.gz'), # Debian ('images/pxeboot/vmlinuz', 'images/pxeboot/initrd.img'), # Fedora >=10 and OL >= 6 ('isolinux/vmlinuz', 'isolinux/initrd.img'), # Fedora >= 10 and OL >= 6 `xenpvnetboot' requires python module `urlgrabber' http://urlgrabber.baseurl.org/. Signed-off-by: Zhigang Wang <zhigang.x.wang@oracle.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* xenstore: Portability: do not build init-xenstore-domain if stubdom disabledChristoph Egger2012-03-011-1/+2
| | | | | | | | Build stubxenstore only when building stubdomains. Fixes build failure on platforms w/o the relevant ioctl. Signed-off-by: Christoph Egger <Christoph.Egger@amd.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxl: Implement libxl_sched_credit_param_[gs]etGeorge Dunlap2012-03-013-0/+70
| | | | | | | | Implement functions to set credit scheduler global parameters. 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>
* arm: compile libxcStefano Stabellini2012-03-015-0/+174
| | | | | | | | | | Introduce an empty implementation of the arch specific ARM functions in xc_core_arm.c and xc_core_arm.h; define barriers on ARM. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
* arm: add stub hvm/save.hStefano Stabellini2012-03-012-0/+41
| | | | | | | | From: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Jackson <ian.jackson.citrix.com> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
* tools: fix python version checking issueYongjie Ren2012-03-012-2/+2
| | | | | | | | | | | | | | | | | Even if python version is 2.4.3 which is newer than the required version 2.3, the configure script still raises a version issue. I tested my patch with python 2.6.6 and 2.4.3. It will fix a syntax error like the following. checking for python version >= 2.3 ... Traceback (most recent call last): File "<string>", line 1, in ? TypeError: 'str' object is not callable no configure: error: Python 2.4.3 is too old, minimum required version is 2.3 Signed-off-by: Yongjie Ren <yongjie.ren@intel.com> Acked-by: Roger Pau Monne <roger.pau@entel.upc.edu> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* build: autoconf: fix libdir detectionRoger Pau Monne2012-03-012-9/+27
| | | | | | | | | | | | | | | If user specifies a libdir it is used, if no libdir is specified configure checks if $exec_prefix/lib64 is a directory and uses that, if not lib is used. $prefix is set by passing the command line option or by default when calling AC_OUTPUT, but since AC_OUTPUT is called at the end, this is not really helpful, so we have to set $exec_prefix manually to the correct value, either $prefix if different than NONE or $ac_default_prefix. Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* docs: xen-headers: Remove hard tabsIan Jackson2012-03-011-115/+115
| | | | | | | | | Remove hard tabs from the Perl script. Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com> Cc: Ian Campbell <Ian.Campbell@citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
* docs: xen-headers: Annotate typedefsIan Jackson2012-03-012-15/+49
| | | | | | | | | | | | Parse (some) typedef statements. (Make type names links to the underlying struct if there is one, rather than to just the typedef.) Also, exclude the new arch-arm headers. Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com> Cc: Ian Campbell <Ian.Campbell@citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
* MergeIan Jackson2012-03-0111-13/+288
|\
| * lowmemd: Fix build when xs.h has not been previously installed.Keir Fraser2012-03-011-0/+1
| | | | | | | | Signed-off-by: Keir Fraser <keir@xen.org>
| * Lowmemd: Simple demo code to show use of VIRQ_ENOMEMAndres Lagar-Cavilla2012-03-013-2/+154
| | | | | | | | | | Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
| * Global virq for low memory situationsAndres Lagar-Cavilla2012-03-012-0/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a low memory threshold on the Xen heap is reached, we fire a global dom0 virq. If someone's listening, they can free up some more memory. The low threshold is configurable via the command line token 'low_mem_virq_limit", and defaults to 64MiB. If the user specifies zero via the command line, the virq is disabled. We define a new virq VIRQ_ENOMEM. Potential listeners include squeezed, xenballoond, or anything else that can be fired through xencommons. We error-check the low mem virq against initial available heap (after dom0 allocation), to avoid firing immediately. Virq issuing is controlled by a hysteresis algorithm: when memory dips below a threshold, the virq is issued and the next virq will fire when memory shrinks another order of magnitude. The virq will not fire again in the current "band" until memory grows over the next higher order of magnitude. Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Committed-by: Keir Fraser <keir@xen.org>
| * Grant table: fix a bug when grant copying a previous grant mapped page.Wei Liu2012-03-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | In grant table version 2, when we create a non-transitive mapping from DomU to Dom0, we need to set active entry's trans_domain and trans_ref. Otherwise when we grant copy from this previous mapped ref, preemption count will get messed up. See changeset 22994:299ed79acecf for more information. Signed-off-by: Wei Liu <wei.liu2@citrix.com> Committed-by: Keir Fraser <keir@xen.org>
| * amd iommu: Introduce a new lock for event and ppr loggingWei Wang2012-03-012-8/+11
| | | | | | | | | | | | | | | | | | | | iommu->lock is used with irq disabled, so it cannot be used to protect ppr log. Otherwise, after c/s 24770, get_gfn will trigger a BUG() if called by parse_ppr_log_entry(). This patch adds an additional lock to protect ppr and event pointers in iommu_read_log(). signed-off-by: Wei Wang <wei.wang2@amd.com> Committed-by: Keir Fraser <keir@xen.org>
| * x86,tools/libxc: expose HLE/RTM features to pv and hvmLiu, Jinsong2012-03-012-0/+6
| | | | | | | | | | | | | | | | | | Intel recently release 2 new features, HLE and TRM. Refer to http://software.intel.com/file/41417. This patch expose them to pv and hvm Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com> Committed-by: Keir Fraser <keir@xen.org>
| * hvm: correct RTC time offset update error due to tm->tm_yearAnnie Li2012-03-011-3/+5
| | | | | | | | | | | | | | | | | | tm->tm_year in rtc.c is year number offsetting from 1900. So it is necessary to add the offset 1900 when calling mktime funtion in Xen. Otherwise, the calculation result of mktime is incorrect. Signed-off-by: Annie Li <annie.li@oracle.com> Committed-by: Keir Fraser <keir@xen.org>
* | build: autoconf: remove (yet another) brctl leftoverRoger Pau Monne2012-03-011-1/+0
| | | | | | | | | | | | Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* | build: autoconf: remove python xml checkRoger Pau Monne2012-03-013-26/+0
|/ | | | | | | | | Remove the xml module check from autoconf and move it to xend init script (in a later patch), since it's a run time dependency. Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* build: autoconf: remove ip checkRoger Pau Monne2012-03-012-51/+0
| | | | | | | | ip is a run-time dependency, and it is not needed to build Xen tools. Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* hcall: markup the event channel hypercalls to improve generated docsIan Campbell2012-03-012-27/+57
| | | | | | | | | | As part of this I looked through the relevant chapter from interfaces.tex (from 4.1, deleted in unstable) to ensure no critical information was missing. Signed-off-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>
* xenpaging: remove obsolete XENMEM_paging_op_resumeOlaf Hering2012-03-015-28/+1
| | | | | | | | | | | | | | | | | | | | With changeset 24364:0964341efd65 an event channel based notification of new responses in the ringbuffer is implemented. This makes the memevent interface obsolete. Currently a call to p2m_mem_paging_resume() is triggered twice by xenpaging, once per memevent and once per even channel. In practice this double call does not lead to issues because p2m_mem_paging_resume() processes only available events. xenpaging used the event channel notification since the beginning, but it was a no-op until changeset mentioned above. This change removes the unneeded XENMEM_paging_op_resume functionality. Pagers are notified via an event channel of new requests, and now they are required to notify the hypervisor about their responses also with an event channel. Signed-off-by: Olaf Hering <olaf@aepfle.de> Acked-by: Tim Deegan <tim@xen.org> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* build: rerun autoconfIan Jackson2012-03-011-25/+1
| | | | | | | 24942:d70b4a1155e3 contains changes to configure.in and thus we need to rerun autogen.sh. Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* build: remove hypervisor-only configuration from tools/configureDaniel De Graaf2012-03-013-7/+5
| | | | | | | | | | | When adding autoconf support, the configuration options for XSM and FLASK_ENABLE were incorrectly removed from Config.mk and added to the tools configuration. Since these are hypervisor configuration options, they should not depend on running tools configuration. Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxc: add MMIO hole size parameter to xc_hvm_build()David Vrabel2012-03-012-11/+19
| | | | | | | | | | | | | | | | | Add a parameter for the MMIO hole size when building a HVM domain. This is useful for specifying a larger than normal MMIO hole to ensure that no PCIe device's MMIO region overlaps with RAM in a guest's physical address space. This is needed on certain systems with PCIe switches with a broken ACS capability. On these systems, if a device downstream of the switch attempts a DMA to a guest physical address that overlaps with the MMIO region of another downstream device, then the switch routes the transfer directly to the device and the read or write never hits RAM. Signed-off-by: David Vrabel <david.vrabel@citrix.com> Acked-by: George Dunlap <george.dunlap@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxc: pass arguments to xc_hvm_build() in a structureDavid Vrabel2012-03-014-104/+62
| | | | | | | | | | | | | | | To allow new parameters to be added to the xc_hvm_build*() family of functions, pass them in a structure. Make the other variants fill in the structure and call xc_hvm_build() (except for xc_hvm_build_mem() which had no users and is removed). The units of the mem_size and mem_target arguments are in bytes (not MiB like the old functions). Signed-off-by: David Vrabel <david.vrabel@citrix.com> Acked-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>
* MergeIan Jackson2012-03-0126-537/+1021
|\
| * libxl: autogenerate libxl_FOO_init and libxl_FOO_init_FIELDIan Campbell2012-03-0110-83/+173
| | | | | | | | Signed-off-by: Ian Campbell <ian.campbell@citrix.com>