Commit Graph
9538 Commits
Author SHA1 Message Date
kaf24@firebug.cl.cam.ac.uk ec74700a6b Fix a regression in hvm_pio_assist() when booting Windows
on VT-x. Clean up the function also.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-05 12:23:49 +01:00
kaf24@firebug.cl.cam.ac.uk beac48024f gdbserver readme update.
Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
2006-04-05 10:54:29 +01:00
kaf24@firebug.cl.cam.ac.uk ad9f21014f There are a couple of bugs with the current handling of reads and writes
in the configuration space overlay functions. The wrong offset is passed
to the virtual field handlers. This patch uses the variable which
contains the correct offset. This patch also fixes the logic which
generates the actual value to write to a given virtual configuration
space field.

Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
2006-04-05 10:52:10 +01:00
kaf24@firebug.cl.cam.ac.uk e95a4836bc Define Xen interface version for tools build.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-05 10:41:11 +01:00
kaf24@firebug.cl.cam.ac.uk 1b7e15f112 Fix checksum-offload problems introduced in c/s 9514, due to
data_validated flag not being properly specified on the
device channel.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-05 10:37:37 +01:00
kaf24@firebug.cl.cam.ac.uk 28efb2481f We had reports of reboot not working on certain machines (specifically
Compaq/HP notebooks), where Linux already has code to deal with
that. Apparently that code was either deleted during the original port
or got added to Linux after the original port was done. Anyway, this
patch adds the respective Linux code (slightly adjusted) to deal with
the same systems in Xen.

From: Jan Beulich

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-04 15:20:12 +01:00
kaf24@firebug.cl.cam.ac.uk c82d714c9c With the standard (XEN) prefix and the setting of 8 words per line,
stack dumps on i386 came out at 81 characters per line. The change to
xen/arch/x86/traps.c makes this 80 (without changing the look on the
screen), and the change to xen/drivers/char/console.c arranges for
soft line breaks not getting duplicated by hard line breaks, so
displaying 80 characters per line doesn't result in a subsequent blank
line.

From: Jan Beulich

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-04 15:06:38 +01:00
kaf24@firebug.cl.cam.ac.uk b9d11c5788 HVM patch to add pio IOREQ_WRITE OVERLAP/REPZ support in hvm io.c
hvm_pio_assist().  Also, cleaned up a bit of duplicate code in the
functions.  Simple guest tests (ide pio) pass now for overlapped/rep
write operations.

Signed-off-by: Tom Woller <thomas.woller@amd.com>
Signed-off-by: Mats Petersson <mats.petersson@amd.com>
2006-04-04 15:05:17 +01:00
kaf24@firebug.cl.cam.ac.uk c8a220e4f7 Simplify the Xen genapic code. Many genapic hooks have been
replaced with unconditional static 'sane' implementations.
Functions relating to interrupt/IPI delivery have been
grouped into two sets: physical delivery and logical-flat
delivery. All subarchitectures use physical delivery except
the basic default subarchitecture.

The main behavioural changes are:
 1. Summit no longer uses logical-clustered delivery mode
 2. Physical mode no longer makes any pretence to set the
    LDR sanely. We never deliver interrupts in logical mode
    so this really should not matter.
 3. Sanity checking of phys_cpu_present_map is enabled
    for all subarchitectures. Really we should have a sane
    set of APIC IDs in the system, as we rely on them for
    physical delivery mode.
 4. We enable 'bigsmp' mode on any system with more than
    eight CPUs. The previous xAPIC check was unnecessary,
    since our bigsmp mode uses physical delivery, not
    logical-clustered.

This all obviously needs testing on some big systems.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-04 15:00:41 +01:00
sos22@douglas.cl.cam.ac.uk 295b4af4a1 fix mfn check of gnttab_transfer().
Signed-off-by: Steven Smith, sos22@cam.ac.uk
From: Isaku Yamahata <yamahata@valinux.co.jp>
2006-04-04 14:04:32 +01:00
emellor@leeni.uk.xensource.com c0693d2c6e Workaround bug in xmlrpclib's string escaping. That library outputs invalid
UTF-8 if given a string containing high-bit characters, so instead pass in
Unicode strings, for which the escaping is correct.

