[Skiboot] [PATCH v4 13/18] fadump: Add OPAL API to register for fadump
Vasant Hegde
hegdevasant at linux.vnet.ibm.com
Thu Aug 16 14:50:48 AEST 2018
On 08/07/2018 01:15 PM, Stewart Smith wrote:
> Vasant Hegde <hegdevasant at linux.vnet.ibm.com> writes:
>> This patch adds new API for fadump.
>> int64_t opal_fadump_manage(uint64_t cmd, void *data, uint64_t dsize)
>>
>> cmd : 0x01 -> Register for fadump
>> 0x02 -> Unregister fadump
>> 0x03 -> Invalidate existing dump
>>
>> data : For cmd = 0x01, data contains payload section reservation details
>> (uses fadump structure format to send data).
>> For other cmd values, data will be NULL.
>> dsize: Size of data
>>
>> Return values:
>> OPAL_SUCCESS : Operation success
>> OPAL_PARAMETER : Payload passed invalid data
>> OPAL_RESOURCE : Ran out of MDST, MDDT table size
>> OPAL_PERMISSION: Already registered
>> OPAL_HARDWARE : Fadump not supported
>
> I'm thinking that the existing OPAL_(UN)REGISTER_DUMP_REGION calls could
> be adequate here?
Unfortunately OPAL_(UN)REGISTER_DUMP_REGION is not sufficient. In case of current
FSP SYSDUMP, kernel just passes memory to be captured. OPAL takes care of TCE
mapping.
But in case of MPIPL, we want kernel to reserve memory for kernel dump and pass
that detail
to OPAL.
>
> Even in the case where the kernel doesn't know anything about the new
> dump infrastructure, if we passed something back via the OPAL_DUMP_READ
> interface that we use on FSP systems today, we'd have a net gain in
> functionality without any kernel (or userspace) changes. Or am I missing
> something?
In case of SYSDUMP, we want kernel to allocate memory, pass detail to OPAL. OPAL
does TCE
mapping and gets actual dump from FSP.
But in case of MPIPL, flow is different. Here during first boot (before crash)
we populate
MDST and MDDT table inside HDAT/SPIRAH structure with details of source and
destination
memory. During crash boot (second boot) Hostboot will take care of moving memory
content.
By the time we boot OPAL we already have memory content in destination memory.
Kernel
will use these details to generate vmcore and opal core.
One thing we can consider is exporting OPAL dump via sysfs (similar to the way
we export
raw HDAT content). So that even if kernel doesn't know anything about MPIPL we
can still retrieve OPAL dump. I will add that support once this patchset is merged.
-Vasant
More information about the Skiboot
mailing list