]> xenbits.xensource.com Git - legacy/linux-2.6.18-xen.git/log
legacy/linux-2.6.18-xen.git
15 years agoUpgrade forcedeth net driver to 0.62 (driver package v1.25)
Keir Fraser [Thu, 28 May 2009 08:53:22 +0000 (09:53 +0100)]
Upgrade forcedeth net driver to 0.62 (driver package v1.25)

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
15 years agonetback: optionally return TX responses out-of-order
Keir Fraser [Wed, 27 May 2009 10:21:00 +0000 (11:21 +0100)]
netback: optionally return TX responses out-of-order

Add a mode to netback in which it tries to return TX responses in a
slightly less predictable order.  This can make some otherwise
hardware-specific frontend bugs reproduce much more easily, which is
obviously rather useful when trying to fix them.  It'd also be quite
useful for making sure they didn't happen in the first place.

Randomisation is only done if a module parameter is set, and defaults
to off.  It certainly isn't something you'd ever want to run with in
production, but it might be useful for other people developing
frontend drivers.  I don't know if that's considered an adequate
reason to apply it, but, if anyone wants it, here it is.

Signed-off-by: Steven Smith <steven.smith@eu.citrix.com>
15 years agoblktap2: a completely rewritten blktap implementation
Keir Fraser [Tue, 26 May 2009 10:23:16 +0000 (11:23 +0100)]
blktap2: a completely rewritten blktap implementation

Benefits to blktap2 over the old version of blktap:

* Isolation from xenstore - Blktap devices are now created directly on
   the linux dom0 command line, rather than being spawned in response
   to XenStore events.  This is handy for debugging, makes blktap
   generally easier to work with, and is a step toward a generic
   user-level block device implementation that is not Xen-specific.

* Improved tapdisk infrastructure: simpler request forwarding, new
   request scheduler, request merging, more efficient use of AIO.

* Improved tapdisk error handling and memory management.  No
   allocations on the block data path, IO retry logic to protect
   guests
   transient block device failures.  This has been tested and is known
   to work on weird environments such as NFS soft mounts.

* Pause and snapshot of live virtual disks (see xmsnap script).

* VHD support.  The VHD code in this release has been rigorously
   tested, and represents a very mature implementation of the VHD
   image
   format.

* No more duplication of mechanism with blkback.  The blktap kernel
   module has changed dramatically from the original blktap.  Blkback
   is now always used to talk to Xen guests, blktap just presents a
   Linux gendisk that blkback can export.  This is done while
   preserving the zero-copy data path from domU to physical device.

These patches deprecate the old blktap code, which can hopefully be
removed from the tree completely at some point in the future.

Signed-off-by: Jake Wires <jake.wires@citrix.com>
Signed-off-by: Dutch Meyer <dmeyer@cs.ubc.ca>
15 years agoPV-on-HVM: xenbus - check HAVE_UNLOCKED_IOCTL for old Linux kernels.
Keir Fraser [Tue, 26 May 2009 08:53:55 +0000 (09:53 +0100)]
PV-on-HVM: xenbus - check HAVE_UNLOCKED_IOCTL for old Linux kernels.

Signed-off-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
15 years agoxenbus: Allow lazy init in case xenstored runs in a separate minios domain.
Keir Fraser [Tue, 19 May 2009 13:45:50 +0000 (14:45 +0100)]
xenbus: Allow lazy init in case xenstored runs in a separate minios domain.

Here's an explanation of the states:

It starts out in XENBUS_XSD_UNCOMMITTED.

As the master xenbus (the one local to xenstored), it will receive an
mmap from xenstore, putting it in XENBUS_XSD_LOCAL_INIT. This enables
the wake_waiting IRQ, which will put it in XENBUS_XSD_LOCAL_READY.

Alternatively, as a slave xenbus, it will receive an ioctl from the
xenstore domain builder, putting it in XENBUS_XSD_FOREIGN_INIT. This
enables the wake_waiting IRQ, which will put it in
XENBUS_XSD_FOREIGN_READY.

DomU's are immediately initialized to XENBUS_XSD_FOREIGN_READY.

Signed-off-by: Diego Ongaro <diego.ongaro@citrix.com>
Signed-off-by: Alex Zeffertt <alex.zeffertt@eu.citrix.com>
15 years agoxenbus: Remove an assumption that 'initial domain' is dom0.
Keir Fraser [Tue, 19 May 2009 13:42:04 +0000 (14:42 +0100)]
xenbus: Remove an assumption that 'initial domain' is dom0.
Signed-off-by: Diego Ongaro <diego.ongaro@citrix.com>
Signed-off-by: Alex Zeffertt <alex.zeffertt@eu.citrix.com>
15 years agoxenbus: allow any xenbus command over /proc/xen/xenbus.
Keir Fraser [Tue, 19 May 2009 13:28:48 +0000 (14:28 +0100)]
xenbus: allow any xenbus command over /proc/xen/xenbus.

Signed-off-by: Diego Ongaro <diego.ongaro@citrix.com>
Signed-off-by: Alex Zeffertt <alex.zeffertt@eu.citrix.com>
Signed-off-by: Keir Fraser <keir.fraser@eu.citrix.com>
15 years agoSync Xen public headers with 3.4.0 release.
Keir Fraser [Mon, 18 May 2009 13:14:15 +0000 (14:14 +0100)]
Sync Xen public headers with 3.4.0 release.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
15 years agoAdded tag xen-3.4.0 for changeset 9cbcc9008446
Keir Fraser [Mon, 18 May 2009 12:21:07 +0000 (13:21 +0100)]
Added tag xen-3.4.0 for changeset 9cbcc9008446

15 years agoxen/x86: don't initialize cpu_data[]'s apicid field on generic code xen-3.4.0
Keir Fraser [Thu, 14 May 2009 09:09:15 +0000 (10:09 +0100)]
xen/x86: don't initialize cpu_data[]'s apicid field on generic code

Afaict, this is not only redundant with the intialization done in
drivers/xen/core/smpboot.c, but actually results - at least for
secondary CPUs - in the Xen-specific value written to be later
overwritten with whatever the generic code determines (with no
guarantee that the two values are identical).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
15 years agoxen/i386: hypervisor_callback adjustments
Keir Fraser [Thu, 14 May 2009 09:08:40 +0000 (10:08 +0100)]
xen/i386: hypervisor_callback adjustments

The missing check of the interrupted code's code selector in
hypervisor_callback() allowed a user mode application to oops (and
perhaps crash) the kernel.

Further adjustments:
- the 'main' critical region does not include the jmp following the
  disabling of interrupts
- the sysexit_[se]crit range checks got broken at some point - the
  sysexit ciritcal region is always at higher addresses than the
  'main'
  one, yielding the check pointless (but consuming execution time);
  since the supervisor mode kernel isn't actively used afaict, I moved
  that code into an #ifdef using a hypothetical config option
- the use of a numeric label across more than 300 lines of code always
  seemed pretty fragile to me, so the patch replaces this with a local
  named label
- streamlined the critical_region_fixup code to eliminate a branch

Signed-off-by: Jan Beulich <jbeulich@novell.com>
15 years agoxen: miscellaneous cleanup
Keir Fraser [Thu, 14 May 2009 09:08:10 +0000 (10:08 +0100)]
xen: miscellaneous cleanup

- add two missing unwind annotations
- mark remaining struct file_operations instances const
- use get_capacity() instead of raw access to the capacity field
- use assert_spin_locked() instead of BUG_ON(!spin_is_locked())
- use clear_tsk_thread_flag() instead of clear_ti_thread_flag()
- remove dead variable cpu_state

Signed-off-by: Jan Beulich <jbeulich@novell.com>
16 years agolinux/blktap: fix blktap_clear_pte().
Keir Fraser [Tue, 5 May 2009 12:32:55 +0000 (13:32 +0100)]
linux/blktap: fix blktap_clear_pte().

fix blktap_clear_pte(). In case of vma->vm_file == NULL
case wasn't handled correctly.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
16 years agolinux/blktap: fix vma_close() for partial munmap.
Keir Fraser [Tue, 28 Apr 2009 12:44:22 +0000 (13:44 +0100)]
linux/blktap: fix vma_close() for partial munmap.

vm_area_struct::vm_private_data is used
by get_user_pages() so that we can't override
it. So in order to make blktap work, set it
to a array of struct page*.

Without mm->mmap_sem, virtual mapping can be changed.
so remembering vma which was passed to mmap callback
is bogus because later the vma can be freed or changed.
So don't remember vma and put necessary infomations into
tap_blkif_t. and use find_vma() to get necessary vma's.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
16 years agoblktap: don't use vma->vm_start to calculate offset.
Keir Fraser [Tue, 28 Apr 2009 12:43:46 +0000 (13:43 +0100)]
blktap: don't use vma->vm_start to calculate offset.

struct vma can be split by partial munmap(), we can't depend on
vm_start. Instead, use tap_blkif_t::rings_vstart.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
16 years agoblktap: fix race memory refernce with ring_ok.
Keir Fraser [Tue, 28 Apr 2009 12:43:06 +0000 (13:43 +0100)]
blktap: fix race memory refernce with ring_ok.

fix race memory refernce with ring_ok.
ring_ok is shared by mmapping process and blktap kernel thread.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
16 years agoblktap: add one static.
Keir Fraser [Tue, 28 Apr 2009 12:42:32 +0000 (13:42 +0100)]
blktap: add one static.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
16 years agoblktap: don't access deallocated data
Keir Fraser [Fri, 17 Apr 2009 12:03:22 +0000 (13:03 +0100)]
blktap: don't access deallocated data

Dereferencing filp->private_data->vma in the file_operations.release
actor isn't permitted, as the vma generally has been destroyed by that
time. The kfree()ing of vma->vm_private_data must be done in the
vm_operations.close actor, and the call to zap_page_range() seems
redundant with the caller of that actor altogether.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
16 years agopci: clean up of changeset 860
Keir Fraser [Thu, 16 Apr 2009 10:47:44 +0000 (11:47 +0100)]
pci: clean up of changeset 860

The fixing logic was somewhat confused and doesn't produce right
result. This patch cleans it up.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
16 years agobackport Linux changeset of bf4162bcf82ebc3258d6bc0ddd6453132abde72d
Keir Fraser [Tue, 14 Apr 2009 10:17:47 +0000 (11:17 +0100)]
backport Linux changeset of bf4162bcf82ebc3258d6bc0ddd6453132abde72d

Without this patch, fakephp with reassigndev fails
to allocate memory resource.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
commit bf4162bcf82ebc3258d6bc0ddd6453132abde72d
Author: Darrick J. Wong <djwong@us.ibm.com>
Date:   Tue Nov 25 13:51:44 2008 -0800

    PCI hotplug: fakephp: Allocate PCI resources before adding the
    device

    For PCI devices, pci_bus_assign_resources() must be called to set
    up the pci_device->resource array before pci_bus_add_devices() can
    be called, else attempts to load drivers results in BAR collision
    errors where there are none.
    This is not done in fakephp, so devices can be "unplugged" but
    scanning the
    parent bus won't bring the devices back due to resource
    unallocation.  Move the
    pci_bus_add_device-calling logic into pci_rescan_bus and preface
    it with a call
    to pci_bus_assign_resources so that we only have to (re)allocate
    resources once
    per bus where a new device is found.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Acked-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agolinux/pci/reassign: fix alignment calculation
Keir Fraser [Tue, 14 Apr 2009 10:16:26 +0000 (11:16 +0100)]
linux/pci/reassign: fix alignment calculation

Later r_align is incremented, so it must be decremented
as compensation.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
16 years agolinux/pci_back: fix NULL pointer ref.
Keir Fraser [Tue, 14 Apr 2009 10:16:08 +0000 (11:16 +0100)]
linux/pci_back: fix NULL pointer ref.

