aboutsummaryrefslogtreecommitdiffstats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* tools/hotplug/Linux/init.d/: create /var/run/xen if not existsFabio Fantoni2012-03-131-0/+1
| | | | | | Signed-off-by: Fabio Fantoni <fabio.fantoni@heliman.it> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* tools/python: Fix indenting in 25030:6ced0ed954d6Ian Jackson2012-03-131-2/+2
| | | | Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* tools/python: Py_INCREF(Py_None) when returing Py_NoneMarek Marczykowski2012-03-131-0/+2
| | | | | | Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* xl block-detach: allow other than numeric-decimal specification of the diskJan Beulich2012-03-133-4/+8
| | | | | | | | ... to be in sync with block-attach. And rename the function. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxl: always set a default value for VFB.openglIan Campbell2012-03-131-3/+1
| | | | | | | | | | Fixes an assertion failure. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Reported-by: Fantu <fantonifabio@tiscali.it> Tested-by: Fantu <fantonifabio@tiscali.it> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* tools, build: Fix libaio Makefile to put files in $(DESTDIR)George Dunlap2012-03-131-5/+5
| | | | | | 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>
* xenstat: Use local domain namesDaniel De Graaf2012-03-131-10/+2
| | | | | | | | | | The domain name stored in /local/domain/$domid/name is simpler to access and is the only domain name modified by "xl rename". Use this domain name in libxenstat's reporting. 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>
* libxl: fix libxl_get_cpu_topologyWei Liu2012-03-131-1/+1
| | | | | | | | | Fix upper bound of for loop, thus preventing memory corruption. Signed-off-by: Wei Liu <wei.liu2@citrix.com> 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>
* libxl: publish number of paged pages.Andres Lagar-Cavilla2012-03-132-0/+2
| | | | | | | | This is information is currently not harvested from libxc. Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* autoconf: add check for curses libraryRoger Pau Monne2012-03-138-7/+172
| | | | | | | | | | | | Check for a curses compatible library (curses or ncurses basically). One of those is needed to compile Xen tools (gtraceview and xentop). Modify Makefiles/sources to use configure output (fetch CURSES_LIBS from tools/Tools.mk and header to include from tools/config.h) 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>
* Tools: After a helper maps a ring, yank it from the guest physmapTim Deegan2012-03-082-0/+10
| | | | | | | | | This limits the ability of the guest to play around with its own rings, and DoS itself. Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Tim Deegan <tim@xen.org>
* Tools: libxc side for setting up the mem sharing ringTim Deegan2012-03-082-0/+30
| | | | | | | | This ring is used to report failed allocations in the unshare path. Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Tim Deegan <tim@xen.org>
* Use a reserved pfn in the guest address space to store mem event ringsTim Deegan2012-03-0810-77/+184
| | | | | | | | | | | | | | | | | | This solves a long-standing issue in which the pages backing these rings were pages belonging to dom0 user-space processes. Thus, if the process would die unexpectedly, Xen would keep posting events to a page now belonging to some other process. We update all API-consumers in tree (xenpaging and xen-access). This is an API/ABI change, so please speak up if it breaks your accumptions. The patch touches tools, hypervisor x86/hvm bits, and hypervisor x86/mm bits. Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Acked-by: Tim Deegan <tim@xen.org> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Tim Deegan <tim@xen.org>
* Tools: Remove shared page from mem_event/access/paging interfacesTim Deegan2012-03-087-46/+33
| | | | | | | | | | | | | | | | | | | | | | Don't use the superfluous shared page, return the event channel directly as part of the domctl struct, instead. In-tree consumers (xenpaging, xen-access) updated. This is an ABI/API change, so please voice any concerns. Known pending issues: - pager could die and its ring page could be used by some other process, yet Xen retains the mapping to it. - use a saner interface for the paging_load buffer. This change also affects the x86/mm bits in the hypervisor that process the mem_event setup domctl. Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Acked-by: Tim Deegan <tim@xen.org> Acked-by: Olaf Hering <olaf@aepfle.de> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Tim Deegan <tim@xen.org>
* 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>
* 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>
* 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>
* MergeIan Jackson2012-03-014-2/+160
|\
| * 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-012-2/+153
| | | | | | | | | | Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
| * 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>
* | 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>
* xenpaging: remove obsolete XENMEM_paging_op_resumeOlaf Hering2012-03-013-20/+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-011-3/+1
| | | | | | | | | | | 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>
| * libxl: idl: generate KeyedUnion key member as part of the KeyedUnionIan Campbell2012-03-012-2/+3
| | | | | | | | | | | | Rather than specifying it twice in the IDL. Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
| * libxl: Make IDL KeyedUnion keyvar an idl.FieldIan Campbell2012-03-014-8/+8
| | | | | | | | | | | | | | This is more logical than having keyvar_name and keyvar_type members. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
| * libxl: add libxl_domain_build_info_init_typeIan Campbell2012-03-014-9/+18
| | | | | | | | | | | | | | | | | | Use instead of parameterising libxl_domain_build_info_init. This allows callers to initialise a libxl_domain_build_info but not to commit to a particular type later on (e.g. after they've parsed the domain config) Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
| * libxl: switch device model selection over to libxl_defboolIan Campbell2012-03-015-10/+18
| | | | | | | | | | | | | | | | This allows it to be set via the _init/_setdefault methods. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> [since last v -- ERROR_INVAL on stubdomains + !traditional qemu]
| * libxl: do not explicitly initialise members of build info to zeroIan Campbell2012-03-011-7/+0
| | | | | | | | | | Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
| * libxl: Select BIOS using libxl_domain_build_info_setdefaultsIan Campbell2012-03-012-16/+27
| | | | | | | | | | | | | | | | | | Remove libxl__domain_bios -- it is no longer necessary. Also we appear to have been setting the xenstore key even for device models for PV guests -- stop doing that. Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
| * libxl: use defbool for graphics related optionsIan Campbell2012-03-016-89/+112
| | | | | | | | | | | | | | This allows them to be set via the _init/_setdefault methods. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
| * libxl: switch generation id control to libxl_defbool.Ian Campbell2012-03-015-9/+11
| | | | | | | | | | | | | | | | | | | | | | This allows it to be set via the _init/_setdefault methods. Also switch the sense of the variable in the libxl API, since once you add defbool to the mix the double negatives become even more confusing. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Cc: Paul Durrant <Paul.Durrant@citrix.com>
| * libxl: make boolean members of libxl_domain_build_info into libxl_defboolIan Campbell2012-03-018-101/+100
| | | | | | | | | | | | | | | | | | This allows them to be set via the _init/_setdefault methods. This just covers the obvious ones. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
| * libxl: make boolean members of libxl_domain_create_info into libxl_defboolIan Campbell2012-03-015-14/+17
| | | | | | | | | | | | | | This allows them to be set via the _init/_setdefault methods. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
| * libxl: add new "defbool" built in type.Ian Campbell2012-03-0111-2/+144
| | | | | | | | | | | | | | | | This type is a but like a "boolean" but with a third state "default" (so really I suppose it's a tristate). Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
| * libxl: pci: use _init/_setdefaultIan Campbell2012-03-014-2/+16
| | | | | | | | Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
| * libxl: make libxl_device_console internalIan Campbell2012-03-016-31/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | consoles are not directly exposed to users of the library and there are no API functions for manipluating them (only the console_exec function). Rather than commit to a particular API now make the type internal. When a user does come along it is much easier to add a completely new API rather than to fix an existing broken one. It's easier to do this in a manner which users of the library can cope with in a compatible way e.g. adding a new API is easier to check for with ./configure. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
| * libxl: vfb/vkb: use _init/_setdefaultIan Campbell2012-03-016-12/+30
| | | | | | | | Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
| * libxl: nic: use _init/_setdefaultIan Campbell2012-03-014-25/+40
| | | | | | | | Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
| * libxl: disk: use _init/_setdefaultIan Campbell2012-03-015-12/+20
| | | | | | | | Signed-off-by: Ian Campbell <ian.campbell@citrix.com>