]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
Merge branch 'stable/bug.fixes-3.2.rebased' of git://oss.oracle.com/git/kwilk/xen...
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Wed, 19 Oct 2011 19:43:13 +0000 (15:43 -0400)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Wed, 19 Oct 2011 19:43:13 +0000 (15:43 -0400)
* 'stable/bug.fixes-3.2.rebased' of git://oss.oracle.com/git/kwilk/xen:
  xen/irq: If we fail during msi_capability_init return proper error code.
  xen: remove XEN_PLATFORM_PCI config option
  xen: XEN_PVHVM depends on PCI
  xen/p2m/debugfs: Make type_name more obvious.
  xen/p2m/debugfs: Fix potential pointer exception.
  xen/enlighten: Fix compile warnings and set cx to known value.
  xen/xenbus: Remove the unnecessary check.
  xen/events: Don't check the info for NULL as it is already done.
  xen/pci: Use 'acpi_gsi_to_irq' value unconditionally.
  xen/pci: Remove 'xen_allocate_pirq_gsi'.
  xen/pci: Retire unnecessary #ifdef CONFIG_ACPI
  xen/pci: Move the allocation of IRQs when there are no IOAPIC's to the end
  xen/pci: Squash pci_xen_initial_domain and xen_setup_pirqs together.
  xen/pci: Use the xen_register_pirq for HVM and initial domain users
  xen/pci: In xen_register_pirq bind the GSI to the IRQ after the hypercall.
  xen/pci: Provide #ifdef CONFIG_ACPI to easy code squashing.
  xen/pci: Update comments and fix empty spaces.
  xen/pci: Shuffle code around.

Conflicts:
arch/x86/pci/xen.c
drivers/xen/Makefile

1  2 
arch/x86/pci/xen.c
arch/x86/xen/Kconfig
arch/x86/xen/enlighten.c
drivers/xen/Kconfig
drivers/xen/Makefile
drivers/xen/events.c
drivers/xen/xenbus/xenbus_probe_backend.c

Simple merge
index 814ccb324fbdbe306ca24301f153e512ad25cd3c,e061f550a28a0e35c35db237680a97668779e18d..0623670e17ea8f4a787f0d73a6bf56b9234a1a51
@@@ -25,19 -25,15 +25,18 @@@ config XEN_PRIVILEGED_GUES
  
  config XEN_PVHVM
        def_bool y
-       depends on XEN
-       depends on X86_LOCAL_APIC
+       depends on XEN && PCI && X86_LOCAL_APIC
  
  config XEN_MAX_DOMAIN_MEMORY
 -       int
 -       default 128
 +       int "Maximum allowed size of a domain in gigabytes"
 +       default 8 if X86_32
 +       default 32 if X86_64
         depends on XEN
         help
 -         This only affects the sizing of some bss arrays, the unused
 -         portions of which are freed.
 +         The pseudo-physical to machine address array is sized
 +         according to the maximum possible memory size of a Xen
 +         domain.  This array uses 1 page per gigabyte, so there's no
 +         need to be too stingy here.
  
  config XEN_SAVE_RESTORE
         bool
Simple merge
Simple merge
index 72bbb27d7a68dc43a45ba836288aed641b4f8113,7c5c64fe52a2ef319cac0fac38c045148cf8faf2..974fffdf22b2e15031faa6396721fa9800883b2b
@@@ -14,11 -14,9 +14,11 @@@ obj-$(CONFIG_XEN_GNTDEV)            += xen-gntdev
  obj-$(CONFIG_XEN_GRANT_DEV_ALLOC)     += xen-gntalloc.o
  obj-$(CONFIG_XENFS)                   += xenfs/
  obj-$(CONFIG_XEN_SYS_HYPERVISOR)      += sys-hypervisor.o
- obj-$(CONFIG_XEN_PLATFORM_PCI)                += xen-platform-pci.o
+ obj-$(CONFIG_XEN_PVHVM)                       += platform-pci.o
 +obj-$(CONFIG_XEN_TMEM)                        += tmem.o
  obj-$(CONFIG_SWIOTLB_XEN)             += swiotlb-xen.o
  obj-$(CONFIG_XEN_DOM0)                        += pci.o
 +obj-$(CONFIG_XEN_PCIDEV_BACKEND)      += xen-pciback/
  
  xen-evtchn-y                          := evtchn.o
  xen-gntdev-y                          := gntdev.o
index 7523719bf8a4aab4dadfeb063151958bff9a0d45,2774006f32da007fd96f275b62b0a952fce3db22..c1be9de5dbc0277c57c730265bc39e472282bf3e
@@@ -710,10 -711,10 +711,10 @@@ int xen_bind_pirq_msi_to_irq(struct pci
  {
        int irq, ret;
  
 -      spin_lock(&irq_mapping_update_lock);
 +      mutex_lock(&irq_mapping_update_lock);
  
        irq = xen_allocate_irq_dynamic();
-       if (irq == -1)
+       if (irq < 0)
                goto out;
  
        irq_set_chip_and_handler_name(irq, &xen_pirq_chip, handle_edge_irq,
        if (ret < 0)
                goto error_irq;
  out:
 -      spin_unlock(&irq_mapping_update_lock);
 +      mutex_unlock(&irq_mapping_update_lock);
        return irq;
  error_irq:
 -      spin_unlock(&irq_mapping_update_lock);
 +      mutex_unlock(&irq_mapping_update_lock);
        xen_free_irq(irq);
-       return -1;
+       return ret;
  }
  #endif
  
@@@ -776,10 -777,10 +777,10 @@@ int xen_irq_from_pirq(unsigned pirq
  
        struct irq_info *info;
  
 -      spin_lock(&irq_mapping_update_lock);
 +      mutex_lock(&irq_mapping_update_lock);
  
        list_for_each_entry(info, &xen_irq_list_head, list) {
-               if (info == NULL || info->type != IRQT_PIRQ)
+               if (info->type != IRQT_PIRQ)
                        continue;
                irq = info->irq;
                if (info->u.pirq.pirq == pirq)
index 60adf919d78ddd46a4e6e2cadad27bd053bfa392,c8db5008ce5fcf5d30a748c32571ea4f833d1083..32417b5064fd71dc760d284ed992047babd28d9f
@@@ -104,12 -104,7 +104,10 @@@ static int xenbus_uevent_backend(struc
  
        xdev = to_xenbus_device(dev);
        bus = container_of(xdev->dev.bus, struct xen_bus_type, bus);
-       if (xdev == NULL)
-               return -ENODEV;
  
 +      if (add_uevent_var(env, "MODALIAS=xen-backend:%s", xdev->devicetype))
 +              return -ENOMEM;
 +
        /* stuff we want to pass to /sbin/hotplug */
        if (add_uevent_var(env, "XENBUS_TYPE=%s", xdev->devicetype))
                return -ENOMEM;