xref: /openbmc/phosphor-dbus-interfaces/yaml/xyz/openbmc_project/Dump/Entry/System.interface.yaml (revision 921791c73008a3edfc6507afb5bc15e48963d295)
1b1b4d261SWilliam A. Kennington IIIdescription: >
2b1b4d261SWilliam A. Kennington III    Implement this to add system dump management.
3b1b4d261SWilliam A. Kennington III
4a1347418SPatrick Williams    System dumps are dump of the host memory and hardware states generated
5a1347418SPatrick Williams    during a failure in the host firmware. This can be a huge dump stored in the
6*921791c7SManojkiran Eda    host memory, the BMC doesn't store this dump but stream this dump to an
7a1347418SPatrick Williams    external client based on the offload request. Apart from system generated
8a1347418SPatrick Williams    system dump, users can also request for this kind of dump.
9b1b4d261SWilliam A. Kennington III
10b1b4d261SWilliam A. Kennington IIIproperties:
11b1b4d261SWilliam A. Kennington III    - name: SourceDumpId
12b1b4d261SWilliam A. Kennington III      type: uint32
13b1b4d261SWilliam A. Kennington III      description: >
14a1347418SPatrick Williams          The dump id provided by the source of the dump. There are dumps which
15a1347418SPatrick Williams          get generated outside the BMC, like a system dump which gets generated
16a1347418SPatrick Williams          and stored in the host memory. All dumps will have a  unique id  but
17a1347418SPatrick Williams          when communicating to the source of the dump the SourceDumpId will be
18a1347418SPatrick Williams          used.
1927afd1f2SDhruvaraj Subhashchandran    - name: Token
2027afd1f2SDhruvaraj Subhashchandran      type: uint32
2127afd1f2SDhruvaraj Subhashchandran      description: >
2227afd1f2SDhruvaraj Subhashchandran          A token exchanged with an external firmware subsystem when creating a
2327afd1f2SDhruvaraj Subhashchandran          dump outside of the BMC. This token can be used to identify the dump
2427afd1f2SDhruvaraj Subhashchandran          entry once the collection is completed.
252117deabSDhruvaraj Subhashchandran    - name: SystemImpact
262117deabSDhruvaraj Subhashchandran      type: enum [self.SystemImpact]
272117deabSDhruvaraj Subhashchandran      default: Disruptive
282117deabSDhruvaraj Subhashchandran      description: >
292117deabSDhruvaraj Subhashchandran          System dumps can be broadly classified into two types based on their
302117deabSDhruvaraj Subhashchandran          impact on the system state. The first type, known as a 'disruptive'
312117deabSDhruvaraj Subhashchandran          dump, alters the system state. This kind of dump is typically
322117deabSDhruvaraj Subhashchandran          generated during a host crash, although it can also be manually
332117deabSDhruvaraj Subhashchandran          requested by a user. Despite its disruptive nature, this dump is able
342117deabSDhruvaraj Subhashchandran          to collect a lot of data, making it particularly useful for diagnosing
352117deabSDhruvaraj Subhashchandran          system crashes. The second type is a 'non-disruptive' dump. As the
362117deabSDhruvaraj Subhashchandran          name suggests, this dump is created without causing any disruption to
372117deabSDhruvaraj Subhashchandran          the system state.
38cb01cd40SDhruvaraj Subhashchandran    - name: UserChallenge
39cb01cd40SDhruvaraj Subhashchandran      type: string
40cb01cd40SDhruvaraj Subhashchandran      description: >
41cb01cd40SDhruvaraj Subhashchandran          On some host implementations a user-challenge need to be provided by
42cb01cd40SDhruvaraj Subhashchandran          the user and it flows through BMC and up to the host as a part of the
43cb01cd40SDhruvaraj Subhashchandran          dump request. Non-disruptive dumps consume significant host resources
44cb01cd40SDhruvaraj Subhashchandran          and involve the collection of host memory data. To safeguard these
45cb01cd40SDhruvaraj Subhashchandran          operations and ensure they are initiated only by authorized personnel,
46cb01cd40SDhruvaraj Subhashchandran          the provided passphrase is employed. In some systems, an Access
47cb01cd40SDhruvaraj Subhashchandran          Control List (ACL) file, provided through the Platform Level Data
48cb01cd40SDhruvaraj Subhashchandran          Model (PLDM), is used. The host validates the provided user-challenge
49cb01cd40SDhruvaraj Subhashchandran          against this ACL. If the user-challenge doesn't match any entry in the
50cb01cd40SDhruvaraj Subhashchandran          ACL, the host will reject the dump request. This field is needed so
51cb01cd40SDhruvaraj Subhashchandran          the host can check that only authorized users are allowed to perform
52cb01cd40SDhruvaraj Subhashchandran          certain dump operations.
53fa867966SDhruvaraj Subhashchandran    - name: DumpRequestStatus
54fa867966SDhruvaraj Subhashchandran      type: enum[self.HostResponse]
55fa867966SDhruvaraj Subhashchandran      description: >
56fa867966SDhruvaraj Subhashchandran          The host will send a response code for each request to create a system
57fa867966SDhruvaraj Subhashchandran          dump to indicate whether the request is successful or there is an
58fa867966SDhruvaraj Subhashchandran          error.
59fa867966SDhruvaraj Subhashchandran      default: Unknown
602117deabSDhruvaraj Subhashchandran
612117deabSDhruvaraj Subhashchandranenumerations:
622117deabSDhruvaraj Subhashchandran    - name: SystemImpact
632117deabSDhruvaraj Subhashchandran      description: Indicate the type of system dump
642117deabSDhruvaraj Subhashchandran      values:
652117deabSDhruvaraj Subhashchandran          - name: Disruptive
662117deabSDhruvaraj Subhashchandran            description: >
672117deabSDhruvaraj Subhashchandran                The system state will change with this type of dump collection
682117deabSDhruvaraj Subhashchandran          - name: NonDisruptive
692117deabSDhruvaraj Subhashchandran            description: >
702117deabSDhruvaraj Subhashchandran                The system state will not change with the collection
71fa867966SDhruvaraj Subhashchandran    - name: HostResponse
72fa867966SDhruvaraj Subhashchandran      description: >
73fa867966SDhruvaraj Subhashchandran          These are the possible response codes from the host's after sending a
74fa867966SDhruvaraj Subhashchandran          non-disruptive system dump request.
75fa867966SDhruvaraj Subhashchandran      values:
76fa867966SDhruvaraj Subhashchandran          - name: Unknown
77fa867966SDhruvaraj Subhashchandran            description: >
78fa867966SDhruvaraj Subhashchandran                The status of the request is unknown, or not initialized
79fa867966SDhruvaraj Subhashchandran          - name: Requested
80fa867966SDhruvaraj Subhashchandran            description: >
81fa867966SDhruvaraj Subhashchandran                Requested for system dump and awaiting the host response
82fa867966SDhruvaraj Subhashchandran          - name: Success
83fa867966SDhruvaraj Subhashchandran            description: >
84fa867966SDhruvaraj Subhashchandran                Successfully validated and accepted the request for a
85fa867966SDhruvaraj Subhashchandran                non-disruptive system dump.
86fa867966SDhruvaraj Subhashchandran          - name: ACLFileInvalid
87fa867966SDhruvaraj Subhashchandran            description: >
88fa867966SDhruvaraj Subhashchandran                Invalid Access Control List file, cannot validate the user to
89fa867966SDhruvaraj Subhashchandran                start a non-disruptive system dump.
90fa867966SDhruvaraj Subhashchandran          - name: UserChallengeInvalid
91fa867966SDhruvaraj Subhashchandran            description: >
92fa867966SDhruvaraj Subhashchandran                The user challenge provided is not valid
93fa867966SDhruvaraj Subhashchandran          - name: PermissionDenied
94fa867966SDhruvaraj Subhashchandran            description: >
95fa867966SDhruvaraj Subhashchandran                The caller does not have enough privileges to execute the
96fa867966SDhruvaraj Subhashchandran                requested non-disruptive system dump.
97