<emphasis>ibm,update-properties</emphasis> RTAS Call This RTAS call is used to report updates to the properties changed due to a massive platform reconfiguration such as when the partition is migrated between machines. This RTAS call reports changes in the node specified by the phandle value in the work area passed using the Work Area Address argument. The phandle value may be that of a critical node that the caller is interested in or one reported by ibm,update-nodes RTAS call. These changes may include any combination of new values, deleted and added properties. Updates for a given node are retained until the platform is subsequently reconfigured, and remain available to subsequent calls to ibm,update-nodes. There may be more changes than can be reported in a single 4 K work area. In this case, the RTAS call returns with a status of 1 “More properties updated -- call again”. On the first call, the second word of the work area contains the value 0 specifying that the RTAS call is to start with the first changed property for the specified updated node. On a call with a status value of 1, the first sixteen (16) bytes of the work area contain values that, when subsequently supplied in the work area of another call to ibm,update-properties RTAS, specify that the call returns the updated property data for properties after those reported in the previous call. A single updated property value string may exceed the capacity of a single 4 K work area. In that case, the updated property value descriptor for the property appears in the work area of multiple sequential calls to ibm,update-properties RTAS. When the updated property value descriptor contains the final data for the property value, the property string length field of the updated property value descriptor is a positive number. When the updated property value descriptor contains either the initial or interim data for the property value, the updated property string length field is a negative number denoting the twos complement of the length of the updated property string contained in the work area. The data value strings for a given property name are concatenated until the final updated property value descriptor is processed. The first value returned, with an updated property name string of NULL, is always the node’s name (for example: full path || name property value || @ unit address) even if there has been no change. R1--1. For the Update OF Tree option: The platform must implement the ibm,update-properties RTAS call using the argument call buffer defined by . <emphasis>ibm,update-properties</emphasis> Argument Call Buffer Parameter Type Name Values In Token Token for ibm,update-properties Number Inputs 2 Number Outputs 1 Work Area Address 32 bit real address of work area Scope Values per . Out Status -1: Hardware Error -2: Busy -3: Parameter Error (Purpose does not match the current partition state) 0: Success 1: More properties updated -- call again
R1--2. ibm,update-properties RTAS call must be 4 KB long aligned on a 4 KB boundary that is accessible with MSR[DR] = 0, else RTAS may return -3 “Parameter Error”. R1--3. The work area on the first call to ibm,update-properties RTAS for a given updated node must be formatted as specified in , else RTAS may return -3 “Parameter Error”. Initial Format of Work Area for <emphasis>ibm,update-properties</emphasis> phandle of updated node containing updated properties to be reported (4 bytes) 0x00000000 (Indicates Initial call for specified phandle) 8 bytes of 0x00 (reserved) Don’t Care . . .
R1--4. Upon successful return (non-negative status value) from ibm,update-properties the work area must by formatted as defined in . Return Format of Work Area for <emphasis>ibm,update-properties</emphasis> Description Comments phandle of updated node containing updated properties to be reported. 4 Bytes State Variable (to be returned if status argument value = 1) 4 Bytes Reserved 8 bytes Number of properties reported in the work area 4 Bytes The number (N) of updated property value descriptors that follow -- see below N updated property value descriptors Each updated property value descriptor is formatted as:   Null terminated string indicating the name of the updated property. followed by: Value Descriptor -- 4 Bytes decoded as   0x00000000 Name only property ( “encode-null”) no value follows   0x80000000 The property is to be deleted no value follows   Other positive values are the length (M) of the immediately following property value string that completes the update of the property value.   Other negative values are the twos complement of the length (M) of the immediately following property value string that either starts or continues the update of the property value with the remainder in the work area of subsequent call(s) to ibm,update-properties.   Followed by: 0-M bytes of property value string.
R1--5. Upon successful return (non-negative status value) from ibm,update-properties when the State Variable had been 0x00000000, the first updated property descriptor must describe the fully qualified path name of the node specified by the phandle argument in the work buffer; the three fields of this updated property descriptor are: Property name string is as from encode-null Value descriptor is the 4 byte binary length of the value string Value string is the fully qualified path name as from the node name string returned by the open firmware package-to-path client interface call. R1--6. The work area on subsequent call(s) to ibm,update-properties RTAS for a given updated node must be formatted as specified in , else RTAS may return -3 “Parameter Error”. Format of Work Area for Subsequent Calls to <emphasis>ibm,update-properties</emphasis> phandle of updated node containing updated properties to be reported (4 Bytes) Value from last call to ibm,update-properties RTAS that returned status of 1 (12 bytes). Don’t Care . . .
R1--7. ibm,update-properties RTAS call, the platform must restrict its reported property updates to those specified in for the value of the specified “Scope” argument. R1--8. For the ibm,update-properties RTAS call, the platform must return a Status of -3 (Parameter Error) for an unrecognized value of the “Scope” argument. Properties of the Nodes That May Be Reported by <emphasis>ibm,update-properties</emphasis> for a “ <emphasis>Scope</emphasis>” Scope Value Reportable node types (value of “name” or “device_type” property) Property Name All negative values: Resource Reassignment events as from event-scan RTAS /memory “ibm,associativity” ibm,dynamic-reconfiguration-memory “ibm,dynamic-memory” “ibm,dynamic-memory-v2” cpu “ibm,associativity” ibm,random-v# <all> ibm,compression-v# <all> ibm,encryption-v# <all> ibm,memory-utilization_instrumentation-v# <all> 1 Partition Migration / Hibernation root “ibm,model-class” “clock-frequency” “ibm,extended-clock-frequency” “model” “compatible” “name” “system-id” “ibm,partition-no” “ibm,drc-info” “ibm,drc-indexes” “ibm,drc-names” “ibm,drc-power-domains” “ibm,drc-types” “ibm,aix-diagnostics” “ibm,diagnostic-lic” “ibm,platform-hardware-notification” “ibm,ignore-hp-po-fails-for-dlpar” “ibm,managed-address-types” “ibm,service-indicator-mode” openprom “model” rtas “power-on-max-latency” “ibm,associativity-reference-points” “ibm,max-associativity-domains” “ibm,configure-kernel-dump” “ibm,configure-kernel-dump-sizes” “ibm,configure-kernel-dump-version” “ibm,read-slot-reset-state-functions” “ibm,configure-pe” “ibm,change-msix-capable” “ibm,current-associativity-domains” vdevice “ibm,drc-names” “ibm,drc-info” children of the vdevice node “ibm,loc-code” 1 Partition Migration / Hibernation   cpu “name” “d-cache-sets” “d-cache-size” “i-cache-sets” “i-cache-size” “bus-frequency” “ibm,extended-bus-frequency” “ibm,extended-clock-frequency” “clock-frequency” “timebase-frequency” “l2-cache” “performance-monitor” “ibm,associativity” TLB properties (See ) “slb-size” “ibm,tbu40-offset” “ibm,pi-features” “ibm,spurr” “ibm,pa-optimizations” “ibm,dfp” (sign bit only) “ibm,sub-processors” cache “d-cache-sets” “d-cache-size” “i-cache-sets” “i-cache-size” l2-cache options “ibm,dasd-spin-interval” memory “ibm,associativity” ibm,dynamic-reconfiguration-memory “ibm,associativity-lookup-arrays” “ibm,dynamic-memory” “ibm,dynamic-memory-v2” only the associativity list index fields “ibm,memory-preservation-time” /chosen “ibm,architecture-vec-5” byte 3 (I/O Super Page Option support parameters) 1 Partition Migration / Hibernation   ibm,random-v# <all> ibm,compression-v# <all> ibm,encryption-v# <all> ibm,memory-utilization_instrumentation-v# <all> 2 Activate Firmware rtas Any /rtas node property as defined per LoPAR remains invariant. Any /rtas node property or definition extension, except for the value of a function token property*, may change (provided that the client program has indicated support for such property or definition extension) including the following: “ibm,read-slot-reset-state-functions” “ibm,configure-pe” *NOTE: This exception mandates that if an RTAS function token property survives a firmware activation, the token value of that RTAS function call does not change. 3 Device Reconfiguration ibm,coherent-platform-facility “compatible” “status” “ibm,caia-version” “ibm,psl-revision” “ibm,vpd-size” “vendor-id” “device-id” “subsystem-id” “subsystem-vendor-id” “revision-id” “class-code” ibm,coherent-platform-function “compatible” “reg” “ibm,max-ints-per-process” “ibm,min-ints-per-process” “ibm,#processes” “ibm,config-record-type” “ibm,config-record-size” “ibm,#config-records” “ibm,error-buffer-size” “ibm,vpd-size” “ibm,scratchpad-size” “vendor-id” “device-id” “subsystem-id” “subsystem-vendor-id” “revision-id” “class-code” “ibm,process-mmio” “ibm,supports-aur” “ibm,supports-csrp” “ibm,supports-prr” “ibm,process-mmio-size” “ibm,programming-model” “ibm,programming-models”