Commit Graph
9445 Commits
Author SHA1 Message Date
kaf24@firebug.cl.cam.ac.uk 9dd08d8ffb Add -xen buildconfig for ia64 and tweak CONFIG_VT setup to avoid
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>
2006-03-28 09:57:48 +01:00
kaf24@firebug.cl.cam.ac.uk 638f779fc5 Make -xen default kernel compile on x86_64 by removing b44 module.
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>
2006-03-27 18:03:03 +01:00
cl349@firebug.cl.cam.ac.uk 044cc18bf5 Whitespace.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-03-27 11:16:36 +01:00
kaf24@firebug.cl.cam.ac.uk 3ad72f8da8 Fix 64-bit HVM guest debug via gdbserver:
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>
2006-03-26 11:50:39 +01:00
kaf24@firebug.cl.cam.ac.uk f3a1bad634 Allow 64-bit Xen to run 64-bit hvm SMP guests.
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
2006-03-26 11:45:35 +01:00
kaf24@firebug.cl.cam.ac.uk 2e0416c354 Don't reclaim vcpus that are not put into use yet when destroying HVM
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>
2006-03-26 11:43:53 +01:00
kaf24@firebug.cl.cam.ac.uk 3df5f295f8 Fix build error with debug=y inxen/ia64 by moving
MAX_ORDER definition has moved into a header file. 

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2006-03-26 11:42:17 +01:00
kaf24@firebug.cl.cam.ac.uk ac58fadfa5 The attached patch to the qemu emulation of the pcnet hardware fixes
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>
2006-03-26 11:39:04 +01:00
kaf24@firebug.cl.cam.ac.uk 9c6543d4af Add format printf attribute to panic() prototype and fix the error
this catches.

Signed-off-by: Jimi Xenidis <jimix@watson.ibm.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-26 11:35:11 +01:00
kaf24@firebug.cl.cam.ac.uk 4d2384d456 Added tag 3.0.2-rc for changeset af0573e9e5258db0a9d28aa954dd302ddd2c2d23 2006-03-24 17:48:03 +01:00
emellor@leeni.uk.xensource.com b0ceb872c7 Switch the default build to make the -xen kernel, not the -xen0 and -xenU
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>
3.0.2-rc
2006-03-24 14:36:14 +01:00
harry@localhost.localdomain 5ebad7be89 Fix bug 515 by adding a global lock around the hotplug scripts in the non-udev hotplug case only.
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.
2006-03-24 14:31:20 +01:00
anthony@rhesis.austin.ibm.com 76e09e8238 1) Introduce new exception type XendInvalidDomain that maps to the high level
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>
2006-03-24 14:31:12 +01:00
kaf24@firebug.cl.cam.ac.uk 3e0dfe69c9 Create /var/xen/dump/ during tools installation, or core files
are not written even if we set (enable-dump yes) in xend-config.sxp.

Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
2006-03-24 12:28:58 +01:00
kaf24@firebug.cl.cam.ac.uk 1a8bbf93b8 Detect spurious faults taken in the hypervisor that are
due to writable pagetable logic.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-24 12:14:58 +01:00
kaf24@firebug.cl.cam.ac.uk 7e273af3ec This patch is mainly a cleanup of vmx related xentrace code. One minor
xentrace bug is fixed. 

Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com>
Signed-off-by: Yunfeng Zhao <yunfeng.zhao@intel.com>
2006-03-24 10:59:31 +01:00
kaf24@firebug.cl.cam.ac.uk 3095cdaf50 Update gdb documentation
* Kernel isn't 2.6.12 anymore
* ARCH=xen isn't needed for make anymore

