Hey Linus, Please git pull the following tag:
git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git stable/for-linus-3.9-rc0-tag which has two new ACPI drivers for Xen - a physical CPU offline/online and a memory hotplug. The way this works is that ACPI kicks the drivers and they make the appropiate hypercall to the hypervisor to tell it that there is a new CPU or memory. There also some changes to the Xen ARM ABIs and couple of fixes. One particularly nasty bug in the Xen PV spinlock code was fixed by Stefan Bader - and has been there since the 2.6.32! During the linux-next cycle we found that some of the changes in Rafael's pm+acpi-3.9-rc1 tree will cause compile conflicts with my tree. Stephen Rothwell found and developed a fix - which I am including as an attachment to this - please apply it immediately after my tree. There are some other patches that ought to be done on top of this to deal with the new ACPI API changes - I've them in this #linux-next-resolved tree: http://git.kernel.org/?p=linux/kernel/git/konrad/xen.git;a=shortlog;h=refs/heads/linux-next-resolved if you are curious - but I was thinking to submit them _after_ the rc1 has been tagged as I am sure I will have some bug-fixes. There looks to be a lot of regressions this season already :-( arch/arm/include/asm/xen/events.h | 22 ++ arch/arm/include/asm/xen/page.h | 4 + arch/arm/xen/enlighten.c | 8 +- arch/x86/include/asm/xen/events.h | 3 + arch/x86/include/asm/xen/page.h | 2 + arch/x86/xen/smp.c | 42 ++-- arch/x86/xen/spinlock.c | 1 - drivers/tty/hvc/hvc_xen.c | 2 +- drivers/xen/Kconfig | 34 +++ drivers/xen/Makefile | 3 + drivers/xen/events.c | 115 +++++---- drivers/xen/evtchn.c | 14 +- drivers/xen/grant-table.c | 2 +- drivers/xen/pcpu.c | 35 +++ drivers/xen/tmem.c | 2 +- drivers/xen/xen-acpi-cpuhotplug.c | 471 +++++++++++++++++++++++++++++++++++++ drivers/xen/xen-acpi-memhotplug.c | 483 ++++++++++++++++++++++++++++++++++++++ drivers/xen/xen-stub.c | 101 ++++++++ drivers/xen/xenbus/xenbus_probe.c | 2 +- include/xen/acpi.h | 35 +++ include/xen/interface/memory.h | 6 + include/xen/interface/platform.h | 21 +- include/xen/interface/xen.h | 8 +- 23 files changed, 1331 insertions(+), 85 deletions(-) Ian Campbell (2): xen: implement updated XENMEM_add_to_physmap_range ABI xen: event channel arrays are xen_ulong_t and not unsigned long Konrad Rzeszutek Wilk (2): xen/smp: Move the common CPU init code a bit to prep for PVH patch. xen/tmem: Add missing %s in the printk statement. Liu Jinsong (6): xen/stub: driver for memory hotplug xen/acpi: ACPI memory hotplug xen/stub: driver for CPU hotplug xen/acpi: Move xen_acpi_get_pxm to Xen's acpi.h xen/acpi: ACPI cpu hotplug xen/acpi: move xen_acpi_get_pxm under CONFIG_XEN_DOM0 Stefan Bader (1): xen: Send spinlock IPI to all waiters Stefano Stabellini (1): xen: introduce xen_remap, use it instead of ioremap Wei Liu (2): xen-evtchn: correct comment and error output xen: close evtchn port if binding to irq fails
From 56810ee0f6d5ce9da9f5dddfc459ee0041eb22cc Mon Sep 17 00:00:00 2001 From: Stephen Rothwell <[email protected]> Date: Fri, 15 Feb 2013 15:45:51 +1100 Subject: [PATCH] xen/acpi: fix up for apci_bus_add api change Signed-off-by: Stephen Rothwell <[email protected]> Signed-off-by: Konrad Rzeszutek Wilk <[email protected]> --- drivers/xen/xen-acpi-cpuhotplug.c | 2 +- drivers/xen/xen-acpi-memhotplug.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/xen/xen-acpi-cpuhotplug.c b/drivers/xen/xen-acpi-cpuhotplug.c index 9eefbb0..acc5b12 100644 --- a/drivers/xen/xen-acpi-cpuhotplug.c +++ b/drivers/xen/xen-acpi-cpuhotplug.c @@ -251,7 +251,7 @@ int acpi_processor_device_add(acpi_handle handle, struct acpi_device **device) if (acpi_bus_get_device(phandle, &pdev)) return -ENODEV; - if (acpi_bus_add(device, pdev, handle, ACPI_BUS_TYPE_PROCESSOR)) + if (acpi_bus_scan(handle)) return -ENODEV; return 0; diff --git a/drivers/xen/xen-acpi-memhotplug.c b/drivers/xen/xen-acpi-memhotplug.c index 678680c..164287b 100644 --- a/drivers/xen/xen-acpi-memhotplug.c +++ b/drivers/xen/xen-acpi-memhotplug.c @@ -188,7 +188,7 @@ acpi_memory_get_device(acpi_handle handle, * Now add the notified device. This creates the acpi_device * and invokes .add function */ - result = acpi_bus_add(&device, pdevice, handle, ACPI_BUS_TYPE_DEVICE); + result = acpi_bus_scan(handle); if (result) { pr_warn(PREFIX "Cannot add acpi bus\n"); return -EINVAL; -- 1.8.0.2
pgpCsyaCBifZN.pgp
Description: PGP signature

