Commit Graph
16585 Commits
Author SHA1 Message Date
Keir Fraser 012e2baf87 tools: Remove references to USB paravirt driver. Doesn't affect qemu usb args.
Some relics in the control tools still refer to the USB paravirt
driver.  Remove this as it's dead code and is in the history for
anyone really interested. The Qemu device model has its own USB
configuration, which should still work.

Signed-off-by: Mark Williamson <mark.williamson@cl.cam.ac.uk>
2007-12-12 10:03:32 +00:00
Keir Fraser b7eaaa90a1 Add missing file from previous changeset. 2007-12-12 10:03:09 +00:00
Keir Fraser 5ccf17bd71 docs: Adjust revision number in Xen-API document and introduce revision history.
This patch adjusts the revision number to 1.0.1 and date in the
Xen-API document and introduces a revision history with entries for
1.0.0 and 1.0.1.

Signed-off-by: Stefan Berger <stefanB@us.ibm.com>
2007-12-12 09:59:53 +00:00
Keir Fraser 7d6b2ecfac xend, acm: Extend Xen-API with function to reset the policy
This patch extends the Xen-API and the legacy XML-RPC interface with a
function to reset the policy on the system (through an update with the
default policy). I adapted the code in 'xm resetpolicy' to use this
now.

This patch also extends libxen and the documentation to reflect the
new function.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2007-12-12 09:57:55 +00:00
Keir Fraser aaa7e11a7c Fix domctl GCC dependency
Compilers other than GCC don't allow zero-sized structs.

Signed-off-by: John Levon <john.levon@sun.com>
2007-12-12 09:54:21 +00:00
Keir Fraser 1082d7ca42 ioemu/qemu vga: save and restore vram buffer
The existing stdvga driver from xen-unstable tools/ioemu/hw/vga* does
not save the emulated VGA memory contents.  The symptoms include video
malfunction after restore, including black screen (which can often be
fixed by asking the guest to redraw) but also missing font setup etc.
The attached patch fixes this by saving the entire VGA memory buffer,
just like the Xen ioemu Cirrus emulator does.