pcistub_device_release() can be called during
initialization. Thus pci_get_drvdata() can return NULL.
Fix it by inserting NULL check.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
16 years agomerge with linux-2.6.18-xen.hg
Isaku Yamahata [Tue, 14 Apr 2009 05:05:30 +0000 (14:05 +0900)]
merge with linux-2.6.18-xen.hg

16 years agodom0 linux: support SBDF with "guestdev=" and remove "reassigndev="
Keir Fraser [Thu, 9 Apr 2009 07:44:25 +0000 (08:44 +0100)]
dom0 linux: support SBDF with "guestdev=" and remove "reassigndev="

When we don't need to reassign resources and use device path,
pciback.hide= boot parameter can be used. The parameter is also needed
for backward compatibility.

    pciback.hide=(00:01.0)(00:02.0)

When we need to reassign resources or use device path, guestdev= boot
parameter can be used. reassign_resources boot parameter is needed to
reassign resources, too.

    guestdev=00:01.0,00:02.0 reassign_resources
    guestdev=PNP0A08:0-1.0,PNP0A08:0-2.0
    guestdev=PNP0A08:0-1.0,PNP0A08:0-2.0 reassign_resources

Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
16 years agonetfront accel: Better watch handling across suspend/resume
Keir Fraser [Tue, 7 Apr 2009 09:29:30 +0000 (10:29 +0100)]
netfront accel: Better watch handling across suspend/resume

Signed-off-by: Kieran Mansley <kmansley@solarflare.com>
16 years ago[IA64] fix fsys.S paravirtualization
Isaku Yamahata [Tue, 7 Apr 2009 02:31:17 +0000 (11:31 +0900)]
[IA64] fix fsys.S paravirtualization

fix fsys.S paravirtualization.
event_mask must be cleared before checking event_pending.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
16 years agousbback: fix urb interval value for interrupt urbs.
Keir Fraser [Mon, 6 Apr 2009 12:51:20 +0000 (13:51 +0100)]
usbback: fix urb interval value for interrupt urbs.

Signed-off-by: Noboru Iwamatsu <n_iwamatsu@jp.fujitsu.com>
16 years agoPCI: sync up the SR-IOV changes between Dom0 and upstream kernel
Keir Fraser [Mon, 6 Apr 2009 12:48:03 +0000 (13:48 +0100)]
PCI: sync up the SR-IOV changes between Dom0 and upstream kernel

The SR-IOV patches for the upstream kernel are finally in-tree. This
patch backports some minor changes that appeared in the upstream
kernel after the Dom0 patches were checked-in.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agopci: Do not disable I/O decoding on reassigning resource.
Keir Fraser [Mon, 6 Apr 2009 12:47:27 +0000 (13:47 +0100)]
pci: Do not disable I/O decoding on reassigning resource.

When I reserve UHCI for guest domain with "guestdev=" and
"reassign_resources" parameters, spurious interrupts occurred.
The reason is that UHCI is not reset by uhci_check_and_reset_hc
because I/O decoding is disabled. UHCI keeps asserting the interrupt
line. As a result spurious interrupts occur.

The patch does not disable I/O decoding. It disables only memory
decoding. So UHCI is reset and spurious interrupts do not occur.

Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
16 years agoSkip vcpu_hotplug for VCPU 0 in smp_resume.
Keir Fraser [Wed, 1 Apr 2009 10:43:01 +0000 (11:43 +0100)]
Skip vcpu_hotplug for VCPU 0 in smp_resume.
This function can occasionally take up to 2 seconds to complete,
and smp_suspend also skips VCPU 0.

Signed-off-by: Brendan Cully <brendan@cs.ubc.ca>
16 years agousbfront: do not assume sequentially mapped pages
Keir Fraser [Tue, 31 Mar 2009 11:01:50 +0000 (12:01 +0100)]
usbfront: do not assume sequentially mapped pages

xenhcd_gnttab_map in usbfront-q.c looks up the mfn of the start of the
usb transfer buffer.  But the buffer may span several pages, and the
current code simply increments the obtained mfn.  Needless to say this
is an unwarranted assumption.  It causes large transfers to be
corrupted and/or to overwrite other parts of memory.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agosfc_netfront: Only clear tx_skb when ready for netif_wake_queue
Keir Fraser [Tue, 31 Mar 2009 11:00:53 +0000 (12:00 +0100)]
sfc_netfront: Only clear tx_skb when ready for netif_wake_queue
(doing otherwise could result in a lost packet) and document use of
locks to protect tx_skb

Signed-off-by: Kieran Mansley <kmansley@solarflare.com>
16 years agonetfront accel: Simplify, document, and fix a theoretical bug in use
Keir Fraser [Tue, 31 Mar 2009 11:00:03 +0000 (12:00 +0100)]
netfront accel: Simplify, document, and fix a theoretical bug in use
of spin locks by netfront acceleration plugins

Signed-off-by: Kieran Mansley <kmansley@solarflare.com>
16 years agonet sfc: Update sfc and sfc_resource driver to latest release
Keir Fraser [Tue, 31 Mar 2009 10:59:10 +0000 (11:59 +0100)]
net sfc: Update sfc and sfc_resource driver to latest release

...and update sfc_netfront, sfc_netback, sfc_netutil for any API changes

sfc_netback: Fix asymmetric use of SFC buffer table alloc and free
sfc_netback: Clean up if no SFC accel device found
sfc_netback: Gracefully handle case where page grant fails
sfc_netback: Disable net acceleration if the physical link goes down
sfc_netfront: Less verbose error messages, more verbose counters for
rx discard errors
sfc_netfront: Gracefully handle case where SFC netfront fails during
initialisation

Signed-off-by: Kieran Mansley <kmansley@solarflare.com>
16 years agopvusbback: fix a compilation error.
Keir Fraser [Tue, 31 Mar 2009 10:49:12 +0000 (11:49 +0100)]
pvusbback: fix a compilation error.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
16 years agopvusb: Fix license headers.
Keir Fraser [Tue, 31 Mar 2009 10:11:23 +0000 (11:11 +0100)]
pvusb: Fix license headers.