This fixes a bug seen when the dmesg of a machine contains high bit characters,
but I'm sure there are other ways in which it might be triggered.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-04-04 11:08:20 +01:00
kaf24@firebug.cl.cam.ac.uk af37573f2c Build a few more common network options into the i386 -xen kernel.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-04 09:53:53 +01:00
emellor@leeni.uk.xensource.com cb52e35a60 Merged. 2006-04-03 23:58:40 +01:00
emellor@leeni.uk.xensource.com 2df295f268 Lookup backend by name _or_id_. This is important for domain 0, for example!
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-04-03 23:57:42 +01:00
emellor@leeni.uk.xensource.com d0263f0fa4 Fix cpus string parsing, wrt use of ^ to remove elements.
Patch from Satoshi Uchida <s-uchida@ap.jp.nec.com>.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-04-03 18:39:21 +01:00
emellor@leeni.uk.xensource.com 15b8695184 The attached patch fixes a race condition that occurs if after the
backend has been removed there are still requests pending. This patch
flushed all the pending requests.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-04-03 18:32:43 +01:00
mip@xencore04.1virtual.net ea0ce2d439 Improve pygrub error reporting when opening ext2 fs is not possible
As reported in the thread:
http://lists.xensource.com/archives/html/xen-users/2006-03/msg00721.html,
pygrub does not open ext2 file systems in partitioned images or sub
partitions on e.g. CentOS/RHEL 4, because e2fsprogs ext2fs_open does not
support an offset into the file to be opened.

With this patch, the error is correctly reported instead of a generic
"unable to open file" (and leaving the user searching in the dark).

Signed-off-by: Michael Paesold <mpaesold@gmx.at>
2006-04-03 18:28:54 +01:00
tkuik@tkuik-lnx2.cisco.com d2a5e52e8c Allow a domain other than Domain-0 to be a backend.
Signed-off-by: Tim Kuik tkuik@cisco.com
2006-04-03 18:23:00 +01:00
kaf24@firebug.cl.cam.ac.uk 6daae768eb Remove some dead code from the consoled client.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2006-04-03 17:48:39 +01:00
kaf24@firebug.cl.cam.ac.uk 4b233c8749 Clean up subarch 'mach-foo' header files. No need for
subarch apicdef.h and ipi.h can be much simplified.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-03 17:47:42 +01:00
kaf24@firebug.cl.cam.ac.uk f55976facf Remove send_IPI_all, send_IPI_allbutself and send_IPI_self
shortcutting IPI functions. They're either unused or used so
frequently that we may as well simplify things and always use
send_IPI_mask.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-03 16:35:06 +01:00
kaf24@firebug.cl.cam.ac.uk 5e8883cc8c Added tag 3.0.2-branched for changeset d0d3fef37685be264a7f52201f8ef44c030daad3 2006-04-03 15:52:58 +01:00
Ian.Campbell@xensource.com d3cf31ddb2 Handle failure to register the xen store event channel instead of
just not initialising xenbus/store when the supervisor_mode_kernel
feature flag is enabled.

When initialising grant tables only -ENOSYS is a valid reason
to fail so BUG_ON anything else like we did prior to changeset
9498.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
3.0.2-branched
2006-04-03 14:34:20 +01:00
kaf24@firebug.cl.cam.ac.uk 0c48c2080d Make checksum handling in the virtual network drivers more robust.
Largely this involves making the logic symmetrical: for example,
not only should netfront be able to tell netback that a packet has
an empty protocol checksum field, but the reverse must also be true.

Another change is that the drivers only advertise IP checksum
offload functionality. There is currently no information
propagated across the device channel about the offset of the
protocol-specific checksum field. Therefore it is not safe to
defer checksum calculation for protocols the remote end may not
understand -- it will end up dropping having to drop the packet.

Yet another change is to allow netback to disable tx checksum
offload, just as we already could for netfront. Currently there is
no support for disabling rx checksum offload -- that would seem
to require some way of propagating the checksum-offload advertisement
(or lack of it) across the device channel, as it really ought to be
the transmitter that acts on it.

Thanks to Ian Jackson for pointing out some of the problems with
our checksum-offload handling. Several of the changes here are
due to his comments.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-02 16:16:53 +01:00
kaf24@firebug.cl.cam.ac.uk 10daa80b93 Enable HYPERVISOR_sched_op() and HYPERVISOR_sched_opt_compat() for ia64.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-04-02 09:49:17 +01:00
kaf24@firebug.cl.cam.ac.uk 8adde1d0c5 Define __XEN_INTERFACE_VERSION__ when building Xen.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-02 09:48:04 +01:00
kaf24@firebug.cl.cam.ac.uk 9cf21925de This patch fixes several issues related to vmxassist:
1) AP bring up;
2) RHEL4 IA32e installation;
3) SLES10 IA32e installation;

