Commit Graph
1406 Commits
Author SHA1 Message Date
kaf24@firebug.cl.cam.ac.uk d22717c6c4 [TPM] Update the TPM drivers in the repository to a newer version
and also fixes the following:

- a problem introduced by a recent change to the xenbus_driver structure
requires driver-specific data to be stored in another data structures
- removes the #define'd MIN by min/min_t
- moves the sysfs entry to /sys/devices/xen/<vtpm-%d>
- fixes a bug occurring during cancellation of requests
- updates the default configuration to also compile the TPM V1.2 driver
submitted in part 2 of this patch
- all changes made to the generic TPM driver are surrounded by #ifdef
CONFIG_XEN's.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-06-28 16:20:29 +01:00
kaf24@firebug.cl.cam.ac.uk 421afcd1c5 [NET] back: Add TSO support
This patch adds TCP Segmentation Offload (TSO) support to the backend.
It also advertises this fact through xenbus so that the frontend can
detect this and send through TSO requests only if it is supported.

This is done using an extra request slot which is indicated by a flag
in the first slot.  In future checksum offload can be done in the same
way.

The extra request slot must not be generated if the backend does not
support the appropriate feature bits.  For now this is simply feature-tso.

If the frontend detects the presence of the appropriate feature bits,
it may generate TX requests which have the appropriate request flags
set that indicates the presence of an extra request slot with the extra
information.

On the backend the extra request slot is read if and only if the request
flags are set in the TX request.

This protocol allows more feature bits to be added in future without
breaking compatibility.  At least the hardware checksum bit is planned.

Even though only TSO is supported for now the code actually supports
GSO so it can be applied to any other protocol.  The only missing bit
is the detection of host support for a specific GSO protocol.  Once that
is added we can advertise all supported protocols to the guest.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-28 12:04:32 +01:00
kaf24@firebug.cl.cam.ac.uk 2a3c1a46fd [NET] loopback: Added support for TSO
Just like SG, TSO support here is innate.  So all we need to do is mark it
as such.  This patch also adds the ethtool control functions for SG.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2006-06-28 12:03:57 +01:00
kaf24@firebug.cl.cam.ac.uk b42136412c [NET]: Give make_tx_response the req pointer instead of id
This patch changes the make_tx_response id argument to a request pointer
instead.  This allows us to test the request flag in future for TSO.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2006-06-28 12:03:19 +01:00
kaf24@firebug.cl.cam.ac.uk f675a984a4 [NET]: Added GSO support
Imported GSO patch.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2006-06-28 12:03:01 +01:00
kfraser@dhcp93.uk.xensource.com a99e645031 [BLKBACK] Output statistics to sysfs.
The location is 'statistics' directory under each VBD directory, for
example, /sys/devices/xen-backend/vbd-x-xxxx/statistics.

The 'statistics' directory includes the following three statistical
information:
  oo_req
       is the number of requests held up due to full pipeline.
  rd_req
       is the number of processed READ requests.
  wr_req
       is the number of processed WRITE requests.

Signed-off-by: Satoshi UCHIDA <s-uchida@ap.jp.nec.com>
2006-06-28 10:32:43 +01:00
kaf24@firebug.cl.cam.ac.uk a259718342 [LINUX] Fix a few compile warnings and memory leaks in the sysfs driver.
Also clean up the general allocate-call-free idiom that is used
throughout the file.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-27 18:24:08 +01:00
kaf24@firebug.cl.cam.ac.uk 499ef041a5 [LINUX][BLKBACK] Support temporary disconnection from frontend.
Signed-off-by: Steven Smith <sos22@cam.ac.uk>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-27 18:08:46 +01:00
kfraser@dhcp93.uk.xensource.com 60d78dbe14 [LINUX] Allow dma_alloc_coherent() to work for regions up to 2MB.
The previous limit of 0.5MB was insufficient for some drivers
(e.g., when loading firmware).
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-27 12:17:45 +01:00
kaf24@firebug.cl.cam.ac.uk 3144ac0f72 [BALLOON] Add fallback code so that e.g. a domain ballooned too far down can still
(slowly) recover.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-06-27 11:43:04 +01:00
kaf24@firebug.cl.cam.ac.uk e1e21c589a [TPM] Fix an occasional problem when doing local migration due to the xenstore's
'instance' variable not being initialized at the time when it's driver
counterpart is accessed. That variable's content was used to initialize the
tpmif structure. Instead, now a pointer to the structure is passed whose
'instance' variable will be initialized before the domain is resumed.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-06-27 11:29:29 +01:00
kaf24@firebug.cl.cam.ac.uk b9a9bc6e86 Add Xenoprof passive domain support
Signed-off-by: Yang Xiaowei <xiaowei.yang@intel.com>
Signed-off-by: Jose Renato Santos <jsantos@hpl.hp.com>
2006-06-27 11:23:06 +01:00
kaf24@firebug.cl.cam.ac.uk 110b2784a3 [VTPM_TOOLS] Hotplug script enabled the vtpm manager and removed the
control messages from the BE.