I have reinterpreted the `is_vbe' byte, which is related to
CONFIG_BOCHS_VBE, as a general flags word.  This enables my code to
allow old images to be restored (albeit with loss of VGA memory), by
using another bit in that word to indicate whether the VGA memory dump
is present.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2007-12-12 09:53:00 +00:00
Keir Fraser d44424e2ad ioemu: Include mouse dz in xenfb event packet
Needed for mouse wheel support in a PV guest.

Signed-off-by: Pat Campbell <plc@novell.com>
2007-12-10 13:49:22 +00:00
Keir Fraser 343a76fb58 xm-test: Don't run security test if ACM is not enabled.
I forgot to put in the check to prevent this test case from running
when ACM is not compiled into Xen. I am resetting the policy so that
an update with the prepared policy can be done without changing that
policy's header to match the current policy's version.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2007-12-10 12:02:46 +00:00
Keir Fraser d62bd07bf5 x86: avoid LOCK prefix in some cases where it's not necessary.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-12-10 11:55:55 +00:00
Keir Fraser c597faf9a7 x86: eliminate (unused) return value from exception handling routines
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-12-10 11:49:12 +00:00
Keir Fraser 4405f725f0 Avoid duplication of domainID in messages.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-12-10 11:41:40 +00:00
Keir Fraser ec2349eb88 init_heap_pages() can be static.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-12-10 11:37:13 +00:00
Keir Fraser efc1fcfe55 x86: Clean up boot/wakeup code.
* Generalise wakeup stack to general 'early stack' used everywhere.
 * Ensure things that must be aligned are aligned.
 * Remove some unused symbols.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2007-12-10 11:34:02 +00:00
Keir Fraser 6893569268 Fix XEN_EXTRAVERSION and shorten so it fits on a single line after
figlet-isation: 3.2.0-rc2-pre.
2007-12-08 17:35:32 +00:00
Keir Fraser af3ade42b9 Revert 16560:822d4ec5cfb1.
Preference seems to be to update library versions only when the ABI
changes. Only libxenctrl/libxenguest have their version number changed
to 3.2.0, as a reminder that they change on pretty much every major
release.

libfsimage/libxenstore/libblktap have not changed substantially
recently, hence the ABI has not changed, and version number stays the
same as in Xen 3.1 (and before).

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2007-12-08 17:32:01 +00:00
Keir Fraser 7278e5633f Start development for 3.2.0-rc2. 2007-12-08 17:27:10 +00:00
Keir Fraser af008d6678 Added tag 3.2.0-rc1 for changeset 1f0c6e0d74a4 2007-12-08 17:00:11 +00:00
Keir Fraser 35403f1426 Update Xen version to 3.2.0-rc1 3.2.0-rc1 2007-12-08 16:59:49 +00:00
Keir Fraser 16c2e41e1a hvm stdvga: Do not emulate PIO reads inside Xen. They should be rare
(PIO write emulation is really for book-keeping to detect when we
enter/leave stdvga mode, and to work out what to do with mmio
accesses), and we may do the wrong thing depending on emulated SVGA
hardware and current mode.

This simplifies the code and means that 'stdvga=1' once again works
properly and causes the stdvga bios to be loaded by hvmloader.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2007-12-08 16:57:13 +00:00
Keir Fraser 8256ad693d xm-test, acm: fixes an API call due to recent changes.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2007-12-08 15:47:31 +00:00
Keir Fraser 0d6aee7d68 qemu 16550 uart: Fast-drop bursts of transmitted characters to avoid
stalling due to a disconnected pipe or pty.
Signed-off-by: Trolle Selander <trolle.selander@gmail.com>
2007-12-08 15:46:04 +00:00
Keir Fraser e028ead544 x86: Respect e820 map even below 16MB.
NB. Even with this patch, x86/32 still statically allocates the range
1MB-12MB. This can be changed if there really are platforms that need
stuff to persist in that range after the OS starts to boot.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2007-12-07 18:24:33 +00:00
Keir Fraser 1fcd46b927 x86: Change proliant io emulation stub to use pushf/popf instead of pushfw/popfw.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2007-12-07 17:05:15 +00:00
Keir Fraser 680ecb44da vmx realmode: Fix exception delivery w.r.t. in-flight I/O.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2007-12-07 16:39:15 +00:00
Keir Fraser 7f9e1cf31e tools: Rationalise library soname versions.
* Arrange for the sonames of libxenstore, libxc, libfsimage and
   libblktap to be set from a single place in Config.mk.
 * Bumps the soname major version number to 3.2 in preparation for
   3.2 rc1 after which we do not expect to have ABI changes.

I have not done anything about libaio and libflask.  The former is
imported from elsewhere and if we're lucky will have sane versioning
upstream.

libflask has a very small interface and I'm hoping that the XSM
authors have been keeping some ABI discipline.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2007-12-07 14:44:13 +00:00
Keir Fraser 3411786760 hvm: Clean up AP initialisation. This allows AP bringup into emulated
real mode when running on VMX, as well as removing 100 LOC.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2007-12-07 14:28:07 +00:00
Keir Fraser a3024bb601 ioemu: Include termios.h and sys/ioctl.h to get TIOCM_* definitions.
This is preferable to hard-coding them in the ioemu source file, or
including a Linux-specific header.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2007-12-07 12:48:36 +00:00
Keir Fraser db9563e7e4 xm: Fix help messages of xm vcpu-list/uptime
We can give multiple domains to the following commands.
But, the help messages of the commands are explained to be able
to give a single domain.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2007-12-07 12:44:27 +00:00
Keir Fraser efc79cff05 [IOEMU] Correct hu keymap definitions
Signed-off-by: Pat Campbell <plc@novell.com>
2007-12-07 12:43:06 +00:00
Keir Fraser 41b8b425f2 [IOEMU] Add latin2 key symbol definitions.
Allows Hungarian users plus others to enter their language specific
accented characters.

Signed-off-by: Pat Campbell <plc@novell.com>
2007-12-07 12:42:24 +00:00
Keir Fraser 294cce3c9d Fix ioemu compile: serial.c was including a Linux-specific header.
Signed-off-by: John Levon <john.levon@sun.com>
2007-12-07 00:41:54 +00:00
Keir Fraser fea50b8c98 x86: Remove bogus variables on construct_dom0()
The check for supervisor_mode_kernel feature bit was being done on the
dom0_features_{supported,required} variables, but they are always set
to zero.

The feature bits are stored on elf_dom_parms struct, not on those
variables.

From: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2007-12-06 17:47:53 +00:00
Keir Fraser ac1cdd2831 ia64: Fix build after buf_ioreq struct change.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2007-12-06 17:10:26 +00:00
Keir Fraser 32ba0b79ea libxc: Interface has changed a bit since Xen 3.1, so bump the major
number.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2007-12-06 15:36:07 +00:00
Keir Fraser d39c9aec54 hvm: buffered_ioreq does not need a 'df' field. Add explicit bitfield
padding to ioreq and buf_ioreq structs.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2007-12-06 15:17:48 +00:00
Keir Fraser cdac12a18c 32-on-64: Fixes to previous changeset.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2007-12-06 13:56:00 +00:00
Keir Fraser 5cc77f9098 32-on-64: Fix domain address-size clamping, implement
copy-on-grant-transfer, and eliminate 166GB memory limit for x86/64
Xen.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2007-12-06 13:39:19 +00:00
Keir Fraser 8fd28ec7bd ACM: Recover if XML policy representation is missing.
Recover the system if the XML representation of the currently loaded
policy is missing. Force the installation of the DEFAULT policy.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2007-12-06 12:13:12 +00:00
Keir Fraser a814f6cd0f xm-test: An additional ACM security test case for the test suite.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2007-12-06 12:12:29 +00:00
Keir Fraser 485efe9630 hvm: Split no_missed_tick_accounting into two modes:
* no_missed_ticks_pending ('SYNC')
 * one_missed_tick_pending ('MIXED')

This is based on a patch by Dave Winchell <dwinchell@virtualiron.com>

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2007-12-06 11:56:51 +00:00
Keir Fraser c8a9164ee5 xc ptrace: Fix a couple of bugs in page-table walking.
Signed-off-by: John Zulauf <john.zulauf@intel.com>
2007-12-06 11:29:18 +00:00
Keir Fraser 2bdf72b25a [XEN, 32on64]: Correct continuation translation for large
compat_mmuext hypercalls.

At the point where we translate the continuation "nat_ops" points to
the beginning of the batch of "i" entries, therefore it must be
incremented by the number of entries processed "i - left". At the same
point "cmp_uops" points to the end of the batch of entries and must
therefore be decremented by "left".

The new count value has already been set by do_mmuext_op to "left" and
therefore it is correct to add "count - i" since that is the number of
entries that remain after this batch.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2007-12-06 11:24:02 +00:00
Keir Fraser 37f5ccfb57 x86: Fix management support on HP ProLiant systems.
Adds support to allow host-platform-specific handling of I/O port
traps. Specifically adds support to handle an HP ProLiant I/O port in a
special way.

Signed-off-by: Mike Garrett <michael.garrett@hp.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2007-12-06 11:23:04 +00:00
Keir Fraser 5048bfb260 qemu-dm: Limit transmit retries from virtual UART FIFO.
Signed-off-by: Trolle Selander <trolle.selander@gmail.com>
2007-12-06 10:41:10 +00:00
Keir Fraser 3d87f3ac6c xenstore: expanding_buffer variables are supposed to be static. Apart
from anything else, this was guaranteeing they were initialised.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2007-12-05 17:56:13 +00:00
Keir Fraser dc5b64fd61 Check block file existence.
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
2007-12-05 17:28:59 +00:00
Keir Fraser 6941772894 [QEMU-DM] Upgrade emulated UART to 16550A.
This patch adds 16550 emulation to qemu-dm. I still consider it a work
in progress, but from my testing, it consistently performs better than
the old code already, sometimes considerably so (on my laptop, dumping
out data over serial from a HVM DomU -> pty in Dom0 was up to 5.3
times faster than with the old 16450 code). I can consistenly reach
full 115200 baud speeds over physical serial lines when the virtual
device is backed by a phys port, which I never could with the old code.

There are still some things to be done. I want to add proper error
handling, so that overflow/framing & parity errors on the physical
port get detected and reported by the virtual port. Also, now that
FIFOs are in place, I believe performance could be improved
significantly by putting some code into the hypervisor so that reads &
writes from the FIFOs don't have to exit into qemu-dm at all. I'm also
reading up on the specs for newer uarts with deeper FIFOs.

Signed-off-by: Trolle Selander <trolle.selander@gmail.com>
2007-12-05 14:21:00 +00:00
Keir Fraser 44852556da [QEMU-DM] Modem control line & msl/mcr register support.
This patch enables handling of the modem/flow control lines of a
serial port when the backend for the virtual port is a physical serial
port. During initialization, it tries to load the msr with the
detected status from the real port (this is consistent with physical
uart, which starts with its msr values set according to the status of
the modem status lines). If the ioctl returns -ENOTSUP, then the code
assumes the backend is not a real serial port and will disable any
further attempts to manipulate or read the physical port's line
status.

It's tries to be as "correct" as possible in its msr/msl handling,
with the exception of modem line status change interrupts. A real
16550 uart apparently have a delay time of 250ns between when a modem
status line changes and the IRQ line goes high. In this patch, an
"idle" port is polled for line status changes only if the guest has
enabled UART_IER_MSI is enabled, and only polled every 10 ms.

Signed-off-by: Trolle Selander <trolle.selander@gmail.com>
2007-12-05 14:18:34 +00:00
Keir Fraser ebd0979ead hvm: Initialize vlapic->timer_last_update.
Without the fix, before the first vlapic timer interrupt is injected,
the "vlapic->timer_last_update" in vlapic_get_tmcct()  is always 0,
causing a wrong value of counter_passed.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2007-12-05 14:01:39 +00:00
Keir Fraser ea4f3a408e x86_64: Do not leak trampoline mapping into dom0's initial address space.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2007-12-05 13:49:19 +00:00