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>
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>
read-only in domain 0, but still fails to be shared with a domU, because
it is mis-identified as being mounted writable. (On SUSE, CDs and DVDs
are auto-mounted not with merely permissions "ro", but
"ro,nosuid,nodev", hence the mis-identification.)
Signed-off-by: Charles Coffing <ccoffing@novell.com>
such domain) inside each of the public-facing functions. This fixes the
Internal errors seen when specifying an invalid domain.
domain_pincpu takes cpumap, which is a list, not a string, so there's no need
to try and split it up. Fixes xm vcpu-pin.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
under Python 2.3; traceback.format_exc was introduced in 2.4, so we can't use
it.
Added some exception logging.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
1. gdb_regs for 64bit, and macros to transfer regisers between ptrace
registers to gdb registers
2. xc_ptrace code building for 64bit
3. Implementation of new map_domain_va for 64bit
4. gdbserver-xen build configuration fixes for 64bit
From: Nitin Kamble
Signed-off-by: Keir Fraser <keir@xensource.com>
several problems. It will now only read and write a transmit or receive
descriptor once. It will correctly handle transmitting frames with more
than two fragments. It will discard oversize frames instead of
corrupting memory. I have tested all the changes I have made and even
seen an improvement in receive performance from 1.7MB/s to 3.3MB/s.
Your mileage will vary.
The code could be simplified if multi-fragment frames were deleted. It
appears that both Linux and Windows XP don't use fragmented frames.
The mac crc computation code was deleted, since it has never been used.
The code was checking the wrong bit in the control register.
I tested type 3 descriptors by modifying the linux pcnet32 driver, but
did not see any difference in performance over type 2 currently used.
I have not made any change to type 0 (16-bit) transmit/receive
descriptors as I have no way to test the changes.
Please test this as soon as possible, as I will be on vacation next week
and in a class the following week. I will check email from time to
time, but my ability to make changes to code will be greatly dimished.
One other thing I noticed in my testing, is that if I tell a linux domU
to reboot, it will reboot but not have any pcnet32 device after
rebooting. By doing a shutdown, xm destroy and xm create, I was able to
get around that problem.
Signed-off-by: Don Fry <brazilnut@us.ibm.com>
There are two possible root causes for 515, both of which are only problems in the non-udev hotplug case because udev uses udevsend which already implements the required serialisation.
1) Script concurrency.
2) Kernel reordering hotplug events.
This changeset fixes (1) but not (2). Since (1) is the problem that seems to be happening this is probably OK.
A fix for (2) for the hotplug case might be to add extra serialisation using state changes in the store but this would impact all the drivers and the code and extra complexity would be redundant once everyone had moved to udev. This doesn't seem worthwhile unless we actually start to see (2) happening.
XEND_INVALID_DOMAIN faultType.
2) Fix exception logic in XMLRPCServer
3) Fix TCP server
4) Remove catching of ProtocolError in main.py. ProtocolErrors only occur
when there is an exception in the exception handling code which shouldn't
ever happen. I've reproduced the error cases described by Ewan with
xend_domain_setTargetMemory and once I fixed the exception logic, I get a
normal faultType of 1 as would be expected.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
with multiple arguments, printf style. This is already being done in some
cases (causing an exception of course).
Signed-off-by: Ewan Mellor <ewan@xensource.com>
us greater confidence that our talloc implementation is "known good". Remove
the OOM handling from consider_message: talloc_set_fail_handler is no longer
supported.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
when a domain is specified by the user that does not exist. Added a few
error codes -- many more to come, I expect.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
UnixXMLRPCRequestHandler through to TCPXMLRPCServer.
Do not log requests -- this fills up xend-debug.log uselessly.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
This changeset introduces a new XML-RPC service that runs in Xend and the
required changes to have xm use this new service by default.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
dom0. This allows you to bind devices to the backend driver *after*
dom0 has booted. You are no longer required to specify the devices to
hide on the kernel command-line. Using the bind/unbind driver
attributes (see /sys/bus/pci/drivers/pciback), you can specify which
devices that the PCI backend will seize. There are three new driver
attributes in that directory:
slots - lists all of the PCI slots that
the PCI backend will try to seize
new_slot - write the name of a slot here
(in 0000:00:00.0 format) to have the PCI
Backend seize the device in this slot
remove_slot - write the name of a slot here to have
the PCI Backend no longer try to seize a
device in this slot
Note that writing to new_slot/remove_slot does not actually change
whether the PCI Backend is actually bound to the device in that slot or
not. Instead, it tells the PCI backend which slots it should be
interested in. The sysfs attributes "bind" and "unbind" (which are
common to all drivers, not just the PCI Backend) must be used to
actually add or remove a device from the PCI backend driver. Note that
the syntax for specifying a device to bind and unbind is very strict (do
not append a newline).
For Example:
# Add a new slot to the PCI Backend's list
echo -n 0000:01:04.d > /sys/bus/pci/drivers/pciback/new_slot
# Now that the backend is watching for the slot, bind to it
echo -n 0000:01:04.d > /sys/bus/pci/drivers/pciback/bind
# Unbind a PCI network card from its network driver
echo -n 0000:05:02.0 > /sys/bus/pci/drivers/3c905/unbind
# And now bind it to the PCI Backend
echo -n 0000:05:02.0 > /sys/bus/pci/drivers/pciback/new_slot
echo -n 0000:05:02.0 > /sys/bus/pci/drivers/pciback/bind
Unfortunately, Linux makes it possible to remove (unbind) a PCI device
from the PCI backend while that device is attached to a driver domain.
It is also possible to unload the PCI Backend module while a PCI
Frontend is attached. DON'T DO EITHER OF THESE ACTIONS. This patch will
output warnings if you do try and do these. Be aware that while access
to the configuration space of the device has been revoked, the driver
domain can still access the I/O resources of the device as they have not
been revoked (although I *hope* to explore adding support for this
soon). Before unloading the module or unbinding a device, shutdown your
driver domain.
These patches also convert a few function and variable declarations to
static (no sense in polluting the global namespace with local function
names) and rename a few structures in drivers/xen/pciback/pci_stub.c.
Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
DESTDIR is empty, by preventing readlink from being called in that
case.
Another option would be to use readlink -s, but that has the
undesirable effect of staying silent in situations other than empty
DISTDIR/DESTDIR
Signed-off-by: Aron Griffis <aron@hp.com>
enables you to install SLES-10 as an unmodified guest.
Notice that at this time, vmxassist does not support the graphic bootstrap
loader (gfxboot), so be sure the set "stdvga=1" in your configuration file
to prevent gfxboot from kicking in (or hit SHIFT really fast).
Signed-Off-By: Leendert van Doorn <leendert@watson.ibm.com>
and watch teardown being run concurrently from multiple threads, silencing
the No such file or directory error when tearing down the control/shutdown
watch, and reducing load on the store.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
the intention appears to have been 500msec, but struct timeval when used with
a select() is in usec, not msec. The timeout has been set to 250msec (500msec
seems a little long, in any case).
Signed-off-by: Ewan Mellor <ewan@xensource.com>