ibm,update-properties 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
.
Argument Call Buffer
ibm,update-properties
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
ibm,update-properties
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
ibm,update-properties
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
ibm,update-properties
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
ibm,update-properties for a “
Scope”
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”