Signed-off-by: Noboru Iwamatsu <n_iwamatsu@jp.fujitsu.com>
16 years agoxen: swiotlb allocations do not need to come from low memory
Keir Fraser [Fri, 20 Mar 2009 09:00:58 +0000 (09:00 +0000)]
xen: swiotlb allocations do not need to come from low memory

Other than on native, where using the _low variants of alloc_bootmem()
is indeed a requirement for swiotlb, on Xen this is not needed. Using
the _low variants has the potential of preventing systems from booting
when they have lots of memory, due to the way the bootmem allocator
works: It allocates memory from bottom to top. Thus, if other large
(but not _low) allocations (memmap, large system hash tables)
mostly consume the memory below 4Gb, the swiotlb allocations can
fail. (This is equally so for native, but cannot be that easily fixed
there.)

Signed-off-by: Jan Beulich <jbeulich@novell.com>
16 years agopci: Fix the non-PCI_IOV build.
Keir Fraser [Thu, 19 Mar 2009 13:48:52 +0000 (13:48 +0000)]
pci: Fix the non-PCI_IOV build.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
16 years agoXen: Sync physdev.h public header.
Keir Fraser [Thu, 19 Mar 2009 10:25:31 +0000 (10:25 +0000)]
Xen: Sync physdev.h public header.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
16 years agoPCI: pass ARI and SR-IOV device information to the hypervisor
Keir Fraser [Thu, 19 Mar 2009 10:21:46 +0000 (10:21 +0000)]
PCI: pass ARI and SR-IOV device information to the hypervisor

PCIe Alternative Routing-ID Interpretation (ARI) ECN defines the Extended
Function -- a function whose function number is greater than 7 within an
ARI Device. Intel VT-d spec 1.2 section 8.3.2 specifies that the Extended
Function is under the scope of the same remapping unit as the traditional
function. The hypervisor needs to know if a function is Extended
Function so it can find proper DMAR for it.

And section 8.3.3 specifies that the SR-IOV Virtual Function is under the
scope of the same remapping unit as the Physical Function. The hypervisor
also needs to know if a function is the Virtual Function and which
Physical Function it's associated with for same reason.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoPCI: save and restore PCIe 2.0 registers
Keir Fraser [Thu, 19 Mar 2009 10:21:21 +0000 (10:21 +0000)]
PCI: save and restore PCIe 2.0 registers

PCIe 2.0 defines several new registers (Device Control 2, Link Control
2, and Slot Control 2). Save and retore them in pci_save_pcie_state()
and pci_restore_pcie_state().

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoPCI: add a SR-IOV quirk for Intel 82576 NIC
Keir Fraser [Thu, 19 Mar 2009 10:20:59 +0000 (10:20 +0000)]
PCI: add a SR-IOV quirk for Intel 82576 NIC

If BIOS doesn't allocate resources for VF BARs, zero Flash BAR and
program VF BARs to use the old Flash Memory Space.

Please refer to Intel 82576 Gigabit Ethernet Controller Datasheet
section 7.9.2.14.2 for details.
http://download.intel.com/design/network/datashts/82576_Datasheet.pdf

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agolinux/PCI-MSI: fix compiler warnings resulting from c/s 790
Keir Fraser [Thu, 19 Mar 2009 10:07:31 +0000 (10:07 +0000)]
linux/PCI-MSI: fix compiler warnings resulting from c/s 790

The one in pci_enable_msix() is rather meaningful, as the
uninitialized inner msi_dev_entry was indeed hiding the initialized
outer one.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
16 years agolinux pciback/pcifront: work queue management fixes
Keir Fraser [Thu, 19 Mar 2009 10:06:52 +0000 (10:06 +0000)]
linux pciback/pcifront: work queue management fixes

flush_scheduled_work() only flushes work queued to the global
keventd_wq, but pciback is using its own local work queue, so that is
what needs to be flushed.

Calling cancel_delayed_work() on something never inserted through
queue_delayed_work() or schedule_delayed_work() is pointless.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
16 years agoPVUSB: fix the license header of usbfront-hub.c
Keir Fraser [Thu, 19 Mar 2009 10:06:14 +0000 (10:06 +0000)]
PVUSB: fix the license header of usbfront-hub.c

The license of the PVUSB driver is Dual BSD/GPL.

Signed-off-by: Noboru Iwamatsu <n_iwamatsu@jp.fujitsu.com>
16 years agodom0 linux: Fix descriptions in kernel-parameters.txt
Keir Fraser [Thu, 19 Mar 2009 10:05:39 +0000 (10:05 +0000)]
dom0 linux: Fix descriptions in kernel-parameters.txt

Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
16 years agoSync Xen public headers.
Keir Fraser [Wed, 18 Mar 2009 15:43:57 +0000 (15:43 +0000)]
Sync Xen public headers.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
16 years agoxen: remove dead event channel declarations
Keir Fraser [Wed, 18 Mar 2009 15:28:03 +0000 (15:28 +0000)]
xen: remove dead event channel declarations

Signed-off-by: Jan Beulich <jbeulich@novell.com>
16 years agox86: Fix interaction of NTP and dom0->xen time updates
Keir Fraser [Wed, 18 Mar 2009 11:51:05 +0000 (11:51 +0000)]
x86: Fix interaction of NTP and dom0->xen time updates

Don't discard NTP sync when updating Xen wallclock time from dom0,
as that's almost the first thing we do when we become synced.
Move the call to ntp_clear() into do_settimeofday(), which is the
only caller of __update_wallclock() that looks like it should break
NTP sync.

This fixes the timer chain that sets Xen's wallclock every minute when
dom0 is NTP synced, which in turn greatly improves wallclock accuracy
in PV domU.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
16 years agobackport: allocate cap save buffers for PCIe/PCI-X.
Keir Fraser [Wed, 18 Mar 2009 11:45:30 +0000 (11:45 +0000)]
backport: allocate cap save buffers for PCIe/PCI-X.

Changeset 819:e8a9f8910a3f doesn't backport all the necessary code.
This patch adds the missing part. It is also backported from upstream
Linux kernel and the git commit is:

