summaryrefslogtreecommitdiff
path: root/arch/powerpc/platforms/pseries/firmware.c
diff options
context:
space:
mode:
authorJesse Larrew <jlarrew@linux.vnet.ibm.com>2013-04-24 10:00:35 +0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2013-04-26 10:08:23 +0400
commit5d88aa85c00bb4026dd986430dc496effc637d42 (patch)
tree206edc195104eb8258a36b25f5247055211164c2 /arch/powerpc/platforms/pseries/firmware.c
parent8002b0c54b16931ad71771e6c97e46aca1be4456 (diff)
downloadlinux-5d88aa85c00bb4026dd986430dc496effc637d42.tar.xz
powerpc/pseries: Update CPU maps when device tree is updated
Platform events such as partition migration or the new PRRN firmware feature can cause the NUMA characteristics of a CPU to change, and these changes will be reflected in the device tree nodes for the affected CPUs. This patch registers a handler for Open Firmware device tree updates and reconfigures the CPU and node maps whenever the associativity changes. Currently, this is accomplished by marking the affected CPUs in the cpu_associativity_changes_mask and allowing arch_update_cpu_topology() to retrieve the new associativity information using hcall_vphn(). Protecting the NUMA cpu maps from concurrent access during an update operation will be addressed in a subsequent patch in this series. Signed-off-by: Nathan Fontenot <nfont@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/platforms/pseries/firmware.c')
-rw-r--r--arch/powerpc/platforms/pseries/firmware.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/pseries/firmware.c b/arch/powerpc/platforms/pseries/firmware.c
index 06639fa2d61d..8c80588abacc 100644
--- a/arch/powerpc/platforms/pseries/firmware.c
+++ b/arch/powerpc/platforms/pseries/firmware.c
@@ -110,6 +110,7 @@ struct vec5_fw_feature {
static __initdata struct vec5_fw_feature
vec5_fw_features_table[] = {
{FW_FEATURE_TYPE1_AFFINITY, OV5_TYPE1_AFFINITY},
+ {FW_FEATURE_PRRN, OV5_PRRN},
};
void __init fw_vec5_feature_init(const char *vec5, unsigned long len)