Signed-off-by: Xin Li <xin.b.li@intel.com>
2006-04-01 14:59:12 +01:00
kaf24@firebug.cl.cam.ac.uk 97c44fa2f3 Rename sched_op->sched_op_compat and sched_op_new->sched_op
after Christian's interface cleanup.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-01 11:08:50 +01:00
kaf24@firebug.cl.cam.ac.uk d057bf8506 When dom0 fails to balloon enough memory to allow a new domain to start,
an exception is thrown.  The test that decides which exception to throw
is backwards, resulting in strange error messages.  The attached patch
fixes the problem.

Signed-off-by:  Charles Coffing <ccoffing@novell.com>
2006-04-01 10:52:47 +01:00
kaf24@firebug.cl.cam.ac.uk 840ac8df5a Changed deprecated "set-vcpus" to "vcpu-set" in the xm man page.
Signed-off-by:  Charles Coffing <ccoffing@novell.com>
2006-04-01 10:50:58 +01:00
kaf24@firebug.cl.cam.ac.uk 85c024b331 Fix makefiles for hvmloader and vmxassist for FC5 on x86_64
systems.

In FC5, gcc has issues with the command lines used to build
hvmloader and vmxassist.  Basically, the compiler doesn't
like the combination of -m64 and -m32.  As these are 32 bit
apps, and intended to be, take a modified approach and simply
define XEN_TARGET_ARCH for 32 bits.  This cleans up the
command line and builds the images correctly.

From: Ben Thomas <ben@virtualiron.com>

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-01 10:49:42 +01:00
kaf24@firebug.cl.cam.ac.uk 75a5d014e3 [SVM] Do not update seg.base in realmode while obtaining the io
addr for ins/outs.

