initializing on domUs. Remove CONFIG_IDE_GENERIC as this is
unnecessary on ia64 systems (no ISA IDE controllers) and causes long
timeouts booting domU.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
This patch ends up affecting a couple other lines because it is the
result of a new make menuconfig, but those changes should be harmless.
Signed-off-by: Sean Dague <japh@us.ibm.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>
domain. Otherwise, when running a debug=y xen, we will get a assertion
failure in vmx_request_clear_vmcs(), since some vcpus may be not
initialized for HVM use yet.
Signed-off-by: Xin Li <xin.b.li@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.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>
kernels. Distros will be using -xen exclusively, so this change means that
developers and users of unstable will be (by default) using the same
configuration as the distros.
This can be overridden by setting KERNELS="linux-2.6-xen0 linux-2.6-xenU" on the
command line.
Signed-off-by: Ewan Mellor <ewan@xensource.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>
1. Split the serial port lock into receiver and transmitter locks.
2. In the ns16550 interrupt, only call the generic serial service
routines if there is receive (or transmit) work to do.
3. In the generic transmit ISR, avoid long spin-waits by *trying*
to take the transmitter lock and, if that fails, check again
whether the transmitter is empty. This will allow us to bail
bail quickly if there is a long-term lock holder stuffing lots
of bytes.
Also, gdbstub should be setting its serial handle in synchronous mode,
just for sanity.
Signed-off-by: Keir Fraser <keir@xensource.com>
into a single function.
On VMX, make the function work even when the passed VCPU is not the
currently-executing VCPU.
This allows gdbserver-xen to get correct cpu register context for VMX guests.
Signed-off-by: Keir Fraser <keir@xensource.com>
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
to GPL modules. Rename pte_page parameter to pmd_page (following the
Linux idiom). apply_to_pte_range() should take the pte spinlock.
Signed-off-by: Keir Fraser <keir@xensource.com>
1) bogomips=0 or a very huge number after booting ia32/ia32e vmx
2) Repeated keys show in Xwindow terminal after one key is pressed
Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.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>
1) To handle the situation when PE=1 and PG=0.
2) Windows PAE guest seems to enable PAE first and then enable PG.
Signed-off-by: Xiaohui Xin <xiaohui.xin@intel.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>
attribute. I've submitted this to lkml, but it should be included in
Xen now for people who will use the pciback late binding capability.
Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
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>
that are in-use if the PCI Backend goes away. This patch corrects that.
This patch also shortens the timeout in drivers/xen/pcifront/pci_op.c
(in an attempt to minimize the amount of time spent waiting with
interrupts disabled).
Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>