Commit Graph
15055 Commits
Author SHA1 Message Date
Steven Hand f0c155875d HVM save/restore: handle larger domain ids.
Signed-off-by: Steven Hand <steven@xensource.com>
2007-05-14 15:16:32 +01:00
Keir Fraser 45138b4b05 hvm qemu: Fix for masking 64-bit operands broke 32-bit operands with
32-bit qemu. Issue spotted and initial fix provided by Dexuan Cui.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-05-13 10:04:34 +01:00
Keir Fraser 2c4aacf734 svm: Simplify asm stub for vmentry/vmexit.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-05-12 19:22:24 +01:00
Keir Fraser f64b7618e1 svm: Avoid VMSAVE/VMLOAD/VMSAVE/VMLOAD sequence on every vmexit/vmentry.
Instead do this only on context switches. In cases where we need
access to state that is only saved to the VMCB on VMSAVE, we track
whether the state is in sync via a per-vcpu flag and VMSAVE on demand.

The context switch code can be further improved:
 1. No need to VMLOAD host state if we are switching to another SVM  VCPU.
 2. No need to VMSAVE host state at all (except once at start of day)
 because the registers that are saved do not change (or at least, none
 of the ones that matter change).

The performance is improvement is about 650 cycles for a null
hypercall. This reduces the total null-hypercall time for a non-debug
build of Xen down to around 3300 cycles on my AMD X2 system.

Signed-off-by: Keir Fraser <keir@xensource.com>
2007-05-12 19:04:35 +01:00
Keir Fraser 8665aa44c3 hvm: Fix ACPI shutdown, broken by my previous changeset.
It turns out that although PIIX4 hardware defines the S5 type code to
be 000, all OSes will discover the correct code by evlauating an \_Sx
object in the ACPI DSDT. And we set the type code in that object to be
111.

So this patch keeps the other cleanups made to the piix4acpi.c file,
but switches back to checking for code 111. It also makes it clearer
in both the ioemu code and in the dsdt source code where these magic
numbers come from.

