linux/arch/powerpc/platforms/pseries
Nathan Fontenot 762ec15707 powerpc/pseries: Expose pseries devicetree_update()
Newer firmware on Power systems can transparently reassign platform resources
(CPU and Memory) in use. For instance, if a processor or memory unit is
predicted to fail, the platform may transparently move the processing to an
equivalent unused processor or the memory state to an equivalent unused
memory unit. However, reassigning resources across NUMA boundaries may alter
the performance of the partition. When such reassignment is necessary, the
Platform Resource Reassignment Notification (PRRN) option provides a
mechanism to inform the Linux kernel of changes to the NUMA affinity of
its platform resources.

When rtasd receives a PRRN event, it needs to make a series of RTAS
calls (ibm,update-nodes and ibm,update-properties) to retrieve the
updated device tree information. These calls are already handled in the
pseries_devicetree_update() routine used in partition migration.

This patch exposes pseries_devicetree_update() to make it accessible
to other pseries routines, this patch also updates pseries_devicetree_update()
to take a 32-bit scope parameter. The scope value, which was previously hard
coded to 1 for partition migration, is used for the RTAS calls
ibm,update-nodes/properties to update the device tree.

Signed-off-by: Nathan Fontenot <nfont@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-04-26 16:08:19 +10:00
..
cmm.c power: cmm - convert sysdev_class to a regular subsystem 2011-12-21 15:09:51 -08:00
dlpar.c powerpc+of: Add of node/property notification chain for adds and removes 2012-11-15 12:56:41 +11:00
dtl.c cputime: Generic on-demand virtual cputime accounting 2013-01-27 19:23:27 +01:00
eeh_cache.c powerpc/eeh: Cleanup on EEH PCI address cache 2012-09-10 09:59:00 +10:00
eeh_dev.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
eeh_driver.c powerpc/eeh: Lock module while handling EEH event 2012-09-18 15:32:48 +10:00
eeh_event.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-10-13 10:05:52 +09:00
eeh_pe.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
eeh_pseries.c powerpc/eeh: Probe mode support 2012-09-10 09:35:44 +10:00
eeh_sysfs.c powerpc/eeh: Move stats to PE 2012-09-10 09:35:43 +10:00
eeh.c powerpc/eeh: Fix crash when adding a device in a slot with DDW 2013-01-10 17:01:58 +11:00
event_sources.c powerpc/pseries: Add WARN_ON() to request_event_sources_irqs() on irq allocation/request failure 2010-07-09 11:28:32 +10:00
firmware.c powerpc/pseries: Cleanup best_energy_hcall detection 2013-01-10 15:08:37 +11:00
hotplug-cpu.c powerpc: Fix a lazy irq related WARING in arch_local_irq_restore() 2013-01-10 14:43:45 +11:00
hotplug-memory.c powerpc+of: Add of node/property notification chain for adds and removes 2012-11-15 12:56:41 +11:00
hvCall_inst.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
hvCall.S powerpc: Merge STK_REG/PARAM/FRAMESIZE 2012-07-10 19:18:03 +10:00
hvconsole.c powerpc: convert hvconsole.c to export.h ; fix implicit use of errno.h 2011-10-31 19:30:43 -04:00
hvcserver.c powerpc/pseries/hvcserver: Fix strncpy buffer limit in location code 2013-03-05 16:56:27 +11:00
io_event_irq.c powerpc: Make function that parses RTAS error logs global 2012-03-28 11:31:58 +11:00
iommu.c powerpc/pseries: close DDW race between functions of adapter 2013-04-18 13:04:00 +10:00
Kconfig powerpc: Hook up doorbells on server 2013-01-10 15:09:08 +11:00
kexec.c powerpc/pseries: Simplify vpa deregistration functions 2011-08-05 14:47:58 +10:00
lpar.c powerpc: pSeries_lpar_hpte_remove fails from Adjunct partition being performed before the ANDCOND test 2013-04-08 15:19:09 +10:00
Makefile powerpc: Build kernel with -mcmodel=medium 2013-01-10 17:00:31 +11:00
mobility.c powerpc/pseries: Expose pseries devicetree_update() 2013-04-26 16:08:19 +10:00
msi.c powerpc/pseries: Fix oops with MSIs when missing EEH PEs 2012-11-23 13:26:05 +11:00
nvram.c kmsg - kmsg_dump() use iterator to receive log buffer content 2012-06-15 14:53:59 -07:00
offline_states.h powerpc/smp: soft-replugged CPUs must go back to start_secondary 2011-04-01 15:37:09 +11:00
pci_dlpar.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
pci.c powerpc/pseries/pci: Use NULL instead of 0 for pointers 2013-01-10 17:00:19 +11:00
plpar_wrappers.h powerpc: Use VPA subfunction macros instead of numbers for vpa calls 2013-04-18 11:52:58 +10:00
power.c [POWERPC] Fix warning in pseries/power.c 2008-02-20 13:33:37 +11:00
processor_idle.c cpuidle: Measure idle state durations with monotonic clock 2012-11-27 14:17:58 +01:00
pseries_energy.c powerpc/pseries: Cleanup best_energy_hcall detection 2013-01-10 15:08:37 +11:00
pseries.h powerpc/cpuidle: cpuidle driver for pSeries 2011-12-08 13:56:31 +11:00
ras.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
reconfig.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-12-18 09:58:09 -08:00
scanlog.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
setup.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-02-23 17:09:55 -08:00
smp.c powerpc: Hook up doorbells on server 2013-01-10 15:09:08 +11:00
suspend.c powerpc/pseries: Fix partition migration hang in stop_topology_update 2012-02-14 15:01:39 +11:00