[RFC] BMC RAS Feature
J Dhanasekar
jdhanasekar at velankanigroup.com
Fri Jul 21 20:29:39 AEST 2023
Hi Supreeth Venkatesh,
Does this RAS feature work for the Daytona Platform. i have been working in openBMC development for the Daytonax platform.
If this RAS works for Daytona Platform. I will include it in my project.
Please provide your suggestions.
Thanks,
Dhanasekar
---- On Mon, 03 Apr 2023 22:06:24 +0530 Supreeth Venkatesh <supreeth.venkatesh at amd.com> wrote ---
On 3/23/23 13:57, Zane Shelley wrote:
> Caution: This message originated from an External Source. Use proper
> caution when opening attachments, clicking links, or responding.
>
>
> On 2023-03-22 19:07, Supreeth Venkatesh wrote:
>> On 3/22/23 02:10, Lei Yu wrote:
>>> Caution: This message originated from an External Source. Use proper
>>> caution when opening attachments, clicking links, or responding.
>>>
>>>
>>>>> On Tue, 21 Mar 2023 at 20:38, Supreeth Venkatesh
>>>>> <mailto:supreeth.venkatesh at amd.com> wrote:
>>>>>
>>>>>
>>>>> On 3/21/23 05:40, Patrick Williams wrote:
>>>>> > On Tue, Mar 21, 2023 at 12:14:45AM -0500, Supreeth Venkatesh
>>>>> wrote:
>>>>> >
>>>>> >> #### Alternatives Considered
>>>>> >>
>>>>> >> In-band mechanisms using System Management Mode (SMM)
>>>>> exists.
>>>>> >>
>>>>> >> However, out of band method to gather RAS data is processor
>>>>> specific.
>>>>> >>
>>>>> > How does this compare with existing implementations in
>>>>> > phosphor-debug-collector.
>>>>> Thanks for your feedback. See below.
>>>>> > I believe there was some attempt to extend
>>>>> > P-D-C previously to handle Intel's crashdump behavior.
>>>>> Intel's crashdump interface uses com.intel.crashdump.
>>>>> We have implemented com.amd.crashdump based on that reference.
>>>>> However,
>>>>> can this be made generic?
>>>>>
>>>>> PoC below:
>>>>>
>>>>> busctl tree com.amd.crashdump
>>>>>
>>>>> └─/com
>>>>> └─/com/amd
>>>>> └─/com/amd/crashdump
>>>>> ├─/com/amd/crashdump/0
>>>>> ├─/com/amd/crashdump/1
>>>>> ├─/com/amd/crashdump/2
>>>>> ├─/com/amd/crashdump/3
>>>>> ├─/com/amd/crashdump/4
>>>>> ├─/com/amd/crashdump/5
>>>>> ├─/com/amd/crashdump/6
>>>>> ├─/com/amd/crashdump/7
>>>>> ├─/com/amd/crashdump/8
>>>>> └─/com/amd/crashdump/9
>>>>>
>>>>> > The repository
>>>>> > currently handles IBM's processors, I think, or maybe that is
>>>>> covered by
>>>>> > openpower-debug-collector.
>>>>> >
>>>>> > In any case, I think you should look at the existing D-Bus
>>>>> interfaces
>>>>> > (and associated Redfish implementation) of these repositories
>>>>> and
>>>>> > determine if you can use those approaches (or document why
>>>>> now).
>>>>> I could not find an existing D-Bus interface for RAS in
>>>>> xyz/openbmc_project/.
>>>>> It would be helpful if you could point me to it.
>>>>>
>>>>>
>>>>> There is an interface for the dumps generated from the host, which
>>>>> can
>>>>> be used for these kinds of dumps
>>>>> https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Dump/Entry/System.interface.yaml
>>>>>
>>>>>
>>>>> The fault log also provides similar dumps
>>>>> https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Dump/Entry/FaultLog.interface.yaml
>>>>>
>>>>>
>>>> ThanksDdhruvraj. The interface looks useful for the purpose. However,
>>>> the current BMCWEB implementation references
>>>> https://github.com/openbmc/bmcweb/blob/master/redfish-core/lib/log_services.hpp
>>>>
>>>> [com.intel.crashdump]
>>>> constexpr char const* crashdumpPath = "/com/intel/crashdump";
>>>>
>>>> constexpr char const* crashdumpInterface = "com.intel.crashdump";
>>>> constexpr char const* crashdumpObject = "com.intel.crashdump";
>>>>
>>>> https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Dump/Entry/System.interface.yaml
>>>>
>>>> or
>>>> https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Dump/Entry/FaultLog.interface.yaml
>>>>
>>>> is it exercised in Redfish logservices?
>>> In our practice, a plugin `tools/dreport.d/plugins.d/acddump` is added
>>> to copy the crashdump json file to the dump tarball.
>>> The crashdump tool (Intel or AMD) could trigger a dump after the
>>> crashdump is completed, and then we could get a dump entry containing
>>> the crashdump.
>> Thanks Lei Yu for your input. We are using Redfish to retrieve the
>> CPER binary file which can then be passed through a plugin/script for
>> detailed analysis.
>> In any case irrespective of whichever Dbus interface we use, we need a
>> repository which will gather data from AMD processor via APML as per
>> AMD design.
>> APML
>> Spec: https://www.amd.com/system/files/TechDocs/57019-A0-PUB_3.00.zip
>> Can someone please help create bmc-ras or amd-debug-collector
>> repository as there are instances of openpower-debug-collector
>> repository used for Open Power systems?
>>>
>>>
>>> --
>>> BRs,
>>> Lei YU
> I am interested in possibly standardizing some of this. IBM POWER has
> several related components. openpower-hw-diags is a service that will
> listen for the hardware interrupts via a GPIO pin. When an error is
> detected, it will use openpower-libhei to query hardware registers to
> determine what happened. Based on that information openpower-hw-diags
> will generate a PEL, which is an extended log in phosphor-logging, that
> is used to tell service what to replace if necessary. Afterward,
> openpower-hw-diags will initiate openpower-debug-collector, which
> gathers a significant amount of data from the hardware for additional
> debug when necessary. I wrote openpower-libhei to be fairly agnostic. It
> uses data files (currently XML, but moving to JSON) to define register
> addresses and rules for isolation. openpower-hw-diags is fairly POWER
> specific, but I can see some parts can be made generic. Dhruv would have
> to help with openpower-debug-collector.
Thank you. Lets collaborate in standardizing some aspects of it.
>
> Regarding creation of a new repository, I think we'll need to have some
> more collaboration to determine the scope before creating it. It
> certainly sounds like we are doing similar things, but we need to
> determine if enough can be abstracted to make it worth our time.
I have put in a request here:
https://github.com/openbmc/technical-oversight-forum/issues/24
Please chime in.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20230721/6449b945/attachment.htm>
More information about the openbmc
mailing list