commit 63f4898ace2788a89ed685672aab092e1c3e50e6
Author: Rafael J. Wysocki <rjw@sisk.pl>
Date:   Sun Dec 7 22:02:58 2008 +0100

    PCI: handle PCI state saving with interrupts disabled

    Since interrupts will soon be disabled at PCI resume time, we need
    to
    pre-allocate memory to save/restore PCI config space (or use
    GFP_ATOMIC=, but this is safer).

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: "Rafael J. Wysocki" <rjw@sisk.pl>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>=
16 years agoPVUSB: add kernel config options
Keir Fraser [Wed, 18 Mar 2009 11:43:57 +0000 (11:43 +0000)]
PVUSB: add kernel config options

Signed-off-by: Noboru Iwamatsu <n_iwamatsu@jp.fujitsu.com>
16 years agoPVUSB: backend driver
Keir Fraser [Wed, 18 Mar 2009 11:43:24 +0000 (11:43 +0000)]
PVUSB: backend driver

Signed-off-by: Noboru Iwamatsu <n_iwamatsu@jp.fujitsu.com>
16 years agoPVUSB: frontend driver
Keir Fraser [Wed, 18 Mar 2009 11:42:51 +0000 (11:42 +0000)]
PVUSB: frontend driver

Signed-off-by: Noboru Iwamatsu <n_iwamatsu@jp.fujitsu.com>
16 years agoPVUSB: add io interface header for PVUSB
Keir Fraser [Wed, 18 Mar 2009 11:42:19 +0000 (11:42 +0000)]
PVUSB: add io interface header for PVUSB

Signed-off-by: Noboru Iwamatsu <n_iwamatsu@jp.fujitsu.com>
16 years agoPCI: add SR-IOV API for Physical Function driver
Keir Fraser [Wed, 18 Mar 2009 11:40:10 +0000 (11:40 +0000)]
PCI: add SR-IOV API for Physical Function driver

Add or remove the Virtual Function when the SR-IOV is enabled or
disabled by the device driver. This can happen anytime rather than
only at the device probe stage.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoPCI: centralize device setup code
Keir Fraser [Wed, 18 Mar 2009 11:39:56 +0000 (11:39 +0000)]
PCI: centralize device setup code

Move the device setup stuff into pci_setup_device() which will be used
to setup the Virtual Function later.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoPCI: reserve bus range for SR-IOV device
Keir Fraser [Wed, 18 Mar 2009 11:39:32 +0000 (11:39 +0000)]
PCI: reserve bus range for SR-IOV device

Reserve the bus number range used by the Virtual Function when
pcibios_assign_all_busses() returns true.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoPCI: restore saved SR-IOV state
Keir Fraser [Wed, 18 Mar 2009 11:39:18 +0000 (11:39 +0000)]
PCI: restore saved SR-IOV state

Restore the volatile registers in the SR-IOV capability after the
D3->D0 transition.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoPCI: initialize and release SR-IOV capability
Keir Fraser [Wed, 18 Mar 2009 11:39:04 +0000 (11:39 +0000)]
PCI: initialize and release SR-IOV capability

If a device has the SR-IOV capability, initialize it (set the ARI
Capable Hierarchy in the lowest numbered PF if necessary; calculate
the System Page Size for the VF MMIO, probe the VF Offset, Stride
and BARs). A lock for the VF bus allocation is also initialized if
a PF is the lowest numbered PF.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoxenbus: Add new states to xenbus_strstate()
Keir Fraser [Tue, 17 Mar 2009 14:27:31 +0000 (14:27 +0000)]
xenbus: Add new states to xenbus_strstate()

This patch adds the following states to the xenbus_strstate().
- XenbusStateReconfiguring
- XenbusStateReconfigured

Signed-off-by: Noboru Iwamatsu <n_iwamatsu@jp.fujitsu.com>
16 years agonetback: parent sysfs device should be set before registering.
Keir Fraser [Tue, 17 Mar 2009 14:21:51 +0000 (14:21 +0000)]
netback: parent sysfs device should be set before registering.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
16 years agoSave/restore PCIe/PCI-X states across S3.
Keir Fraser [Fri, 13 Mar 2009 10:08:22 +0000 (10:08 +0000)]
Save/restore PCIe/PCI-X states across S3.

This patch is backported from upstream Linux kernel.

commit b56a5a23bfecd9cac9187164a9d5f22d287c48b9
Author: Michael S. Tsirkin <mst@mellanox.co.il>
Date:   Mon Aug 21 16:22:22 2006 +0300

    PCI: Restore PCI Express capability registers after PM event

    Restore PCI Express capability registers after PM event.
    This includes maxumum MTU for PCI express and other vital data.

Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
commit cc692a5f1e9816671b77da77c6d6c463156ba1c7
Author: Stephen Hemminger <shemminger@osdl.org>
Date:   Wed Nov 8 16:17:15 2006 -0800

    PCI: save/restore PCI-X state

    Shouldn't PCI-X state be saved/restored?  No device really needs
    this
    right now. qla24xx (fc HBA) and mthca (infiniband) don't do
    suspend,
    and sky2 resets its tweaks when links are brought up.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
16 years agoBackport: PCI: add a new function to map BAR offsets
Keir Fraser [Fri, 13 Mar 2009 08:51:09 +0000 (08:51 +0000)]
Backport: PCI: add a new function to map BAR offsets

    commit 613e7ed6f72b1a115f7ece8ce1b66cf095de1348
    Author: Yu Zhao <yu.zhao@intel.com>
    Date:   Sat Nov 22 02:41:27 2008 +0800

    PCI: add a new function to map BAR offsets

    Add a function to map a given resource number to a corresponding
    register so drivers can get the offset and type of device specific
    BARs.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoBackport: PCI: remove unnecessary condition check in pci_restore_bars()
