Merge tag 'stable/for-linus-3.5-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Thu, 24 May 2012 23:02:08 +0000 (16:02 -0700)]
Pull Xen updates from Konrad Rzeszutek Wilk:
 "Features:
   * Extend the APIC ops implementation and add IRQ_WORKER vector
     support so that 'perf' can work properly.
   * Fix self-ballooning code, and balloon logic when booting as initial
     domain.
   * Move array printing code to generic debugfs
   * Support XenBus domains.
   * Lazily free grants when a domain is dead/non-existent.
   * In M2P code use batching calls
  Bug-fixes:
   * Fix NULL dereference in allocation failure path (hvc_xen)
   * Fix unbinding of IRQ_WORKER vector during vCPU hot-unplug
   * Fix HVM guest resume - we would leak an PIRQ value instead of
     reusing the existing one."

Fix up add-add onflicts in arch/x86/xen/enlighten.c due to addition of
apic ipi interface next to the new apic_id functions.

* tag 'stable/for-linus-3.5-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
  xen: do not map the same GSI twice in PVHVM guests.
  hvc_xen: NULL dereference on allocation failure
  xen: Add selfballoning memory reservation tunable.
  xenbus: Add support for xenbus backend in stub domain
  xen/smp: unbind irqworkX when unplugging vCPUs.
  xen: enter/exit lazy_mmu_mode around m2p_override calls
  xen/acpi/sleep: Enable ACPI sleep via the __acpi_os_prepare_sleep
  xen: implement IRQ_WORK_VECTOR handler
  xen: implement apic ipi interface
  xen/setup: update VA mapping when releasing memory during setup
  xen/setup: Combine the two hypercall functions - since they are quite similar.
  xen/setup: Populate freed MFNs from non-RAM E820 entries and gaps to E820 RAM
  xen/setup: Only print "Freeing XXX-YYY pfn range: Z pages freed" if Z > 0
  xen/gnttab: add deferred freeing logic
  debugfs: Add support to print u32 array in debugfs
  xen/p2m: An early bootup variant of set_phys_to_machine
  xen/p2m: Collapse early_alloc_p2m_middle redundant checks.
  xen/p2m: Allow alloc_p2m_middle to call reserve_brk depending on argument
  xen/p2m: Move code around to allow for better re-usage.

1  2 
arch/x86/xen/enlighten.c
arch/x86/xen/mmu.c
arch/x86/xen/smp.c
arch/x86/xen/xen-ops.h
drivers/xen/events.c
drivers/xen/grant-table.c

@@@ -881,8 -851,14 +883,16 @@@ static void set_xen_basic_apic_ops(void
        apic->icr_write = xen_apic_icr_write;
        apic->wait_icr_idle = xen_apic_wait_icr_idle;
        apic->safe_wait_icr_idle = xen_safe_apic_wait_icr_idle;
 +      apic->set_apic_id = xen_set_apic_id;
 +      apic->get_apic_id = xen_get_apic_id;
+ #ifdef CONFIG_SMP
+       apic->send_IPI_allbutself = xen_send_IPI_allbutself;
+       apic->send_IPI_mask_allbutself = xen_send_IPI_mask_allbutself;
+       apic->send_IPI_mask = xen_send_IPI_mask;
+       apic->send_IPI_all = xen_send_IPI_all;
+       apic->send_IPI_self = xen_send_IPI_self;
+ #endif
  }
  
  #endif
@@@ -1396,15 -1371,13 +1405,17 @@@ asmlinkage void __init xen_start_kernel
                xen_start_info->console.domU.mfn = 0;
                xen_start_info->console.domU.evtchn = 0;
  
 +              xen_init_apic();
 +
                /* Make sure ACS will be enabled */
                pci_request_acs();
+               xen_acpi_sleep_register();
        }
 -              
 -
 +#ifdef CONFIG_PCI
 +      /* PCI BIOS service won't work from a PV guest. */
 +      pci_probe &= ~PCI_PROBE_BIOS;
 +#endif
        xen_raw_console_write("about to get started...\n");
  
        xen_setup_runstate_info(0);
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge