ibm,configure-kernel-dump RTAS Call
This RTAS call is used to register and unregister with the platform
a data structure describing kernel dump information. This dump
information is preserved as needed by the platform in support of a
platform assisted kernel dump option.
R1--1.
For the Configure Platform Assisted Kernel Dump
option: The platform must implement the
ibm,configure-kernel-dump RTAS call using the
argument call buffer defined by
.
ibm,configure-kernel-dump Argument Call Buffer
Parameter Type
Name
Values
In
Token
Token for
ibm,configure-kernel-dump
Number Inputs
3
Number Outputs
1
Command
1: Register for future kernel dump
2: Unregister for future kernel dump
3: Complete/Invalidate current kernel dump
Work_buffer_address
When command is 1: Register for future kernel dump,
points to a structure as defined in
.
Work_buffer_length
Length of Kernel Dump Memory Structure when defined
above
Out
Status
0: Success
-1: Hardware Error
-2: Busy
-3: Parameter Error
-9: Dump Already Registered
-10: Dump Active
990x:Extended Delay
R1--2.
For the Configure Platform Assisted Kernel Dump
option: The work-buffer address and work-buffer-length for the
ibm,configure-kernel-dump RTAS call must point to an
RMR-memory buffer that contains the structures described in
, whenever the command is 1,
register for future kernel dump; otherwise the call may return -3,
“Parameter Error.”
The Dump Memory Structure specified in
is passed by the operating
system during a
ibm,configure-kernel-dump RTAS call. It is also
reported by the platform using the
ibm,kernel-dump RTAS property after a dump has been
initiated.
Kernel Assisted Dump Memory Structure
Header
Offset
Number of Bytes
Value
0x0
4
Dump Format Version = 0x00000001
0x4
2
Number of Kernel Dump Sections
0x6
2
Dump Status Flags
A bit mask with value
0x8000 = Dump performed (Set to 0 by caller of the
ibm,configure-kernel-dump call)
0x4000 = Dump was triggered by the previous system boot
(set by platform)
0x2000 = Dump error occurred (set by platform)
All other bits reserved
0x8
4
Offset to first Kernel Dump Section, offset from the
beginning of the Structure
0xc
4
Number of bytes in a block of the dump-disk, if data to
be written to a dump-disk, If not, should be set to 0
(indicating the no disk dump option.)
0x10
8
Starting block# offset on dump-disk (set to 0 for the no
disk dump option)
0x18
8
Number of blocks on dump-disk usable for dump (set to 0
for the no disk dump option)
0x20
4
Offset from start of structure to a Null-terminated
Dump-disk path string (set to 0 for the no disk dump
option)
0x24
4
Maximum time allowed (milliseconds) after
Non-Maskable-Interrupt for the OS to call
ibm,configure-kernel-dump
Function 2 (unregister) to prevent an
automatic dump-reboot (set to 0 to disable the automatic
dump-reboot function)
Dump-disk Path String
Offset specified above
Varies
Null-terminated Dump-disk path string specifying the
dump-disk. If no disk dump option is indicated, this section is
not included.
First Kernel Dump Section
Offset specified above
4
Dump Request Flags:
A bit-mask
Bit 0x00000001 When set, firmware to copy source data to
partition memory. This option must be selected if no disk dump
option is indicated.
All other bit values reserved
Section Start+4
2
Source Data type, describes section of dump memory being
described
0x0001 = CPU State Data
0x0002 = Hardware Page Table for Real Mode Region
0x0011 = Real Mode Region
0x0012 = Dump OS identified string (identifies that the
dump is for a particular OS type and version)
0x0100 - 0xFFFF OS defined source types
All Other values reserved
Section Start+6
2
Dump Error Flags (set by platform)
Bit mask
0x8000 = Invalid section data type
0x4000 = Invalid source address
0x2000 = Requested section length exceeds source
0x1000 = Invalid partition destination address
0x0800 = Partition memory destination too small
Section Start+8
8
Source address (logical address if section came from
partition memory, or byte offset if section is platform
memory)
Section Start+16
8
Requested data length, represents number of bytes to
dump
Section Start+24
8
Actual data length, number of bytes dumped
Section Start+32
8
Destination address, logical address used for sections
not written to disk by the platform, always required for a Real
mode region section and for all sections when the no disk dump
option is used.
Subsequent Sections
Previous Section Start+40
Start of Next Section
A total of up to nine additional 40 bytes sections with
values as described in the First Section may be specified so
long as the entire structure does not exceed 512 bytes for
version 1.
R1--3.
ibm,os-term RTAS call, or on a system reset without
an
ibm,nmi-interlock RTAS call, if the platform has a
dump structure registered through the
ibm,configure-kernel-dump call, the platform must
process each registered kernel dump section as required and, when
available, present the dump structure information to the operating system
through the
“ibm,kernel-dump” property, updated with
status for each dump section, until the dump has been invalidated through
the
ibm,configure-kernel-dump RTAS call.
R1--4.
If ibm,configure-kernel-dump RTAS call is made to
register or unregister for a dump while a dump is currently active, the
platform must return a
Status of -9, “Dump Active” indicating
that a dump has been copied by the platform and a call must be made to
complete/invalidate the active dump before another call to register or
unregister a dump can be completed successfully.
R1--5.
If ibm,configure-kernel-dump RTAS call is made to
register a dump after a dump has already been registered by a call, the
platform must return a
Status of -8, “Dump Already Registered”
unless an intervening call was made to invalidate the previously
registered dump.
R1--6.
For the Configure Platform Assisted Kernel Dump
Option: Partition memory not specifically mentioned in the call
structure must be preserved by the platform at the same location as
existed prior to the os termination or platform reboot.
R1--7.
For the Configure Platform Assisted Kernel Dump
Option: The platform must present the RTAS property,
“ibm,configure-kernel-dump-sizes” in the
OF device tree, which describes how much space is required to store dump
data for the firmware provided dump sections, where the firmware defined
dump sections are:
0x0001 = CPU State Data
0x0002 = Hardware Page Table for Real Mode Region
R1--8.
For the Configure Platform Assisted Kernel Dump
Option: The platform must present the RTAS property,
“ibm-configure-kernel-dump-version” in
the OF device tree.
R1--9.
For the Configure Platform Assisted Kernel Dump
Option: After a dump registration is disabled (for example, by
a partition migration operation), calls to
ibm,os-term must return to the OS as though a dump
was not registered.
Programming Note: The intended flow of interactions
that utilize this call is as follows:
The OS registers sections of memory for dump preservation during
OS initialization
The OS terminates abnormally
The Platform moves registered sections of memory as instructed
during dump registration.
The Partition reboots and provides the prior registration data
in the device tree.
The OS writes the preserved memory regions to disk before using
those memory regions for regular use
The OS completes/invalidates current dump status.
The OS must use H_CLEAR_HPT to clear the page table if running
in XIVE Exploitation Mode, H_REMOVE is not a sufficient mechanism
to clear the HPT. Failure to use H_CLEAR_HPT may result in H_READ
returning invalid entries as valid.