Signed-off-by: Tom Woller <thomas.woller@amd.com>
2006-04-01 10:40:54 +01:00
kaf24@firebug.cl.cam.ac.uk 76d1c06d09 Minor minios traps.c fix for x86/64.
Signed-off-by: Aravindh Puthiyaparambil
<aravindh.puthiyaparambil@unisys.com>
2006-04-01 10:39:31 +01:00
kaf24@firebug.cl.cam.ac.uk 17e838d026 [IA64] Include features header in xenbus_probe and build features.c
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-04-01 10:37:36 +01:00
kaf24@firebug.cl.cam.ac.uk 5a3908ddfd Add new boot parameter 'lowmem_emergency_pool' which creates
an emergency pool of pages below 4GB (i.e., in Xen's DMA pool)
which will ever be used to satisfy normal allocation requests.

This is particularly useful in an i386 PAE environment to ensure
that pages will always be available for allocation as
page-table base directories.

Usage, for example (to reserve 16MB):
 lowmem_emergency_pool=16M

In a PAE environment, each reserved megabyte guarantees you should
be able to create up to 256 processes (counted across all guests).
16MB means you're good for 4096 processes.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-01 10:20:10 +01:00
cl349@firebug.cl.cam.ac.uk 05c8070bb4 Fix do_IRQ high bit masking.
Instead of setting the highest bit (which isn't easily done on native x86_64),
negate the interrupt vector stored in orig_{e,r}ax.
Also add patch for native build.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-03-31 17:44:26 +01:00
kaf24@firebug.cl.cam.ac.uk e5829dcbe1 Plumb network vif credit-based rate limiting thorugh xenbus
and xend into xm guest config files.

A new vif parameter 'rate' is supported, with an optional time window
paremeter for specifying granularity of credit replenishment. The default
window is 50ms. For example:

 'rate=10Mb/s'  'rate=250KB/s'  'rate=1MB/s@20ms'

From: Chris Clark <christopher.w.clark@gmail.com>

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-31 15:34:52 +01:00
kaf24@firebug.cl.cam.ac.uk f8253f9f48 Currently, xm & xend allow an XAUTHORITY to be specified in the config
file.  If that is not specified, then xm will pass the XAUTHORITY
environment variable back to xend instead.  This is not sufficient,
since it is possible that XAUTHORITY is not set at all.  This doesn't
cause a problem for most X apps, because xlib will use the fall-back of
$HOME/.Xauthority.  But the viewer is started from xend, which almost
certainly doesn't have a reasonable HOME variable.

We fix this by always passing some value for
XAUTHORITY.  In order of preference, that value is:
1.  Use the value from the config file, if specified.
2.  Use the value from the XAUTHORITY env variable, if set.
3.  Use $HOME/.Xauthority, if HOME is set.
4.  Look up the user's home directory via getpwuid, and append
"/.Xauthority"

Signed-off-by: Charles Coffing <ccoffing@novell.com>
2006-03-31 13:51:19 +01:00
kaf24@firebug.cl.cam.ac.uk 68b564efee Various softirq cleanups:
1. Make __softirq_pending a long, since PPC borrows the file
    hardirq.h from us and they only do atomic ops on longs.
 2. do_softirq() explicitly takes a void param list.
 3. Remove idle_timestamp field from irq_cpustat. It's unused
    and lets us simplify the idle loop a little bit.

Part 1 based on a patch from Hollis Blanchard at IBM.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-31 12:03:42 +01:00
Ian.Campbell@xensource.com 5a5d245c8c Disable xen bus and grant tables when supervisor_mode_kernel is enabled.
Neither of these features are useful/available in this mode since only a
single domain is supported.

Do not attempt to initialise xen bus when supervisor_mode_kernel is
enabled.

Do not BUG_ON() failure to setup grant tables, future versions
of supervisor_mode_kernel may return -ENOSYS here. 

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-03-31 11:04:42 +01:00
kaf24@firebug.cl.cam.ac.uk 6601a234d1 See panic messages before the post message processing.
Signed-off-by: Jimi Xenidis <jimix@watson.ibm.com>
2006-03-31 10:24:17 +01:00
kaf24@firebug.cl.cam.ac.uk 3d95d58003 Enable the setting and trapping of breakpoints for hvm guest.
Catch Ctrl-C for gdbserver and let gdb break from continue command.

Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
2006-03-31 10:07:55 +01:00
kaf24@firebug.cl.cam.ac.uk f651bf191b The ia64 build doesn't yet include drivers/xen/Kconfig directly so we
need to replicate the new XEN_INTERFACE_VERSION option in the arch
Kconfig.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-03-31 10:06:20 +01:00
emellor@leeni.uk.xensource.com 62b8bcaf48 Merged. 2006-03-31 00:26:07 +01:00
emellor@leeni.uk.xensource.com f207095aac Remove the transaction parameter from xenbus_switch_state and move the state
switch out of a transaction, in the few cases where it is inside one.

In order to behave properly, it is necessary for a driver to know its own
xenbus state (see changeset 9469:b3cb19d2b07f, for example).  This
value is stored as xenbus_device.state and updated by xenbus_switch_state.

If xenbus_switch_state occurs within a transaction, then there is a possibility
that the transaction would be aborted, leaving the state field dangerously out
of sync with the value currently in the store.

This fixes recent problems seen whereby bringing multiple devices up at the
same time results in some devices not coming up (often all of the even-numbered
ones, because of the pattern of transaction conflict).

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-31 00:24:54 +01:00
emellor@leeni.uk.xensource.com 0464aecf6c Better formatting of error messages for xmlrpclib.Faults, matching similar code
in main.py.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-31 00:15:12 +01:00
emellor@leeni.uk.xensource.com 6b914525af Print error messages to stderr. Remove unused handle_xend_error.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-31 00:14:09 +01:00
emellor@leeni.uk.xensource.com 8d3271b7cc Set the permissions correctly on the XML-RPC UDP socket, so that non-root users
cannot use the socket.

This closes a security hole, and fixes the intermittent failure
of xm-test/06_list_nonroot.test.

c.f. xen-unstable changeset 9205:faa1eb1621b9 (same bug, different socket).

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-31 00:13:33 +01:00
emellor@leeni.uk.xensource.com 7a6ee342c3 Further attempts to recover from a corrupt store, this one triggered when a
tdb_store fails.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-31 00:10:54 +01:00
emellor@leeni.uk.xensource.com 26c829aa89 Don't use abbreviated ip subcommands -- these are not accepted by iproute2.
Closes bug #478.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-31 00:09:42 +01:00