Several properties in the DRC device tree format are replaced by more compact representations to allow, for example, for the encoding of vast amounts of memory, and or reduced duplication of information in related data structures.
"ibm,drc-info": This property, when present, replaces the following four properties: "ibm,drc-indexes", "ibm,drc-names", "ibm,drc-types" and "ibm,drc-power-domains". This property is defined for all dynamically reconfigurable platform nodes. The "ibm,drc-info" elements are intended to provide a more compact representation, and reduce some search overhead. "ibm,dynamic-memory-v2": This property replaces the "ibm,dynamic-memory" node representation within the "ibm,dynamic-reconfiguration-memory" property provided by the BMC. This element format is intended to provide a more compact representation of memory, especially, for systems with massive amounts of RAM. To simplify portability, this property is converted to the "ibm,dynamic-memory" property during system boot. "ibm,architecture.vec": Bidirectional communication mechanism between the host system and the front end processor indicating what features the host system supports and what features the front end processor will actually provide. In this case, we are indicating that the host system can support the new device tree structures "ibm,drc-info" and "ibm,dynamic-memory-v2". [V1: Initial presentation of PAPR 2.7 changes to device tree.] [V2: Revise constant names. Fix some syntax errors. Improve comments.] [V3: Revise tests for presence of new properties to always scan devicetree instead of depending upon architecture vec, due to reboot issues.] [V4: Rearrange some code changes in patches to better match application, and other code cleanup.] [V5: Resynchronize patches.] [V6: Resync to latest kernel commit code] [V7: Correct mail threading] [v8: Insert more useful variable names] Signed-off-by: Michael Bringmann <m...@linux.vnet.ibm.com> --- Michael Bringmann (8): powerpc/firmware: Add definitions for new firmware features. powerpc/memory: Parse new memory property to register blocks. powerpc/memory: Parse new memory property to initialize structures. pseries/hotplug init: Convert new DRC memory property for hotplug runtime pseries/drc-info: Search new DRC properties for CPU indexes hotplug/drc-info: Add code to search new devtree properties powerpc: Check arch.vec earlier during boot for memory features powerpc: Enable support for new DRC devtree properties arch/powerpc/include/asm/firmware.h | 5 - arch/powerpc/include/asm/prom.h | 38 ++++- arch/powerpc/kernel/prom.c | 103 +++++++++++-- arch/powerpc/kernel/prom_init.c | 3 arch/powerpc/mm/numa.c | 168 ++++++++++++++++++-- arch/powerpc/platforms/pseries/Makefile | 4 arch/powerpc/platforms/pseries/firmware.c | 2 arch/powerpc/platforms/pseries/hotplug-memory.c | 93 +++++++++++ arch/powerpc/platforms/pseries/pseries_energy.c | 189 ++++++++++++++++++++--- drivers/pci/hotplug/rpadlpar_core.c | 13 +- drivers/pci/hotplug/rpaphp.h | 4 drivers/pci/hotplug/rpaphp_core.c | 109 ++++++++++--- 12 files changed, 628 insertions(+), 103 deletions(-) -- Michael W. Bringmann Linux Technology Center IBM Corporation m...@linux.vnet.ibm.com