Commit Graph
17520 Commits
Author SHA1 Message Date
Keir Fraser d5a22fa12f vmx: Fix address of EPT identity-map pagetable that is passed from the
domain builder down to the hypervisor.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-24 14:33:42 +01:00
Keir Fraser 88bc5163bc ioemu: Save PCI device INTx line states.
Otherwise, ioemu can be out of sync with the hypervisor after
restoring guest state, if INTx lines were asserted when the state was
saved. This prevents ioemu from setting the line to zero in Xen
(because it thinks the line is already zero). This can allow th eguest
to enter an endless IRQ loop and hang.

Signed-off-by: Kazuhiro Suzuki <kaz@jp.fujitsu.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-24 10:14:43 +01:00
Keir Fraser 0501e7a2ab ia64: fix domain builder
Windows on ia64 can't boot since cset 17397:61a3e041ea12.
The memory for video RAM must be added as the x86 does.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2008-04-24 10:01:27 +01:00
Keir Fraser e7c8c935e2 xencomm: Fix a trivial warning.
Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2008-04-24 10:01:11 +01:00
Keir Fraser f3814331c7 xenbaked: Fix access to trace buffer after xentrace changes
Signed-off-by: Naoki Nishiguchi <nisiguti@jp.fujitsu.com>
2008-04-24 09:59:57 +01:00
Keir Fraser 628bdecb85 trace: Notify dom0 from tasklet context.
Avoids deadlocks by avoiding calling into scheduler recursively
(__trace_var() is sometimes called with scheduler locks held).

Signed-off-by: Naoki Nishiguchi <nisiguti@jp.fujitsu.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-24 09:58:29 +01:00
Keir Fraser 595e94eb1b AMD IOV: Fix dom0 initialisation.
Signed-off-by: Wei Wang <wei.wang2@amd.com>
2008-04-23 16:58:44 +01:00
Keir Fraser defe5e9a30 blktap: Automatically start tapdisk-ioemu on demand
When a domain wants to use a tap:ioemu disk but has no device model,
start a tapdisk-ioemu instance as provider. Also, move the creation
and removal of communication pipes to xend so that qemu-dm doesn't
need the unwanted SIGHUP handler anymore.

Signed-off-by: Kevin Wolf <kwolf@suse.de>
2008-04-23 16:57:23 +01:00
Keir Fraser e76492c4f4 docs: Update xencons- Linux boot parameter to reflect xvc0 is default.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-23 17:01:43 +01:00
Keir Fraser 2753107dd2 docs: Update for Xen boot parameter changes.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-23 14:22:20 +01:00
Keir Fraser 989cfc3a3a Drop characters if an asynchronous serial tx buffer fills up.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-23 14:17:35 +01:00
Keir Fraser 5481687898 New boot parameter 'serial_tx_buffer=<size>' to change serial
transmit buffer size from default of 16kB.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-23 14:06:51 +01:00
Keir Fraser cd0a990a54 vt-d: Reduce printk() output to a more sensible level.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-23 13:51:55 +01:00
Keir Fraser a7f2eeb898 ACM: Put hash of XML policy into binary policy to tie them together
This patch extends the ACM binary policy format with an embedded hash
of the corresponding XML policy in order to tie them together. This
allows xend to determine whether it has the correct XML policy in its
repository and react appropriately if it does not have it.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2008-04-23 13:29:09 +01:00
Keir Fraser 10ab43fd56 x86: Fix a typo in shadow_get_and_create_l1e().
The typo is benign because sh_page_fault() gates the call to
shadow_get_and_create_l1e() on an equivalent test.