Keir Fraser [Fri, 13 Mar 2009 08:50:44 +0000 (08:50 +0000)]
Backport: PCI: remove unnecessary condition check in pci_restore_bars()

    commit bc5f5a8277cb353161454b6704b3186ebcf3a2a3
    Author: Yu Zhao <yu.zhao@intel.com>
    Date:   Sat Nov 22 02:40:00 2008 +0800

    PCI: remove unnecessary condition check in pci_restore_bars()

    Remove the unnecessary number of resources condition checks
    because
    the pci_update_resource() will check availability of the
    resources.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoBackport: PCI: define PCI resource names in an 'enum'
Keir Fraser [Fri, 13 Mar 2009 08:50:15 +0000 (08:50 +0000)]
Backport: PCI: define PCI resource names in an 'enum'

    commit fde09c6d8f92de0c9f75698a75f0989f2234c517
    Author: Yu Zhao <yu.zhao@intel.com>
    Date:   Sat Nov 22 02:39:32 2008 +0800

    PCI: define PCI resource names in an 'enum'

    This patch moves all definitions of the PCI resource names to an
    'enum',
    and also replaces some hard-coded resource variables with symbol
    names. This change eases introduction of device specific
    resources.

Reviewed-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoBackport: PCI: remove unnecessary arg of pci_update_resource()
Keir Fraser [Fri, 13 Mar 2009 07:42:13 +0000 (07:42 +0000)]
Backport: PCI: remove unnecessary arg of pci_update_resource()

    commit 14add80b5120966fe0659d61815b9e9b4b68fdc5
    Author: Yu Zhao <yu.zhao@intel.com>
    Date:   Sat Nov 22 02:38:52 2008 +0800

    PCI: remove unnecessary arg of pci_update_resource()

    This cleanup removes unnecessary argument 'struct resource *res'
    in
    pci_update_resource(), so it takes same arguments as other
    companion
    functions (pci_assign_resource(), etc.).

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoBackport: PCI: allow pci_alloc_child_bus() to handle a NULL bridge
Keir Fraser [Fri, 13 Mar 2009 07:41:52 +0000 (07:41 +0000)]
Backport: PCI: allow pci_alloc_child_bus() to handle a NULL bridge

    commit 3789fa8a2e534523c896a32a9f27f78d52ad7d82
    Author: Yu Zhao <yu.zhao@intel.com>
    Date:   Sat Nov 22 02:41:07 2008 +0800

    PCI: allow pci_alloc_child_bus() to handle a NULL bridge

    Allow pci_alloc_child_bus() to allocate buses without bridge
    devices.
    Some SR-IOV devices can occupy more than one bus number, but there
    is no
    explicit bridges because that have internal routing mechanism.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoBackport: PCI: enhance pci_ari_enabled()
Keir Fraser [Fri, 13 Mar 2009 07:41:39 +0000 (07:41 +0000)]
Backport: PCI: enhance pci_ari_enabled()

    commit 6a49d8120021897e139641062236215aac5d220e
    Author: Yu Zhao <yu.zhao@intel.com>
    Date:   Sat Nov 22 02:38:21 2008 +0800

    PCI: enhance pci_ari_enabled()

    Change parameter of pci_ari_enabled() from 'pci_dev' to 'pci_bus'.

    ARI forwarding on the bridge mostly concerns the subordinate
    devices
    rather than the bridge itself. So this change will make the
    function
    easier to use.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoBackport: PCI: fix ARI code to be compatible with mixed ARI/non-ARI
Keir Fraser [Fri, 13 Mar 2009 07:41:23 +0000 (07:41 +0000)]
Backport: PCI: fix ARI code to be compatible with mixed ARI/non-ARI
systems

    commit 8113587c2d14d3be2414190845b2e2617c0aa33b
    Author: Zhao, Yu <yu.zhao@intel.com>
    Date:   Thu Oct 23 13:15:39 2008 +0800

    PCI: fix ARI code to be compatible with mixed ARI/non-ARI systems

    The original ARI support code has a compatibility problem with
    non-ARI
    devices.  If a device doesn't support ARI, turning on ARI
    forwarding on
    its upper level bridge will cause undefined behavior.

    This fix turns on ARI forwarding only when the subordinate devices
    support it.

Tested-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoBackport: PCI: support PCIe ARI capability
Keir Fraser [Fri, 13 Mar 2009 07:40:54 +0000 (07:40 +0000)]
Backport: PCI: support PCIe ARI capability

    commit 58c3a727cb73b75a9104d295f096cca12959a5a5
    Author: Yu Zhao <yu.zhao@intel.com>
    Date:   Tue Oct 14 14:02:53 2008 +0800

    PCI: support PCIe ARI capability

    This patch adds support for PCI Express Alternative Routing-ID
    Interpretation (ARI) capability.

    The ARI capability extends the Function Number field of the PCI
    Express
    Endpoint by reusing the Device Number which is otherwise hardwired
    to 0.
    With ARI, an Endpoint can have up to 256 functions.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoBackport: PCI: export __pci_read_base()
Keir Fraser [Fri, 13 Mar 2009 07:40:36 +0000 (07:40 +0000)]
Backport: PCI: export __pci_read_base()

    commit 0b400c7ed4d027e02f6231afa39852a2d48e6f25
    Author: Yu Zhao <yu.zhao@intel.com>
    Date:   Sat Nov 22 02:40:40 2008 +0800

    PCI: export __pci_read_base()

    Export __pci_read_base() so it can be used by whole PCI subsystem.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoBackport: PCI: fix 64-vbit prefetchable memory resource BARs
Keir Fraser [Fri, 13 Mar 2009 07:40:22 +0000 (07:40 +0000)]
Backport: PCI: fix 64-vbit prefetchable memory resource BARs

    commit e354597cce8d219d135d65e585dc4f30323486b9
    Author: Peter Chubb <peterc@gelato.unsw.edu.au>
    Date:   Mon Oct 13 11:49:04 2008 +1100

    PCI: fix 64-vbit prefetchable memory resource BARs

    Since patch 6ac665c63dcac8fcec534a1d224ecbb8b867ad59 my infiniband
    controller hasn't worked.  This is because it has 64-bit
    prefetchable
    memory, which was mistakenly being  taken to be 32-bit memory.
    The
    resource flags in this case are PCI_BASE_ADDRESS_MEM_TYPE_64 |
    PCI_BASE_ADDRESS_MEM_PREFETCH.

    This patch checks only for the PCI_BASE_ADDRESS_MEM_TYPE_64 bit;
    thus
    whether the region is prefetchable or not is ignored.  This fixes
    my
    Infiniband.

