<emphasis>ibm,configure-kernel-dump</emphasis> 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 . Argument Call Buffer <emphasis>ibm,configure-kernel-dump</emphasis> 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.