Signed-off-by: Tim Deegan <tim.deegan@citrix.com>
2008-04-23 13:32:58 +01:00
Keir Fraser 8318d7d63d Revert 17499:451ae3b8e5c8
Breaks HVM guest creation (bugzilla #1221).

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-23 13:30:24 +01:00
Keir Fraser 6b20054a8c x86: Reduce assertion aggressiveness in send_IPI_mask().
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-23 09:15:34 +01:00
Keir Fraser 1fd55df7f9 figlet: Fix handling of full final line of octal output.
It should not be terminated with a backslash.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-23 09:02:15 +01:00
Keir Fraser d97223cd77 vt-d: Clean up and fix dom0 initialisation.
Based on a patch by Weidong Han <weidong.han@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-22 19:07:48 +01:00
Keir Fraser e747e67043 x86/hvm: fix copy-and-paste mistakes
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2008-04-22 14:40:34 +01:00
Keir Fraser 3b64ad17ca blktap: Automatically start tapdisk-ioemu on demand
When a domain wants to use a tap:ioemu disk but has no device model,
start a tapdisk-ioemu instance as provider. Also, move the creation
and removal of communication pipes to xend so that qemu-dm doesn't
need the unwanted SIGHUP handler anymore.

Signed-off-by: Kevin Wolf <kwolf@suse.de>
2008-04-22 14:39:33 +01:00
Keir Fraser dfff66aee9 x86_emulate: Support CMPXCHG16B.
Also clean up cmpxchg() callback handling so we can get rid of teh
specific cmpxchg8b handler.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-22 14:34:16 +01:00
Keir Fraser a8add4da19 x86 iommu: Better synchronisation on dirq_mask.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-22 11:46:41 +01:00
Keir Fraser 63f197e31d x86_emulate: Disable writeback if BSF/BSR are passed zero input.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-22 11:44:56 +01:00
Keir Fraser cad0afcc08 x86: Fix handling of BSF and BSR instructions.
1. We cannot rely on BSF/BSR leaving the destination register intact
    if the source is zero (according to Intel manuals)
 2. We race clear_bit() in find_first_bit(), which may occur after
    SCAS but before BSF. So we must handle zero input to BSF.

Signed-off-by: Naoki Nishiguchi <nisiguti@jp.fujitsu.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-22 11:43:10 +01:00
Keir Fraser fd6c8de67e console: Provide option to stall the inter-domain console ring rather
than discard characters in the console daemon buffers.

New option: -o, --overflow-data=discard|keep

This option changes the behaviour when dealing with data that overflow
the max capacity of the buffer. If overflow-data is set to discard
(the default), the current behaviour is used: we discard some data in
the middle of the buffer.

If overflow-data is set to keep, we stop listening to the ring until
we free some space in the buffer. This can cause the ring to fill up
and the guest kernel internal buffer to fill up as well. When this
happens the guest kernel stops reading characters from the console
device so the application generating data hangs. When xenconsoled
resumes reading from the ring, the guest kernel will be able to resume
reading from the console device as well. At that point the guest
application will be allowed to continue.

The risk of making this behaviour the default is that existing kernel
drivers may assume they can rely on timely ring updates by the console
daemon and thus themselves block on the ring being emptied.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2008-04-22 10:34:55 +01:00
Keir Fraser 978e9bef8c hotplug scripts: Fix sharing check for blktap
Run check_blktap_sharing() only when a disk is added to guest with blktap.
A check_blktap_sharing() doesn't have to be run when a disk is removed.

Signed-off-by: Hirofumi Tsujimura <tsujimura.hirof@jp.fujitsu.com>
Signed-off-by: Takanori Kasai <kasai.takanori@jp.fujitsu.com>
2008-04-22 10:29:32 +01:00
Keir Fraser 4195aba99f x86_emulate: BT instruction does not write to its 'destination' operand.
This fixes w2k3 guests occasionally writing back to read-only registers.

Signed-off-by: Xu Dongxiao <dongxiao.xu@intel.com>
2008-04-22 10:27:04 +01:00
Keir Fraser 3ed02f5079 vt-d: Fix a bug in addr_to_dma_page_maddr(), and add timeout in infinite loop
In addr_to_dma_page_maddr(), pte should not be used after
unmap_vtd_domain_page(parent). In addition, timeout is added in some
infinite loops.

Signed-off-by: Weidong Han <weidong.han@intel.com>
2008-04-22 10:20:05 +01:00
Keir Fraser bd5b777ef9 xm: Add a new command: xm reset
If a hang-up of a guest OS occurs, we will restart the guest OS by
using
the following commands.
 1. xm destroy
 2. xm create or xm start

To reduce the number of xm commands to use, this patch adds a new
command.  The command is "xm reset".  The command executes destruction
of a domain, and then creation of the domain.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2008-04-22 10:18:13 +01:00
Keir Fraser cc6d494337 src-tarball: Remove source control metadata.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-21 20:21:39 +01:00
Keir Fraser 103cff93e2 Cache figlet output across builds, and provide src-tarball target
which creates figlet output and then deletes figlet itself (which is
not licensed under GPL).

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-21 20:08:29 +01:00
Keir Fraser 66a8823922 iommu: initialisation cleanup and bugfix.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-21 17:41:29 +01:00
Keir Fraser ff7d544457 AMD IOV: Fix xen boot on non-iommu systems.
Signed-off-by: Wei Wang <wei.wang2@amd.com>
2008-04-21 14:59:25 +01:00
Keir Fraser 540488e09a x86, hvm: Merge 32-bit and 64-bit asm stubs into common files.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-21 14:55:15 +01:00
Keir Fraser 4b8e1535e4 svm: Do not hide 3DNow! CPU capabilities from SVM guests.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-21 12:23:55 +01:00
Keir Fraser 9fcaa32c64 x86, hvm: Assembly stub cleanups.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-21 12:19:15 +01:00
Keir Fraser b8038beeeb iommu: Consolidate iommu enablement logic. Now there is only one
command-line parameter for disabling IOV/VTD: "iommu"/"no-iommu".

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-21 10:33:40 +01:00
Keir Fraser 4616364871 amd iommu: clean up debug information.
Signed-off-by: Wei Wang <wei.wang2@amd.com>
2008-04-21 10:01:46 +01:00
Keir Fraser 93f92fcf9c docs: update xen-apic docs
Added undocumented fields and methods for default_netmask and
default_gateway to the Network class. Remove an unimplemented method
from the XSPolicy class and remove the 'optional' from 'oldlabel'
parameters.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2008-04-18 11:10:17 +01:00
Keir Fraser 4b9fd1bad1 ioemu: Fix cross-build of tapdisk-ioemu
changeset e1962ac0fb1c breaks cross-builds because it assumes the
system strip tool applies to the generated binaries.  This assumption
isn't made anywhere else in the xen tools build.

Signed-off-by: Aron Griffis <aron@hp.com>
2008-04-18 11:08:10 +01:00
Keir Fraser c25c3c9ae5 x86: Fix the non-PAE build.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-17 15:48:40 +01:00
Keir Fraser 29a3d669c7 x86, hvm: Allow emulation of 'multi-cycle' MMIO reads and writes,
which may require multiple round trips to the device model.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-17 12:37:35 +01:00
Keir Fraser 74a02d2244 x86_emulate: Emulate MMX movq instructions.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-17 10:46:54 +01:00
Keir Fraser f66e0a53ee x86_emulate: Emulate certain FPU instructions by building the opcode
on the stack. This allows us to add emulation for a number of extra
FPU opcodes without inflating the executable code size.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-16 16:42:47 +01:00
Keir Fraser a6836b4fdd x86_emulate: Implement a more dynamic interface for handling FPU
exceptions, which will allow emulation stubs to be built dynamically
in a future patch.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-16 16:10:41 +01:00
Keir Fraser 8415719513 AMD IOMMU: Add event logging support.
MSI interrupt will be triggered on IO page fault and the fault address
will be written into an in-memory event log buffer automatically by
hardware. This patch handles the MSI interrupt simply by reading event
log entry and printing out the parsed result.

Signed-off-by: Wei Wang <wei.wang2@amd.com>
2008-04-16 13:43:23 +01:00
Keir Fraser 4ed4200b85 [VTD] Fix VT-d PAE issues.
Cast unsigned long PFNs to paddr_t before shifting left.

Signed-off-by: Weidong Han <weidong.han@intel.com>
2008-04-16 13:40:46 +01:00
Keir Fraser a6a8223242 x86, hvm: Lots of MTRR/PAT emulation cleanup.
- Move MTRR MSR initialisation into hvmloader.
 - Simplify initialisation logic by overlaying UC on default WB rather
   than vice versa.
 - Clean up hypervisor HVM MTRR/PAE code's interface with rest of
   hypervisor.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-16 13:36:44 +01:00
Keir Fraser 5539f61f5b stubdom: make use of PVFB resize event
which with the offset support also permits to expose the VGA vram and
non-shared vram throught PVFB at the same time, switching between both
as appropriate.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-04-16 10:21:08 +01:00