Reviewed-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: Peter Chubb <peterc@gelato.unsw.edu.au>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoBackport: PCI: handle 64-bit resources better on 32-bit machines
Keir Fraser [Fri, 13 Mar 2009 07:40:10 +0000 (07:40 +0000)]
Backport: PCI: handle 64-bit resources better on 32-bit machines

    commit cc5499c3a607a392e8a7adb934aaf14b2c6a3519
    Author: Matthew Wilcox <matthew@wil.cx>
    Date:   Mon Jul 28 13:39:00 2008 -0400

    PCI: handle 64-bit resources better on 32-bit machines

    If the kernel is configured to support 64-bit resources on a
    32-bit
    machine, we can support 64-bit BARs properly.  Just change the
    condition
    to check sizeof(resource_size_t) instead of BITS_PER_LONG.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoBackport: PCI: rewrite PCI BAR reading code
Keir Fraser [Fri, 13 Mar 2009 07:39:48 +0000 (07:39 +0000)]
Backport: PCI: rewrite PCI BAR reading code

    commit 6ac665c63dcac8fcec534a1d224ecbb8b867ad59
    Author: Matthew Wilcox <matthew@wil.cx>
    Date:   Mon Jul 28 13:38:59 2008 -0400

    PCI: rewrite PCI BAR reading code

    Factor out the code to read one BAR from the loop in
    pci_read_bases into
    a new function, __pci_read_base.  The new code is slightly more
    readable, better commented and removes the ifdef.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
16 years agoblkfront: Fix the build by expanding sg_init_table() in place.
Keir Fraser [Fri, 6 Mar 2009 12:51:33 +0000 (12:51 +0000)]
blkfront: Fix the build by expanding sg_init_table() in place.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
16 years agolinux/blkfront: use blk_rq_map_sg to generate ring entries
Keir Fraser [Thu, 5 Mar 2009 14:42:00 +0000 (14:42 +0000)]
linux/blkfront: use blk_rq_map_sg to generate ring entries

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@novell.com>
16 years agolinux/evtchn: fix off-by-one error in the pirq range check
Keir Fraser [Thu, 5 Mar 2009 14:40:35 +0000 (14:40 +0000)]
linux/evtchn: fix off-by-one error in the pirq range check

Signed-off-by: Jan Beulich <jbeulich@novell.com>
16 years agonetfront: Unregister inetdev notifiers on failure
Keir Fraser [Mon, 2 Mar 2009 11:06:52 +0000 (11:06 +0000)]
netfront: Unregister inetdev notifiers on failure
If you attempt to modprobe the pv-on-hvm netfront driver on a machine
not running under Xen (say, bare-metal, or under another hypervisor), the
netfront code correctly returns an ENODEV and fails to load.  However, if you
then shutdown that machine, you will oops while tearing down the network.
This is because we forget to unregister the the inetaddr_notifier on failure,
and so the kernel takes a fatal page fault.  The attached patch just unregisters
the notifier on failure, and solves the problem for me.

Signed-off-by: Chris Lalancette <clalance@redhat.com>
16 years agopci: Fix the definition of PCI_PM_CTRL_NO_SOFT_RESET.
Keir Fraser [Mon, 2 Mar 2009 11:02:00 +0000 (11:02 +0000)]
pci: Fix the definition of PCI_PM_CTRL_NO_SOFT_RESET.
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
16 years agopciback: Fix invalid use of pci_match_id()
Keir Fraser [Mon, 2 Mar 2009 10:57:56 +0000 (10:57 +0000)]
pciback: Fix invalid use of pci_match_id()

We cannot use pci_match_id() because the first argument (tmp_quirk->devid)
is not an array of pci device ids. Instead this patch adds a utility
function to compare a pci_device_id and a pci_dev.

Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
16 years agoACPI: Backport to support ACPI throttling s/w coordination
Keir Fraser [Mon, 2 Mar 2009 10:54:44 +0000 (10:54 +0000)]
ACPI: Backport to support ACPI throttling s/w coordination

commit 3abbd337c60591305cbfeb984ff2922c175be37f
Author: Zhao Yakui <yakui.zhao@intel.com>
Date:   Mon Jan 28 13:53:21 2008 +0800

    ACPI: Set _PSD ACPI_PDC_SMP_T_SWCOORD

    The ACPI_PDC_SMP_T_SWCOORD bit is set by and OS that is capable of
    native ACPI throttling software coordination for mutli-processors
    using the _TSD information.

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Signed-off-by: Wei Gang <gang.wei@intel.com>
16 years agoACPI: Backport to get correct throtting info after evaluating _PDC
Keir Fraser [Mon, 2 Mar 2009 10:54:26 +0000 (10:54 +0000)]
ACPI: Backport to get correct throtting info after evaluating _PDC

commit 0ac3c571315a53c14d2733564f14ebdb911fe903
Author: Zhao Yakui <yakui.zhao@intel.com>
Date:   Thu Nov 15 17:05:46 2007 +0800

    ACPI: Get throttling info from BIOS only after evaluating _PDC

    Previously _PDC was evaluated later, and thus we'd not get
    the chance to tell the BIOS that we can suport FixedHW registers
    (MSRs)
    and the BIOS would always ask us to use System I/O access
    for throttling.

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Li Shaohua <shaohua.li@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Signed-off-by: Wei Gang <gang.wei@intel.com>
16 years agoACPI: Backport missing part for T-State MSR support
Keir Fraser [Mon, 2 Mar 2009 10:53:59 +0000 (10:53 +0000)]
ACPI: Backport missing part for T-State MSR support

Part of below kernel commit was missed while packporting T-State
support.