Signed-Off-By: Horms <horms@verge.net.au>
2006-03-24 10:57:52 +01:00
kaf24@firebug.cl.cam.ac.uk 70f46c3045 The patch removes old Xenbus files, fixes 0 length mmu_updates table bug
(bugfix by Melvin Anderson) and adds missing console.h header file 
(again spotted by Melvin).

Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
2006-03-24 10:52:10 +01:00
kaf24@firebug.cl.cam.ac.uk c7b965a01c Fix mini-os xenbus.
From: Grzegorz Milos <gm281@cam.ac.uk>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-24 10:47:48 +01:00
kaf24@firebug.cl.cam.ac.uk 2acf021310 Remove unnecessary zlib includes.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-03-23 18:57:21 +01:00
kaf24@firebug.cl.cam.ac.uk fe6ed1ce99 on_selected_cpus() must not send IPIs with empty target masks.
This causes send accept errors on Pentium/P6 .

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-23 18:47:43 +01:00
emellor@leeni.uk.xensource.com 22f9491cad Merged. 2006-03-23 17:37:37 +01:00
emellor@leeni.uk.xensource.com 0e84746cfd Remove undefined XFAIL_TESTS variable.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-23 17:27:48 +01:00
emellor@leeni.uk.xensource.com 88e458024c Remove undefined XFAIL_TESTS variable.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-23 17:25:55 +01:00
cl349@firebug.cl.cam.ac.uk 3495154652 Remove unused variable.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-03-23 16:21:05 +00:00
kaf24@firebug.cl.cam.ac.uk a220cd9beb Reduce spin-waiting in Xen serial driver:
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>
2006-03-23 17:17:08 +01:00
kaf24@firebug.cl.cam.ac.uk 3b214d9b38 Merge hvm_store_cpu_guest_regs() and hvm_store_cpu_guest_ctrl_regs()
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>
2006-03-23 15:53:52 +01:00
kaf24@firebug.cl.cam.ac.uk c671da80d2 Rename generic_page_range as apply_to_page_range, export the symbol
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>
2006-03-23 15:30:00 +01:00
emellor@leeni.uk.xensource.com 40c4180263 Merged. 2006-03-23 14:45:21 +01:00
kaf24@firebug.cl.cam.ac.uk 5b7966f912 Fix 2 VMX time-related bugs:
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>
2006-03-23 14:44:51 +01:00
emellor@leeni.uk.xensource.com 785fc77792 Added copyright declaration for Christopher Clark, Andrew Tridgell.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-23 14:44:11 +01:00
emellor@leeni.uk.xensource.com 98009c2ad0 Use *args inside FAIL and SKIP so that it is possible to call these functions
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>
2006-03-23 14:34:35 +01:00
emellor@leeni.uk.xensource.com 1bac3b49cd Import the current version of talloc from the Samba 3 source base. This gives
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>
2006-03-23 14:32:15 +01:00
emellor@leeni.uk.xensource.com 64444a6982 Merged. 2006-03-23 14:26:38 +01:00
emellor@leeni.uk.xensource.com 2a07425a76 Merged. 2006-03-23 12:59:50 +01:00
emellor@leeni.uk.xensource.com 88aea7e5a8 Improve error handling, in particular fixing the ProtocolError that is thrown
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>
2006-03-23 12:59:43 +01:00
kaf24@firebug.cl.cam.ac.uk 5b1fe770e0 Enable Windows PAE guest on x86-64. Deals with two issues:
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>
2006-03-23 12:51:10 +01:00
emellor@leeni.uk.xensource.com 91c4832c49 Added exception handler for ProtocolError.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-23 11:58:19 +01:00
emellor@leeni.uk.xensource.com af19ef96d4 Added example config entries for xend-tcp-xmlrpc-server and
xend-unix-xmlrpc-server.  Deprecate the SXP-based servers, and disable them
by default.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-23 11:55:56 +01:00
emellor@leeni.uk.xensource.com cf2c1b2e25 Use the string Error: rather than Xend has generated an internal Fault:.
xm-test looks for this.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-23 11:42:19 +01:00
emellor@leeni.uk.xensource.com 9fffa2e25e Removed unused handler parameter from UnixXMLRPCServer interface -- just pass
UnixXMLRPCRequestHandler through to TCPXMLRPCServer.

Do not log requests -- this fills up xend-debug.log uselessly.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-23 11:40:43 +01:00
emellor@leeni.uk.xensource.com f9617f8209 Fix call to send_sysrq.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-23 11:30:33 +01:00
anthony@rhesis.austin.ibm.com 19c9e31146 Use XML-RPC as a transport for Xend instead of S-Expression/HTTP.
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>
2006-03-23 11:25:37 +01:00
kaf24@firebug.cl.cam.ac.uk b699d329f7 Fix a Linux bug in the driver core in regards to the bind sysfs driver
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>
2006-03-23 10:58:39 +01:00
kaf24@firebug.cl.cam.ac.uk 7d6c54d484 Support late binding of PCI devices to the PCI backend driver in
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>
2006-03-23 10:57:48 +01:00
kaf24@firebug.cl.cam.ac.uk 7a128eeb93 The PCI Frontend doesn't properly clean-up PCI buses and their devices
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>
2006-03-23 10:53:55 +01:00
kaf24@firebug.cl.cam.ac.uk 67f77e61bc SVM patch to fix guest time, including 64bit msr code - allowing 64bit
linux guests to enable APIC (ie. apic=1 now works in guest config file).

Signed-off-by: Tom Woller <thomas.woller@amd.com>
2006-03-23 10:50:34 +01:00
kaf24@firebug.cl.cam.ac.uk 10e2325b6a Fix build with crash_debug=y.
Signed-off-by: Muli Ben-Yehuda <mulix@mulix.org>
2006-03-23 10:47:44 +01:00
kaf24@firebug.cl.cam.ac.uk e12d3cd719 Update and extend netif transmit/receive flag names.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-23 10:46:28 +01:00
kaf24@firebug.cl.cam.ac.uk fed2a3f4c4 merge with xen-ia64-unstable.hg 2006-03-22 19:18:42 +01:00