Let's hope noone actually has the true PIIX4 type codes hardcoded
(it's highly doubtful that anyone would).

Signed-off-by: Keir Fraser <keir@xensource.com>
2007-05-12 16:24:50 +01:00
Keir Fraser f313852e91 vmx: Replace pointless test-then-set with set.
Spotted by Eddie Dong.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-05-12 12:46:26 +01:00
Keir Fraser 253a9fcaf4 xend: configuration option 'localtime = 1' is not honored for PV domains.
This patch fixes an oversight when platform_* config options were
collected in a dictionary.

Signed-off-by: Jim Fehlig <jfehlig@novell.com>
2007-05-12 12:44:20 +01:00
Keir Fraser a4bc02d9dd xen: Fix struct-size checker for unions and long names.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2007-05-12 12:43:16 +01:00
Keir Fraser 4d6bc05812 hvm qemu: Fix write parameter masking for 64-bit guests.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-05-12 12:41:40 +01:00
Keir Fraser a4c4c5f134 xen: Better handling on not-present PDEs in destroy_xen_mappings().
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-05-12 12:37:51 +01:00
Keir Fraser 7c9f1018ee x86: Improve zap_low_mappings.
Do it earlier on x86/64, properly free non-superpages on x86/32, and
leave a mapping of the boot trampoline (0x90000-0xA0000) in place.

Signed-off-by: Keir Fraser <keir@xensource.com>
2007-05-12 12:07:01 +01:00
Keir Fraser 39f1622a28 xen: Free initmem after boot. Mark lots of init functions as __init
that weren't before.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-05-12 10:28:53 +01:00
Keir Fraser 34df2e48f9 hvm: Fix emulation of PIIX4 PMCNTRL register for soft power-off.
The type code needs to be 000, not 111 (which is a reserved value).
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-05-12 09:48:33 +01:00
Christian Limpach 1946d15507 [qemu patches] Update patches upto changeset 15040:090ca10cb543.
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2007-05-11 10:07:06 +01:00
Christian Limpach dc53960c99 [qemu] Fix ia64 after removal of ia64_intrinsic.h.
From: Alex Williamson <alex.williamson@hp.com>
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2007-05-11 10:06:19 +01:00
Keir Fraser db82fef5d6 svm: Rationalise register synchronisation to be similar to our vmx
handling.
 1. Do not copy all VMCB register state in cpu_user_regs on every
 vmexit.
 2. Save/restore RAX inside asm stub (in particular, before STGI on
 vmexit).
 3. Simplify store/load_cpu_guest_regs() hook functions to synchronise
 precisely the same state as VMX.

By my measurements this reduces the round-trip latency for a null
hypercall by around 150 cycles. This is about 3% of the ~5000-cycle
total on my AMD X2 system. Not a great win, but a nice extra on top of
the code rationalisation.
2007-05-10 23:49:04 +01:00
Keir Fraser 72a9bb3cfb xen: Some cleanups for x86 start of day.
1. Remove erroneous modification to e820.c
2. Make sure Xen is relocated as high as possible below 4GB.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-05-10 22:54:43 +01:00
Christian Limpach ede1203712 [qemu patches] Update patches upto changeset 15036:dfbbb4d3b0dd.
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>

--HG--
rename : tools/ioemu/patches/vnc-numpad-handling => tools/ioemu/patches/vnc-keypad-handling
2007-05-10 19:35:25 +01:00
Christian Limpach 548309d6a2 [qemu] Fix keypad handling for VNC.
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2007-05-10 19:33:05 +01:00
kfraser@localhost.localdomain 369bafdb1c xen: Big changes to x86 start-of-day:
1. x86/64 Xen now relocates itself to physical high memory. This is
    useful if we have devices that need very low memory, or if in
    future we want to grant a 1:1 mapping of low physical memory to a
    special 'native client domain'.

 2. We now only map low 16MB RAM statically. All other RAM is mapped
    dynamically within the constraints of the e820 map. It is
    recommended never to map MMIO regions, and this change means that
    Xen now obeys this constraint.

 3. The CPU bootup trampoline is now permanently installed at
    0x90000. This is necessary prereq for CPU hotplug.

 4. Start-of-day asm is generally cleaned up and diff between x86/32
    and x86/64 is reduced.

Signed-off-by: Keir Fraser <keir@xensource.com>
2007-05-10 18:02:55 +01:00
Christian Limpach 46f15346a6 [qemu patches] Update patches upto changeset 15032:8f510bf078c7.
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2007-05-10 16:22:27 +01:00
Christian Limpach 31c9eb8003 [qemu patches] Update patches upto changeset 15032:8f510bf078c7.
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2007-05-10 16:05:31 +01:00
Christian Limpach 5048ecdd7c [qemu] Remove atomic_set_bit, atomic_clear_bit and ia64_intrinsic.h and its
users.

Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2007-05-10 15:58:35 +01:00
Christian Limpach d5464e2ef3 [qemu] Remove unused -timeoffset option.
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2007-05-10 15:39:28 +01:00
Christian Limpach 32eca924c4 [qemu] Remove -vnclisten option since the same functionality is now
available using the -vnc option.

Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2007-05-10 15:17:20 +01:00
Christian Limpach ca6028921d [qemu] Remove no longer needed change.
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2007-05-10 15:10:16 +01:00
Christian Limpach 8c083820fd [qemu] Use qemu's -vnc option to specify the interface to listen on.
Domain config files still use the original syntax with vnc and vnclisten.

Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2007-05-10 15:02:05 +01:00
Christian Limpach a75c552442 [qemu] Fix shift key for non-graphical vnc displays (like the monitor).
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2007-05-10 14:44:45 +01:00
Christian Limpach 2dd343a99d [qemu] Sync data to disk if write cache is disabled.
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2007-05-10 13:57:13 +01:00
Christian Limpach a8ab3e9d3a [qemu] Fix typo in previous ia64 build fix (my fault).
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2007-05-09 22:50:26 +01:00
Christian Limpach ac671b5fb8 [qemu] Fix ia64 build.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2007-05-09 22:12:20 +01:00
Ian Campbell 310ae8d009 [BUILDER] Ensure that the L3 page table page for a PAE guest which does not
support the extended-cr3 format is below the 4G boundary.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2007-05-09 18:53:02 +01:00
kfraser@localhost.localdomain 90bb7914c8 hvm: Save/restore register state across hypercalls.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-05-09 15:31:37 +01:00
Christian Limpach c74a52ad23 [ioemu] Update to qemu 0.90.
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2007-05-09 14:17:15 +01:00
Christian Limpach 15f6eaada9 [qemu patches] Update patches upto changeset 15013:b78d611d1b.
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
3.1.0-branched
2007-05-08 10:38:06 +01:00
Tim Deegan 1b542cb692 Merge 2007-05-08 10:32:38 +01:00
Tim Deegan b672b7a5c4 [HVM] Fix shadow remove-write-access heuristic for 64bit w2k3 linear map.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2007-05-08 10:32:05 +01:00
kfraser@localhost.localdomain 2f7f40357b xend hvm: Fix 'monitor=1' handling in domain config file.
Fix wrong python list assignment for "monitor=1". The old assignment
only works when using qemu-dm.debug in configure file.

Signed-off-by: You YongKang <yongkang.you@intel.com>
Signed-off-by: Zhang Xin <xing.z.zhang@intel.com>
2007-05-08 10:21:23 +01:00
kfraser@localhost.localdomain 82cd1fd00e [Xen-API] Fix the rtc/timeoffset entry.
It cannot be 'None' as this is not parseable by the Java xmlrpc
library.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2007-05-08 10:17:46 +01:00
Keir Fraser 21bff006da ia64, linux: Import linux git changeset 5ee7737379b1d7f0c977c0f1661fbaf01a8d4721
Without this, IA64 vcpu hot plug/remove or domain save/restore cause
kernel panic.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-05-07 13:58:42 +01:00
Keir Fraser 52fbe1b974 linux: Add two arch hooks xen_pre_suspend() and xen_post_suspend() for
suspend/resume. Xen/ia64 needs them.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-05-07 13:57:18 +01:00
Keir Fraser 176aa1b08c ioemu: Fix typo in the ISO_Level3_Shift patch which prevents AltGr key working.
Signed-off-by: Cedric Schieli <cschieli@gmail.com>
2007-05-07 13:54:51 +01:00
Keir Fraser 19bfd597b4 xenstat: Remove the "vbd-%d-%d is a VBD." debugging statement.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-05-07 13:52:50 +01:00
Keir Fraser 199e9b6f53 hvm: Domains must be at least 2MB in size.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-05-05 13:48:05 +01:00
Keir Fraser 90829b52d7 Fix Xen API's Host.get_record method.
Currently it returns supported_bootloaders as a string.  This patch
returns supported_bootloaders as a 'string set' - per the spec.  The
c-bindings fail to parse response, expecting a set but only finding a
string.

Signed-off-by: Jim Fehlig <jfehlig@novell.com>
2007-05-05 11:23:55 +01:00
kfraser@localhost.localdomain 5ea167dcd7 blktap: Fix qcow max_aio_reqs calculation.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-05-03 19:25:47 +01:00
Christian Limpach 9d604d2ead [qemu patches] Update patches upto changeset 14986:1ddaf2650633.
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
2007-05-03 15:39:45 +01:00
kfraser@localhost.localdomain 0d03dd60a1 xend: Revert changeset 15002. Breaks xend restart in some cases.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-05-03 11:22:58 +01:00
kfraser@localhost.localdomain 320061b18e [IA64] Presently pygrub only looks in /efi/redhat/elilo.conf. It
should check for other distributions, plus a couple fallback
locations.

Signed-off-by: Aron Griffis <aron@hp.com>
2007-05-03 09:33:12 +01:00
kfraser@localhost.localdomain a20b52e572 ia64 doesn't use /usr/lib64 on any distribution. When it's present, it's a symlink to /usr/lib
Signed-off-by: Aron Griffis <aron@hp.com>
2007-05-03 09:32:35 +01:00