commit f79f06ab9f86d7203006d2ec8992ac80df36a34e
Author: Zhao Yakui <yakui.zhao@intel.com>
Date:   Thu Nov 15 17:06:36 2007 +0800

    ACPI: Enable MSR (FixedHW) support for T-States

    Add throttling control via MSR when T-states uses
    the FixHW Control Status registers.

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Li Shaohua <shaohua.li@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Signed-off-by: Wei Gang <gang.wei@intel.com>
16 years agolinux/x86: fix off-by-one error in the pirq range checks
Keir Fraser [Tue, 17 Feb 2009 11:31:13 +0000 (11:31 +0000)]
linux/x86: fix off-by-one error in the pirq range checks

Signed-off-by: Jan Beulich <jbeulich@novell.com>
16 years agoAdd the igb driver for dom0
Keir Fraser [Tue, 17 Feb 2009 11:25:51 +0000 (11:25 +0000)]
Add the igb driver for dom0

backport the driver from RHEL5.3 and make it work.

signed-off-by: Zhang Yang <yang.zhang@intel.com>

16 years agoAdd the e1000e driver for dom0
Keir Fraser [Tue, 17 Feb 2009 11:25:22 +0000 (11:25 +0000)]
Add the e1000e driver for dom0

backport the driver from RHEL5.3 and make it work.

signed-off-by: Zhang Yang <yang.zhang@intel.com>

16 years agopvSCSI: add new device assignment mode
Keir Fraser [Tue, 17 Feb 2009 11:17:11 +0000 (11:17 +0000)]
pvSCSI: add new device assignment mode

Add a new device assignment mode, which assigns whole HBA
(SCSI host) to guest domain. Current implementation requires SCSI
command emulation on backend driver, and it causes limitations for
some SCSI commands. (Please see
"http://www.xen.org/files/xensummit_tokyo/24_Hitoshi%20Matsumoto_en.pdf"
for detail about why we need the new assignment mode.

SCSI command emulation on backend driver is bypassed when "host" mode
is specified.

Signed-off-by: Tomonari Horikoshi <t.horikoshi@jp.fujitsu.com>
Signed-off-by: Jun Kamada <kama@jp.fujitsu.com>
16 years agonetback: make queue length parameter writeable in sysfs
Keir Fraser [Fri, 6 Feb 2009 12:01:56 +0000 (12:01 +0000)]
netback: make queue length parameter writeable in sysfs

Any changes will only take effect for newly created VIFs.

Also hook up the vif devices to their parent and publish bus info via
ethtool.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
16 years agonetback: add ethtool stat to track copied skbs.
Keir Fraser [Thu, 5 Feb 2009 15:24:46 +0000 (15:24 +0000)]
netback: add ethtool stat to track copied skbs.

Copied skbs should be rare but we have no way of verifying that.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
16 years agolinux: fix IRQ handling for PV passthrough
Keir Fraser [Wed, 4 Feb 2009 12:26:00 +0000 (12:26 +0000)]
linux: fix IRQ handling for PV passthrough

For DomU-s registering PIRQ-s must be done separately, as they don't
use the IO-APIC code.

Additionally make sure the IRQ chip doesn't get set twice (and the
event channel information overwritten) for an IRQ possibly in use by
more than one device.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
16 years agolinux: remove xen specific member from pci_dev
Keir Fraser [Wed, 4 Feb 2009 12:25:09 +0000 (12:25 +0000)]
linux: remove xen specific member from pci_dev

Move msi related variable irq_old out of struct pci_dev. This is
logically more consistent and has the additional benefit that xen
kernel and vanilla kernel now have the same pci_dev layout

Signed-off-by: Qing He <qing.he@intel.com>
16 years agofbfront: Improve diagnostics when kthread_run() fails
Keir Fraser [Tue, 3 Feb 2009 13:59:17 +0000 (13:59 +0000)]
fbfront: Improve diagnostics when kthread_run() fails

Failure is reported with xenbus_dev_fatal(..."register_framebuffer"),
which was already suboptimal before it got moved away from
register_framebuffer(), and is outright misleading now.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
16 years agoxenfb: Revert mm_lock changes. They're not needed.
Keir Fraser [Fri, 30 Jan 2009 10:54:10 +0000 (10:54 +0000)]
xenfb: Revert mm_lock changes. They're not needed.
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
16 years agonet: Intel ixgbe driver
Keir Fraser [Fri, 30 Jan 2009 10:52:47 +0000 (10:52 +0000)]
net: Intel ixgbe driver

Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
16 years agomerge with linux-2.6.18-xen.hg
Isaku Yamahata [Fri, 30 Jan 2009 01:53:27 +0000 (10:53 +0900)]
merge with linux-2.6.18-xen.hg

16 years agoxenfb: eliminate the update_wanted field.
Keir Fraser [Thu, 29 Jan 2009 11:28:58 +0000 (11:28 +0000)]
xenfb: eliminate the update_wanted field.

Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
16 years agolinux/netback: unmap tx ring gref when mapping of rx ring gref failed
Keir Fraser [Wed, 28 Jan 2009 13:42:09 +0000 (13:42 +0000)]
linux/netback: unmap tx ring gref when mapping of rx ring gref failed

Signed-off-by: Jan Beulich <jbeulich@novell.com>
16 years agoxenfb: fix xenfb_update_screen bogus rect
Keir Fraser [Wed, 28 Jan 2009 13:41:33 +0000 (13:41 +0000)]
xenfb: fix xenfb_update_screen bogus rect
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
16 years agomerge with linux-2.6.18-xen.hg
Isaku Yamahata [Wed, 28 Jan 2009 04:07:23 +0000 (13:07 +0900)]
merge with linux-2.6.18-xen.hg

16 years ago[IA64] xencomm: support XEN_DOMCTL_[gs]et_address_size
Isaku Yamahata [Wed, 28 Jan 2009 03:27:28 +0000 (12:27 +0900)]
[IA64] xencomm: support XEN_DOMCTL_[gs]et_address_size

xencomm: support XEN_DOMCTL_[gs]et_address_size for dump-core.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>