Ian Jackson [Mon, 18 Oct 2010 16:28:02 +0000 (17:28 +0100)]
QEMU_TAG update
Ian Campbell [Mon, 18 Oct 2010 16:17:25 +0000 (17:17 +0100)]
libxc: add xc_maximum_ram_page to wrap XENMEM_maximum_ram_page
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Campbell [Mon, 18 Oct 2010 16:16:59 +0000 (17:16 +0100)]
libxc: add xc_machphys_mfn_list to wrap XENMEM_machphys_mfn_list
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Campbell [Mon, 18 Oct 2010 16:16:13 +0000 (17:16 +0100)]
libxc: add xc_domain_maximum_gpfn to wrap XENMEM_maximum_gpfn
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Campbell [Mon, 18 Oct 2010 16:15:26 +0000 (17:15 +0100)]
libxc: add xc_domain_add_to_physmap to wrap XENMEM_add_to_physmap
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Campbell [Mon, 18 Oct 2010 16:14:07 +0000 (17:14 +0100)]
libxc: add xc_domain_memory_exchange_pages to wrap XENMEM_exchange
Generalised from exchange_page in xc_offline_page.c
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Campbell [Mon, 18 Oct 2010 15:54:42 +0000 (16:54 +0100)]
libxc: wrappers for XENMEM {increase,decrease}_reservation and populate_physmap
Currently the wrappers for these hypercalls swallow partial success
and return failure to the caller.
In order to use these functions more widely instead of open-coding
uses of XENMEM_* and xc_memory_op add variants which return the actual
hypercall result.
Therefore add the following functions:
xc_domain_increase_reservation
xc_domain_decrease_reservation
xc_domain_populate_physmap
and implement the existing semantics using these new functions as
xc_domain_increase_reservation_exact
xc_domain_decrease_reservation_exact
xc_domain_populate_physmap_exact
replacing the existing xc_domain_memory_* functions.
Use these new functions to replace all open coded uses of
XENMEM_increase_reservation, XENMEM_decrease_reservation and
XENMEM_populate_physmap.
Also rename xc_domain_memory_*_pod_target to xc_domain_*_pod_target
for consistency.
Temporarily add a compatibility macro for
xc_domain_memory_populate_physmap to allow time for qemu to catch up.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Campbell [Mon, 18 Oct 2010 15:53:04 +0000 (16:53 +0100)]
libxc: use correct size of struct xen_mc
We want the size of the struct not the pointer (although rounding up
to page size in lock_pages probably saves us).
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Campbell [Mon, 18 Oct 2010 15:52:37 +0000 (16:52 +0100)]
libxc: remove unnecessary double indirection from xc_readconsolering
The double indirection has been unnecessary since 9867:
ec61a8c25429,
there is no possibility of the buffer being reallocated now.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Campbell [Mon, 18 Oct 2010 15:43:58 +0000 (16:43 +0100)]
libxc: pass an xc_interface handle to page locking functions
Not actually used here but useful to confirm that a handle is passed
down to each location where it will be required once we switch to
hypercall buffers.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Campbell [Mon, 18 Oct 2010 15:43:15 +0000 (16:43 +0100)]
libxc: flask: use (un)lock pages rather than open coding m(un)lock.
Allows us to do away with safe_unlock and merge into unlock_pages.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Keir Fraser [Mon, 18 Oct 2010 10:31:47 +0000 (11:31 +0100)]
x86/msi: fix inverted masks in c/s 22182:
68cc3c514a0a
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Mon, 18 Oct 2010 10:30:10 +0000 (11:30 +0100)]
x86 guest pagetable walker: check for invalid bits in pagetable
entries.
Some bits are reserved in x86 pagetable entries and must be zero; the
MMU should raise a pagefault if it sees them, with bit 3 set in the
error code. Xen's software pagetable walker hasn't been doing this,
which has been OK because no guest OSes actually have invalid bits set
except in error cases where things are already very wrong.
Xen's shadow pagetable code deliberately sets these bits as part of
the not-present-entry fast path, so if we're to support
shadow-on-shadow nested HVM, we need to start checking them.
Signed-off-by: Tim Deeegan <Tim.Deegan@citrix.com>
Gianni Tedesco [Thu, 14 Oct 2010 11:46:29 +0000 (12:46 +0100)]
pyxl: fix build of python xl binding for python < 2.5
The python C API introduced Py_ssize_t in version 2.5. Prior to this
int's were used instead. Fix the build by way of a heinous preprocessor
macro.
Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
committer: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Ian Campbell [Wed, 13 Oct 2010 11:01:30 +0000 (12:01 +0100)]
xl: audit allocation of strings within libxl_device_*
* Remove string literals from init_*_info.
* Free any existing string values before overwriting during device
option parsing.
* Free libxl_device_console after use.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
committer: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Ian Campbell [Wed, 13 Oct 2010 10:54:04 +0000 (11:54 +0100)]
libxl: remove xs_writev function
It isn't actually being used to write a vector at the only callsite
and can easily be implemented using xs_write.
Furthermore the old implementation used to leak both the key and value
strings.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
committer: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Ian Campbell [Wed, 13 Oct 2010 10:45:26 +0000 (11:45 +0100)]
pygrub: support grub2 "(hdX,msdosY)" partition syntax
This appeared in Debian Squeeze at some point.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
committer: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Ian Campbell [Wed, 13 Oct 2010 10:37:02 +0000 (11:37 +0100)]
xl: correct migration_domname_r
22154:
ed8019e672c6 causes migration_domname_r to be initialised as
d_config.c_info.name + "--incoming" immediately after setting
d_config.c_info.name. The intention appears to have been to set it to
common_domname + "--incoming" so do so.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
committer: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Samuel Thibault [Tue, 12 Oct 2010 09:27:56 +0000 (10:27 +0100)]
MiniOS: Fix continue; in netfront receive loop
To properly ignore some requests through the use of continue;, indexes need to
be updated.
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
committer: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Stephan Peijnik [Mon, 11 Oct 2010 16:54:53 +0000 (17:54 +0100)]
Replace pyxml/xmlproc-based XML validator with lxml based one
Pyxml/xmlproc is being used in tools/xen/xm/xenapi_create.py but is
unmaintained for several years now. xmlproc is used only for validating
XML documents against a DTD file.
This patch replaces the pyxml/xmlproc based XML validation with code
based on lxml, which is actively maintained.
Signed-off-by: Stephan Peijnik <spe@anexia.at>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
committer: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Keir Fraser [Mon, 11 Oct 2010 09:22:24 +0000 (10:22 +0100)]
tools/tests: Test 64-bit x86 emulation in test_x86_emulate.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Mon, 11 Oct 2010 08:03:18 +0000 (09:03 +0100)]
vmx: add missing VMCS definition
This patch add back some missing VMCS defintions as preparation for
nested VMX.
Signed-off-by: Qing He <qing.he@intel.com>
Signed-off-by: Eddie Dong <eddie.dong@intel.com>
Keir Fraser [Mon, 11 Oct 2010 08:02:36 +0000 (09:02 +0100)]
x86-64: workaround for BIOSes wrongly enabling LAHF_LM feature indicator
This workaround is taken from Linux, and the main motivation (besides
such workarounds indeed belonging in the hypervisor rather than each
kernel) is to suppress the warnings in the Xen log each Linux guest
would cause due to the disallowed wrmsr.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Mon, 11 Oct 2010 08:01:45 +0000 (09:01 +0100)]
x86: emulate MSR_IA32_UCODE_REV Intel access protocol
Intel requires a write of zeros (hence such writes now get silently
ignored) followed by a cpuid(1) followed by the actual read.
Includes some code redundancy elimination possible after the actual
change.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Gianni Tedesco [Fri, 8 Oct 2010 10:41:57 +0000 (11:41 +0100)]
xl: Fix build in python binding since API change in 22229:
1385b15e168f
Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
committer: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Gianni Tedesco [Wed, 6 Oct 2010 16:38:15 +0000 (17:38 +0100)]
xl: Implement PCI passthrough force removal
This fixes two errors with removing PCI devices from HVM domains. The
first error is that the handling of "pci-rem" device-model command is
erroneously implemented in qemu and difficult (impossible?) to get
right.
For example, during domain shutdown there can be a race where the guest
OS unloads it's drivers and perhaps even shuts down PCI subsystem before
the pci-rem command has been received by qemu. This means that no OS is
present to write to the port which causes the dm command to be
acknowledged.
We fix this by implementing a 'force removal' option to
libxl_device_pci_remove which is always set to 1 during guest shutdown.
It can be optionally enabled on the xl command line for other occasions.
The second error is that if a guest OS doesn't respond to the SCI
interrupt and therefore the pci-rem dm command, which can happen if the
guest OS has no ACPI PCI hotplug support, then device removal bails with
an error but only AFTER removing the device from xenstore. This means
that xenstore gets in to an inconsistent state where an assigned device
also appears to be assignable.
This is fixed by moving xenstore device removal to occur only after the
device has really been removed.
Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
committer: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Keir Fraser [Wed, 6 Oct 2010 10:00:19 +0000 (11:00 +0100)]
x86 hvm: Factor out hvm_map_guest_frame_{rw,ro} from hvm_map_entry
This allows us to map pages from guest physical addresses.
This will be used with nested virtualization.
Signed-off-by: Uwe Dannowski <Uwe.Dannowski@amd.com>
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Signed-off-by: Keir Fraser <keir@xen.org>
Ian Campbell [Tue, 5 Oct 2010 16:51:28 +0000 (17:51 +0100)]
libxl: remove console 0 backend directory from xenstore on devices destroy
The first PV console device has an unusual frontend path for
historical reasons (/local/domain/<domid>/console rather than
/local/domain/<domid>/device/console/0).
Therefore we need to check this additional frontend path as well as
those under /local/domain/<domid>/device when tearing down all
backends or else we miss the backend for the console.
As part of this we need to ensure that the frontend directory has a
valid link to the backend, currently this link does not exist.
Fix this by adding libxl__device_frontend_path to return the correct
frontend path, accounting for the special case, and use it from
libxl__device_add_generic. Also add libxl__device_backend_path for
consistency.
This also allows console 0 setup to follow essentially the same code
path as other consoles within libxl_device_console_add, reducing the
special casing required there.
This also fixes the link from backend to frontend which until now gave
a dangling link to the normal device path instead of the exceptional
one.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
committer: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Christoph Egger [Tue, 5 Oct 2010 13:22:19 +0000 (14:22 +0100)]
Fix copy and paste bug in libxl_run_bootloader
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
committer: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Keir Fraser [Mon, 4 Oct 2010 11:52:14 +0000 (12:52 +0100)]
x86_32: sh_clear_up_pointer is only used if CONFIG_PAGING_LEVELS >= 4
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Keir Fraser [Sat, 2 Oct 2010 14:05:50 +0000 (15:05 +0100)]
x86 shadow: reset up-pointers on all l3s when l3s stop being pinnable.
Walking the pinned-shadows list isn't enough: there could be an
unpinned (but still shadowed) l3 somewhere and if we later try to
unshadow it it'll have an up-pointer of PAGE_LIST_NULL:PAGE_LIST_NULL.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Keir Fraser [Sat, 2 Oct 2010 14:04:21 +0000 (15:04 +0100)]
Vt-d: fix dom0 graphics problem on Levnovo T410.
The patch is derived from a similar quirk in Linux kernel by David
Woodhouse and Adam Jackson. It checks for VT enabling bit in IGD GGC
register. If VT is not enabled correctly in the IGD, Xen does not
enable VT-d translation for IGD VT-d engine. In case where iommu boot
parameter is set to force, Xen calls panic().
Signed-off-by: Allen Kay <allen.m.kay@intel.com>
Keir Fraser [Sat, 2 Oct 2010 14:03:15 +0000 (15:03 +0100)]
x86: fix boot failure (regression from pre-4.0 IRQ handling changes)
With the change to index irq_desc[] by IRQ rather than by vector, the
prior implicit change of the used flow handler when altering the IRQ
routing path to go through the 8259A didn't work anymore, and hence
on boards needing the ExtINT delivery workaround failed to boot.
Make make_8259A_irq() a real function again, thus allowing the flow
handler to be changed there.
Also eliminate the generally superfluous and (at least theoretically)
dangerous hard coded setting of the flow handler for IRQ0: Earlier
code should have set this already based on information coming from
ACPI/MPS, and non-standard systems may e.g. have this IRQ level
triggered.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Tested-by: Markus Schuster <ml@markus.schuster.name>
Keir Fraser [Sat, 2 Oct 2010 14:00:05 +0000 (15:00 +0100)]
Vt-d: fix feature boot messages
Changed vt-d feature boot messages from "supported" to "enabled" since
they reflect what is currently enabled in this Xen boot - not what is
supported by VT-d hardware.
Signed-off-by: Allen Kay <allen.m.kay@intel.com>
Christoph Egger [Fri, 1 Oct 2010 17:33:19 +0000 (18:33 +0100)]
libxl: fix qemu-dm path
qemu-dm is installed under libxl_libexec_path (not under
libxl_private_bindir_path).
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
committer: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Andre Przywara [Fri, 1 Oct 2010 16:22:40 +0000 (17:22 +0100)]
xl: allow parsing of both old and new cpuid syntax
Allow parsing of both versions of the cpuid syntax, the old xm used one
and the new one for xl. This works automatically, as the parser can tell
a Python list apart from a string before processing the line.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
committer: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Andre Przywara [Fri, 1 Oct 2010 16:21:01 +0000 (17:21 +0100)]
libxl: implementing legacy xm cpuid parser
To support compatibility with the xm config files, add a parser for the
old style cpuid= syntax. This uses a Python list, so it can be
distinguished from the new syntax easily.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
committer: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Andre Przywara [Fri, 1 Oct 2010 16:20:41 +0000 (17:20 +0100)]
xl: implement parsing of cpuid parameter and translate to Xen interface
Parses a string enumerating cpuid flags and their behavior.
The syntax is: cpuid = "host,<flagname>=[01xks],..."
Supports:
0: clear this flag
1: set this flag
x: don't care, use the default handling
k: use the host value
s: as k, but keep stable across migrations
For multiple bit flags there have to be numbers passed (hex or dec),
like: family=0x10,model=4
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
committer: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Andre Przywara [Fri, 1 Oct 2010 14:42:46 +0000 (15:42 +0100)]
xl: use libxl_domain_info to get the uuid in printf_info
If there is no UUID specified in the config file, we generate one during
the _parsing_ process. Since xl list -l parses the config file again,
the UUID will be generated again in this case and the reported
version does probably not match the used one.
Fix this by retrieving the UUID from dominfo (like xl list -v does).
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
committer: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Tim Deegan [Fri, 1 Oct 2010 10:57:53 +0000 (11:57 +0100)]
x86 mm: free p2m pages to the shadow/hap pool.
This allows the p2m code to dynamically free and reallocate memory
rather than just freeing everything once at domain teardown.
The previous mechanism (allocating p2m pages from shadow/hap
memory but freeing them directly to the domheap) was a relic
of the original shadow2's rather complex pool code.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Keir Fraser [Fri, 24 Sep 2010 14:54:39 +0000 (15:54 +0100)]
x86: adjust MSR_IA32_MISC_ENABLE handling
In the warning message issued on writes, the Xen-modified value should
be printed (and used to determine whether anything needs to be printed
at all), as the guest kernel will usually do a read-modify-write
cycle.
A question is whether Dom0 shouldn't be allowed control over some
bits, or whether some bits shouldn't be fully virtualized. I'm
particularly thinking of MSR_IA32_MISC_ENABLE_FAST_STRING, which
recent Linux kernels want to disable for CONFIG_KMEMCHECK.
While putting this together I also noticed that rdmsr_safe() failed to
initialize its output registers in the failure path, thus leading to
printing of uninitialized data in the guest WRMSR warning message.
Further, the default case value-changed check can be simplified.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Fri, 24 Sep 2010 14:53:31 +0000 (15:53 +0100)]
x86: check CPUID level before enabling xsave
While not as relevant after c/s 21894, is still seems safer to check
the CPUID level here, just like Linux does. The is particularly
relevant for the 4.0 tree (which doesn't have said c/s), but also
possibly for nested environments where writing MSR_IA32_MISC_ENABLE
may not actually take effect (Xen itself ignores such writes).
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Gianni Tedesco [Thu, 23 Sep 2010 18:16:00 +0000 (19:16 +0100)]
xl: Fix stack corruption caused by non-terminated call to libxl__xs_writev
Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com>
Tested-by: Christoph Egger <Christoph.Egger@amd.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Gianni Tedesco [Thu, 23 Sep 2010 18:03:52 +0000 (19:03 +0100)]
tools/python: do not link against blktap except on Linux
Link to libblktapctl in python setup only for platforms which build it.
This fixes a build breakage on NetBSD introduced in
330c4d9010da.
Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com>
Tested-by: Christoph Egger <Christoph.Egger@amd.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Stefano Stabellini [Thu, 23 Sep 2010 18:01:37 +0000 (19:01 +0100)]
libxl: Introduce a maximum limit for free_mem_slack (re (dom0) ballooning)
This fixes this message:
libxl: error: libxl.c:2921:libxl_set_memory_target new target
for dom0 is below the minimum threshold
which can occur spuriously if dom0_mem is specified and xl
autoballoning is left turned on.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Tested-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Keir Fraser [Wed, 22 Sep 2010 17:29:24 +0000 (18:29 +0100)]
xenpaging: page-in granttable entries
When converting a gfn to mfn, check if the page is paged-out.
If it is, request a page-in and return GNTST_eagain to the caller
to indicate a retry of the hypercall is required.
This fixes granttable errors when xenpaging is enabled in the guest.
Signed-off-by: Olaf Hering <olaf@aepfle.de>
Keir Fraser [Wed, 22 Sep 2010 17:28:16 +0000 (18:28 +0100)]
xsm/flask: Code indentation.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Wed, 22 Sep 2010 17:26:01 +0000 (18:26 +0100)]
xsm: return unlabeled instead of failing with ENOENT in get_page_sid
It is better to return an unlabeled SID in the case where dsec is NULL
instead of bailing out with an error.
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Signed-off-by: Keir Fraser <Keir.Fraser@eu.citrix.com>
Stefano Stabellini [Wed, 22 Sep 2010 17:04:11 +0000 (18:04 +0100)]
xl: parse maxmem parameter in VM config files
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Stefano Stabellini [Wed, 22 Sep 2010 17:03:41 +0000 (18:03 +0100)]
libxl: proper accounting for the videoram
Remove the videoram from the memory target of the domains consistently,
leave the total amount of memory in maxmem.
[fixed up for conflicts with libxl__ naming policy changes -iwj]
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Stefano Stabellini [Wed, 22 Sep 2010 17:02:36 +0000 (18:02 +0100)]
xl: free memory before building a domain
Free the needed amount of memory before proceeding with the domain
build.
Use a filelock to prevent other xl instances from conflicting during
this operation.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Jackson [Wed, 22 Sep 2010 16:55:38 +0000 (17:55 +0100)]
xl: Change default global config not to contain uncommented default
[mistakenly applied v4 of patch 7/12 rather than v4b -iwj]
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Stefano Stabellini [Wed, 22 Sep 2010 16:52:34 +0000 (17:52 +0100)]
Config.mk et al: introduce XEN_LOCK_DIR
Introduce a OS dependent global variable XEN_LOCK_DIR that points at the
system directory that contains lock files.
[fixed up for conflict in Config.mk -iwj]
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Stefano Stabellini [Wed, 22 Sep 2010 16:42:01 +0000 (17:42 +0100)]
xl: add a global configuration file
Add a global configuration file: /etc/xen/xl.conf; the only option
currently parsed is autoballoon that is 1 by default.
[fixed up for conflicts with libxl__ naming policy changes -iwj]
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Stefano Stabellini [Wed, 22 Sep 2010 16:40:44 +0000 (17:40 +0100)]
libxl: introduce the concept of dom0 minimum memory
Introduce a minimum value for the memory assigned to dom0.
[fixed up for conflicts with libxl__ naming policy changes -iwj]
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Stefano Stabellini [Wed, 22 Sep 2010 16:39:32 +0000 (17:39 +0100)]
libxl: add few more memory operations
libxl_domain_need_memory: calculate how much memory a domain needs in
order to be built and start correctly.
libxl_get_free_memory: calculate the total free memory in the system.
libxl_wait_for_free_memory: wait for a certain amount of memory to
become free in the system.
libxl_wait_for_memory_target: wait for a domain to reach its memory
target.
[fixed up for conflicts with libxl__ naming policy changes -iwj]
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Stefano Stabellini [Wed, 22 Sep 2010 16:37:09 +0000 (17:37 +0100)]
libxl: add a "relative" parameter to libxl_set_memory_target
Introduce a relative parameter to flag that target_memkb is a relative
amount of memory. The first time we are reading/writing dom0 memory
target, fill the informations in xenstore if they are missing.
Introduce libxl_get_memory_target.
[fixed up for conflicts with libxl__ naming policy changes -iwj]
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Stefano Stabellini [Wed, 22 Sep 2010 16:31:45 +0000 (17:31 +0100)]
libxl: use transactions in libxl_set_memory_target
[fixed up for conflicts with libxl__ naming policy changes]
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Stefano Stabellini [Wed, 22 Sep 2010 16:27:21 +0000 (17:27 +0100)]
libxl: do not modify static-max after domain creation
static-max represents the maximum memory the domain can ever have,
therefore it shouldn't be changed after domain creation.
[adjusted to cope with code movement since patch series written -iwj]
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>
Stefano Stabellini [Wed, 22 Sep 2010 16:23:22 +0000 (17:23 +0100)]
libxl: add current_memkb to libxl_dominfo
currently xcinfo2xlinfo reads tot_pages and uses that data to calculate
max_memkb, while tot_pages is the memory currently used by the domain
and max_pages is the theoretical maximum.
This patch calculates max_memkb from max_pages and introduces
current_memkb to store the current memory usage.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Keir Fraser [Wed, 22 Sep 2010 07:54:08 +0000 (08:54 +0100)]
tmem: disallow bad gmfns from PV domains
Mfns for PV domains were not properly checked, potentially
allowing a buggy or malicious PV guest to crash Xen. Also,
use get_page/put_page to claim a reference to the pages
so they can't disappear out from under tmem's feet.
Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Keir Fraser [Wed, 22 Sep 2010 07:49:09 +0000 (08:49 +0100)]
Revert 22186:
7167d6dd5c7c "x86: Retry do_mmu_update() a few times"
It does not work reliably for a couple of reasons:
(1) page_lock() fails if a page is !PGT_validated, and a page can
remain in that state for unbounded time.
(2) in the kernel-side race that motivated this patch, pgd_pin() can
lose to vmalloc_sync_all() -- pgd_pin() can try to chaneg a pmd page's
type to l2_pagetable while
vmalloc_sync_all()->set_pmd()->do_mmu_update() has it temporarily
pinned as writable. This is hard to fix on the Xen side.
Hence I give up on this approach, revert the patch, and settle for
kernel-side patching only.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Patrick Colp [Tue, 21 Sep 2010 16:54:43 +0000 (17:54 +0100)]
tools/ocaml: Fix caml-stubdom make line to depend on the ocaml cross compiler
The provided sample caml stubdom needs to use the ocaml cross
compiler, but if it hasn't been downloaded and compiled, then it won't
find it and the build will fail. This makes caml-stubdom depend on
the cross compiler, so it will automatically get built before the
stubdom.
Signed-off-by: Patrick Colp <pjcolp@cs.ubc.ca>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Jan Beulich [Tue, 21 Sep 2010 16:39:03 +0000 (17:39 +0100)]
xl: fix off-by-one mistake in block-attach handler
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Andre Przywara [Tue, 21 Sep 2010 15:41:09 +0000 (16:41 +0100)]
libxl: change xl_cfg_get_list to take a dont_warn parameter
xl_cfg_get_list can cope with the option not being a list, but
it always reports a warning in this case. Introduce a parameter
to omit this warning if needed. Future code can then decide what
to do with this information.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Jackson [Tue, 21 Sep 2010 15:08:38 +0000 (16:08 +0100)]
libxl, buildmakevars2file: Do not relink libxl each time
Make Config.mk's definition of buildmakevars2file and
tools/libxl/Makefile's rule for _libxl_paths.h generate their files to
temporary files and only rename them into place if the intended file
has changed. This gets rid of unnecessarily compilation and link
steps.
Add *.tmp to .hgignore.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Keir Fraser <keir.fraser@citrix.com>
Jan Beulich [Tue, 21 Sep 2010 14:59:01 +0000 (15:59 +0100)]
tools/hotplug: Linux udev rules adjustment
While earlier this year some work was done to eliminate libxc's
creation of nodes under /dev (as in some cases it actually got
things wrong), I just found that tapdisk2 does exactly the same.
While I'm not currently aiming at removing this code, I want to
at least suggest some adjustments to the provided rules file.
First of all, the present rule
KERNEL=="blktap[0-9]*", NAME="xen/%k"
matches both blktap1's devices and blktap2's ring devices,
resulting in whoever comes last replacing what was there
before (e.g. a tap2:aio: attach will replace bltap1's
/dev/blktap0 [i.e. the main control device] with the ring device
of the new virtual disk). Therefore we should add a subsystem
qualifier there.
Second, at some udev versions default to using 0660 as the
permissions on nodes it creates. The kernel (with devtmpfs)
defaults to 0600, and hence I'd suggest to also make this
explicit in the rules.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Cc: Boris Derzhavets <bderzhavets@yahoo.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Jackson [Tue, 21 Sep 2010 11:17:04 +0000 (12:17 +0100)]
tools, build system: Detect distro-variant directories at build-time
In
b59f87f56b1e, the defaults for some of the directory config
variables implicitly changed. In this commit we arrange for the
defaults to be auto-detected (with the same logic as the run-time
scripts use).
This will make the build more likely to produce answers which the
builder intends. (And, in particular, it should un-break the
automated tests, which didn't set these variables explicitly and
therefore got broken by
b59f87f56b1e.)
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Keir Fraser [Mon, 20 Sep 2010 19:11:43 +0000 (20:11 +0100)]
x86: Retry do_mmu_update() a few times when called on a pte whose type is in flux.
This can really happen -- all our PV Linux kernels have a race
between vmalloc_sync_all() and pgdir pinning/unpinning. The former is
protected by pgd_lock while the latter by mm->page_table_lock. Hence
they can happen concurrently, and vmalloc_sync_all() can attempt to
set_pmd() on a page directory which is in the process of being
pinned. This can confuse the hypervisor which may see a type change,
and hence fail do_mmu_update(). Until this patch. :-)
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Mon, 20 Sep 2010 17:53:18 +0000 (18:53 +0100)]
x86/hvm: fix extra size passed to __trace_var()
While removing the casts on the last arguments to __trace_var() I
noticed the bogus addition of 1 here.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Mon, 20 Sep 2010 17:52:48 +0000 (18:52 +0100)]
Eliminate unnecessary casts from __trace_var() invocations
This is possible now that its last parameter's type is 'const void *'.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Mon, 20 Sep 2010 17:51:19 +0000 (18:51 +0100)]
ia64: fix gcc 4.5 warnings
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Mon, 20 Sep 2010 17:50:38 +0000 (18:50 +0100)]
x86: protect MSI-X table and pending bit array from guest writes
These structures are used by Xen, and hence guests must not be able
to fiddle with them.
qemu-dm currently plays with the MSI-X table, requiring Dom0 to
still have write access. This is broken (explicitly allowing the guest
write access to the mask bit) and should be fixed in qemu-dm, at which
time Dom0 won't need any special casing anymore.
The changes are made under the assumption that p2m_mmio_direct will
only ever be used for order 0 pages.
An open question is whether dealing with pv guests (including the
IOMMU-less case) is necessary, as handling mappings a domain may
already have in place at the time the first interrupt gets set up
would require scanning all of the guest's L1 page table pages.
Currently a hole still remains allowing PV guests to map these ranges
before actually setting up any MSI-X vector for a device.
An alternative would be to determine and insert the address ranges
earlier into mmio_ro_ranges, but that would require a hook in the
PCI config space writes, which is particularly problematic in case
MMCONFIG accesses are being used.
A second alternative would be to require Dom0 to report all devices
(or at least all MSI-X capable ones) regardless of whether they would
be used by that domain, and do so after resources got determined/
assigned for them (i.e. a second notification later than the one
currently happening from the PCI bus scan would be needed).
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Acked-by: Jiang, Yunhong <yunhong.jiang@intel.com>
Keir Fraser [Mon, 20 Sep 2010 17:50:06 +0000 (18:50 +0100)]
rangesets: add function to query for overlaps
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Mon, 20 Sep 2010 17:49:15 +0000 (18:49 +0100)]
sched_credit: Raise bar for inter-socket migrations on mostly-idle systems
The credit scheduler ties to keep work balanced, even on a mostly idle
system. Unfortunately, if you have one VM burning cpu and another VM
idle, the effect is that the busy VM will flip back and forth between
sockets.
This patch addresses this, by only migrating to a different socket if
the number of idle processors is twice that of the socket the vcpu is
currently on.
This will only affect mostly-idle systems; as the system becomes more
busy, other load-balancing code will come into effect.
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
<bruce.edge@gmail.com> [Mon, 20 Sep 2010 16:54:25 +0000 (17:54 +0100)]
tools, build system: Make changing distro-specific layout aspects easier
Introduce CONFIG_LEAF_DIR, SUBSYS_DIR, INITD_DIR variables to cope
better with variation between distributions.
See docs/misc/distro_mapping.txt for details.
Signed-off-by: Bruce Edge <bruce.edge@gmail.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Jan Beulich [Mon, 20 Sep 2010 15:57:08 +0000 (16:57 +0100)]
libxl: fix Makefiles for autogenerated code (use multi-target patterns)
Building in a tree with read-only source files failed because the flex/
bison generated files are left in place.
All of the source files (instead of all of the object files) were
depending on libxl.h (in particular forcing the needless re-generation
of the flex/bison generated files).
For _libxl_types.[ch] a single non-pattern rule was used. For non-
pattern rules with multiple targets, other than for pattern ones, the
body gets executed once for each target, causing problems when building
with -j<n>, <n> >= 2. Convert this rule to a pattern one.
The flex/bison generated headers pointlessly depended on the
corresponding source files. Use multiple-target pattern rules instead.
It would also have been nice if the minimal flex/bison versions needed
to successfully build libxl were documented: neither flex 2.5.31 nor
bison 2.1 (as found e.g. on SLE10) is sufficient.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Keir Fraser [Sat, 18 Sep 2010 07:57:15 +0000 (08:57 +0100)]
x86_32: [un]map_domain_page() is now IRQ safe.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Sat, 18 Sep 2010 07:34:15 +0000 (08:34 +0100)]
x86: Fix indentation in irq.c.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Sat, 18 Sep 2010 07:31:55 +0000 (08:31 +0100)]
x86: irq_enter()/irq_exit() covers all of do_IRQ().
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 17 Sep 2010 15:59:21 +0000 (16:59 +0100)]
hvm pmtimer: correct pmtimer accuracy
Several seconds of backward time drift per minute can be seen on a
RHEL6 HVM guest by switching the clocksource to 'acpi_pm' and then
running gettimeofday() in a loop. This is due to the accumulation
of small inaccuracies that are caused by shifting out the lower 32
bits when pmt_update_time() computes 'tmr_val'.
The patch makes sure that the lower 32 bits of the computed value
are not lost. They are saved in a new field 'not_accounted' in the
PMTState structure and are accounted the next time pmt_update_time()
is called.
From: Ulrich Obergfell <uobergfe@redhat.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 17 Sep 2010 15:44:00 +0000 (16:44 +0100)]
x86_32: Fix build by fixing prototype of hvmemul_do_pio().
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Ian Campbell [Fri, 17 Sep 2010 15:12:13 +0000 (16:12 +0100)]
python: xl: stub out libxl_cpuid_policy_list accessors
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Juergen Gross [Thu, 16 Sep 2010 17:29:26 +0000 (18:29 +0100)]
xl: correct vcpu-pin and vcpu-list parameter checking
attached patch corrects parameter checking of vcpu-pin and vcpu-list
sub-commands.
Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Andre Przywara [Thu, 16 Sep 2010 17:02:40 +0000 (18:02 +0100)]
libxl: introduce cpuid interface to domain build
Add a cpuid parameter into libxl_domain_build_info and use
it's content while setting up the domain. This is a only paving the way,
the real functionality is implemented in the later patches.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Jun Zhu [Thu, 16 Sep 2010 16:49:43 +0000 (17:49 +0100)]
libxl: Clear device-model info when destroying an HVM domain with stubdom.
Signed-off-by: Jun Zhu <Jun.Zhu@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Andre Przywara [Thu, 16 Sep 2010 16:39:33 +0000 (17:39 +0100)]
libxl: fix compiler warning with fork_exec_bootloader
At least one of my compilers complains about the broken const
qualifier in the fork_exec_bootloader() call (despite the cast).
Fix this properly by propagating the const attribute down the
call stack.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Gianni Tedesco [Thu, 16 Sep 2010 16:20:22 +0000 (17:20 +0100)]
libxl, tools/python: Add libxl python binding
Introduce python binding for libxl. The binding is not yet complete but
serveral methods are implemented and tested. Those which are implemented
provide examples of the two or three basic patterns that most future
methods should follow.
Over 5,000 lines of boilerplate is automatically generated to wrap and
export all relevant libxl structure definitions. There are a few places
where such code cannot be fully auto-generated and special hooks are
declared and stubbed where, for example, conversion between
libxl_file_reference and a python file object is required.
Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Gianni Tedesco [Thu, 16 Sep 2010 16:12:21 +0000 (17:12 +0100)]
libxl: change IDL to export a saner interface for upcoming language bindings
Firstly remove an anonymous union in libxl_device_pci structure which
was making auto-generating language bindings more complicated than
necessary and exporting random bits of low level ABI that libxl that
would rather hide anyway. There is a corresponding (untested) change to
the ocaml binding which maintains previous ml API.
Secondly make the libxl_file_reference type a Builtin. This is a
'semantic
correctness' issue in that libxl ABI/API won't change. But it makes it
so that when the IDL is used to generate language bindings that a
file_reference type is not exported.
Also implement a Numeric type which all integers are derived from. Make
sure a boolean signed/unsigned attribute is set accordingly. This is
required to allow language bindings to correctly handle the sign bit in
environments with arbitrarily long integers.
Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Keir Fraser [Thu, 16 Sep 2010 09:02:14 +0000 (10:02 +0100)]
Remove unused function console_force_lock().
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Wed, 15 Sep 2010 15:52:31 +0000 (16:52 +0100)]
vmx: Annotate update_guest_eip() callers with safety analysis
for access to VM_EXIT_INSTRUCTION_LEN
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Wed, 15 Sep 2010 15:05:50 +0000 (16:05 +0100)]
vmx: __update_guest_eip(__guest_instruction_length()) -> update_guest_eip()
Signed-off-by: Eddie Dong <eddie.dong@intel.com>
Keir Fraser [Wed, 15 Sep 2010 14:45:42 +0000 (15:45 +0100)]
mem_event: Clean up and remove over-sized paused_vcpus[] array.
This cuts the size of the domain structure by around 30kB! It is now a
little over a page in size.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Wed, 15 Sep 2010 13:03:26 +0000 (14:03 +0100)]
x86 hvm: Clean up PIO fast path emulation.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Wed, 15 Sep 2010 08:00:35 +0000 (09:00 +0100)]
C6 state with EOI issue fix for some Intel processors
There is an errata in some of Intel processors.
AAJ72. EOI Transaction May Not be Sent if Software Enters Core C6
During an Interrupt Service Routine
If core C6 is entered after the start of an interrupt service routine
but before a write to the APIC EOI register, the core may not send an
EOI transaction (if needed) and further interrupts from the same
priority level or lower may be blocked.
This patch fix this issue, by checking if ISR is pending before enter
deep Cx state. If so, it would use power->safe_state instead of deep
Cx state to prevent the above issue happen.
Signed-off-by: Sheng Yang <sheng@linux.intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Wed, 15 Sep 2010 07:18:53 +0000 (08:18 +0100)]
notify_via_xen_event_channel() should check for dying domain.
Else we can fail on either ASSERTion in that function.
From: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Wed, 15 Sep 2010 06:48:27 +0000 (07:48 +0100)]
x86: restore handling of "reboot=no"
Somewhere between 3.2 and 3.3 this got dropped (as I noticed on a
[rarely used] box that didn't crash on me since then).
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Wed, 15 Sep 2010 06:47:54 +0000 (07:47 +0100)]
x86: fix debug key 'i' handling with no IO-APICs
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Wed, 15 Sep 2010 06:45:25 +0000 (07:45 +0100)]
svm: simplify MSR handling
Machine check MSRs are not special to long mode. Thus move them into
svm_msr_write_intercept(). Remove empty long mode msr function and
simplify the logic.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Ian Jackson [Tue, 14 Sep 2010 17:26:10 +0000 (18:26 +0100)]
QEMU_TAG update