Signed-off-by: Vincent Scarlata <vincent.r.scarlata@intel.com>
2006-06-27 11:15:48 +01:00
kaf24@firebug.cl.cam.ac.uk 3d8026009b Add XENVER_pagesize hypercall.
Make xen pagesize available through xm info and sysfs.
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-06-27 10:44:33 +01:00
kaf24@firebug.cl.cam.ac.uk 060b6f6d38 [LINUX][TPM] Use min_t/min instead of the #define'd MIN.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-06-21 16:55:25 +01:00
kaf24@firebug.cl.cam.ac.uk 9fb9651ac5 [LINUX] Transparent virtualization fixes.
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-06-21 16:54:09 +01:00
kfraser@dhcp93.uk.xensource.com 19c8828f4b Add new XENMEM_machphys_mapping to get info about location and
sizeof of the mach2phys table default mapping. Use this in Linux to
dynamically adapt the mfn_to_pfn() routine to undelrying hypervisor.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-20 14:45:46 +01:00
kfraser@dhcp93.uk.xensource.com 0f296e1985 [LINUX] Another fix to i386 mfn_to_pfn().
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-20 13:45:23 +01:00
kfraser@dhcp93.uk.xensource.com 2a2bc9fabb [LINUX] Fix i386 build -- define max_mapnr in mfn_to_pfn().
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-20 13:42:08 +01:00
kfraser@dhcp93.uk.xensource.com 5363eb610a Export machine_to_phys start and end addresses to guests.
Use this info in Linux to bounds-check accesses to the
m2p table.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-20 12:01:09 +01:00
kaf24@firebug.cl.cam.ac.uk 9c8f5290ef Small fixes to changesets 10424 and 10425 (spurious #PF detection).
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-17 12:57:03 +01:00
kaf24@firebug.cl.cam.ac.uk d994f81846 [LINUX] Fix dependencies on CONFIG_PROC_FS.
Signed-off-by: Horms <horms@verge.net.au>
2006-06-17 08:56:02 +01:00
kfraser@dhcp93.uk.xensource.com d6a811acc8 [LINUX] Add spurious page-fault detection, intended primarily
for spurious write faults on mappings that have been
changed from read-only to writable. If a CPU has a stale
read-only entry in its TLB, it is allowed to fault on
the next write access without re-walking the page table.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-16 18:19:40 +01:00
kfraser@dhcp93.uk.xensource.com 8d9ab5812a Merge with xen-ia64-unstable.hg. 2006-06-16 18:08:27 +01:00
awilliam@xenbuild.aw 02395c12da merge with xen-unstable.hg 2006-06-16 09:10:08 -06:00
kfraser@dhcp93.uk.xensource.com a2ee238fcf [LINUX] Use new XENMEM_exchange hypercall (where possible)
to provide watertight implementations that should never crash
in ENOMEM situations.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-16 14:45:01 +01:00
kaf24@firebug.cl.cam.ac.uk 12217db9c5 [LINUX] Export new gnttab_cancel_free_callback() to modules.
Signed-off-by: Charles Arnold <carnold@novell.com>
2006-06-16 10:52:49 +01:00
awilliam@xenbuild.aw 364f9d8028 merge with xen-unstable.hg 2006-06-15 10:23:57 -06:00
awilliam@xenbuild.aw 42162a97c0 [IA64] work around for skbuff_ctor() on non-privileged domain
populate physmap/increase reservation hypercall fail with
extent order > 0 on non-privileged domain.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-15 09:10:14 -06:00
awilliam@xenbuild.aw fc22e34ca6 [IA64] fix garbage in irq_ia64.c kernel message
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-06-15 08:56:47 -06:00
kaf24@firebug.cl.cam.ac.uk 1bf1344c7c [LINUX][PAE] Fix e820 setup for PAE guests: preserve high-order bits of max_pfn.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-15 13:30:35 +01:00
kaf24@firebug.cl.cam.ac.uk d406847ecc [LINUX] Network buffers do not need to be multi-page contiguous
for unprivileged domains (in any case, can fall back to swiotlb).
On non-privileged domain of Xen/IA64, this caused some trouble.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-15 13:19:04 +01:00
kaf24@firebug.cl.cam.ac.uk aedc7640e6 [LINUX] Only destroy a machine-contiguous memory region if
it really is contiguous (e.g., create_contiguous did not fail).
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-15 11:35:23 +01:00
kaf24@firebug.cl.cam.ac.uk 45b1830267 [LINUX][PAE] More fixes to pgd allocation. Since allocating pmds
can sleep, we could race save/restore and end up with stale
machine addresses stores in pgd entries. Avoid this by
remembering virtuall addresses and translating to machine
addresses all at the end and protected by the pgd_lock.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-14 17:06:28 +01:00
kaf24@firebug.cl.cam.ac.uk 2fd80b3aac [NET] front: Discard packets in tx ring rather than attempting retransmit
when reconnecting to backend driver (e.g., after save/restore or migrate).

Two main reasons for this: 
 1. The retransmit code is broken for fragmented packets. It would need
    a rewrite to cope with the new scatter-gather format.
 2. We will drop packets anyway, in both directions (e.g., takes some
    time for received packets to be redirected to new virtual interface;
    also further transmitted packets from the network stack are dropped
    after we call netif_carrier_off(), so even if we retransmite what's
    already in the ring it is likely that some subsequent packets will
    already be lost).

If this causes downtimes that are too long (particularly for live
relocation) then the whole strategy for buffering packets while the
frontend-backend connection is severed needs to be considered.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-14 13:11:44 +01:00
kaf24@firebug.cl.cam.ac.uk e2f381e315 [LINUX][PAE] Improve allocation strategy when PAE pgdirs must be below 4GB.
Moving the re-allocation to low memory into pgd_alloc() has several
advantages:
 1. Avoids race with save/restore where pgdir may end up above 4GB after
    save/restore.
 2. If pgdir cannot be re-allocated we can return failure to the caller
    rather than BUG().
 3. Slightly reduces diff against native Linux code.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-14 12:36:06 +01:00
kaf24@firebug.cl.cam.ac.uk be252f5f66 [LINUX][BLK] front: More care over device teardown.
1. We must ensure gnttab callbacks are disabled and all work
    flushed before tearing down device state. A new gnttab interface
    call is added for this purpose.
 2. blkif_free() must check for a request_queue before deref'ing it.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-14 11:19:53 +01:00
awilliam@xenbuild.aw af12de808b [IA64] Remove Makefile entry for xenia64_init
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-06-13 12:50:47 -06:00
awilliam@xenbuild.aw 3d089e3ba1 merge with xen-unstable.hg 2006-06-13 12:12:24 -06:00
awilliam@xenbuild.aw ba7d0c6127 [IA64] Define mfn_to_local_pfn()
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-06-13 11:41:05 -06:00
awilliam@xenbuild.aw e4f73d5c2a [IA64] Revert xen-ia64-unstable.hg cset 10237
back out the change set 10237 which causes domain creation failure.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-13 09:00:32 -06:00
awilliam@xenbuild.aw 59c720c672 [IA64] Revert xen-ia64-unstable.hg cset 10238
back out the change set 10238 which causes domU creation failure.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-06-13 08:59:26 -06:00
kaf24@firebug.cl.cam.ac.uk 1d0986e6b4 [LINUX] Eliminates a deadlock and reduce (sometimes significantly) the time
interrupts are off during context switch.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-06-13 15:56:28 +01:00
kaf24@firebug.cl.cam.ac.uk 423ce9cf9e [LINUX] A better way to stop blkdev request handling in blkfront
driver.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-13 15:33:10 +01:00
kfraser@dhcp93.uk.xensource.com ade82aac45 [LINUX] Fix blkfront driver to check connection status to backend in
all critical circumstances.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-13 15:13:29 +01:00
kfraser@dhcp93.uk.xensource.com 063f4cc497 [LINUX] Export some tlb-flush functions to modules, which are
directly accessible via macros in tlbflush.h.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-13 14:08:37 +01:00
Ian.Campbell@xensource.com c9c67d5a02 [LINUX] Correctly return the results of {event_channel_op,physdev_op}_compat
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-06-13 10:14:20 +01:00
kfraser@dhcp93.uk.xensource.com ea266bc5e8 [LINUX] Fix code indentation in Linux drivers.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-12 18:32:47 +01:00
shand@chelmsford.uk.xensource.com 9f640de2b0 Fix race in device resume path - need to ensure we add the watch only
after the device-specific resume code has run. Also removed some unused / 
usless code from netfront.c. 

Signed-off-by: Steven Hand <steven@xensource.com>
2006-06-12 17:56:20 +01:00
kaf24@firebug.cl.cam.ac.uk b4bd6fd400 [LINUX] Fix interaction between idle loop and RCU subsystem.
There is a problem with the current implementation of stop_hz_timer in
arch/i386/kernel/time-xen.c where the hz timer can be stopped on a CPU
which has RCU callbacks pending.

This patch backports a new RCU API created to fix this problem for the
s390 implementation of stop_hz_timer and also updates the time-xen.c
implementation of stop_hz_timer to call the new API.

Signed-off-by: Harry Butterworth <butterwo@uk.ibm.com>
2006-06-12 14:17:05 +01:00