Dhruvaraj Subhashchandran | 5006cdf | 2020-01-20 04:08:10 -0600 | [diff] [blame] | 1 | description: > |
| 2 | Implement this to add system dump management. |
| 3 | |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 4 | System dumps are dump of the host memory and hardware states generated |
| 5 | during a failure in the host firmware. This can be a huge dump stored in the |
| 6 | host memory, the BMC doesnt store this dump but stream this dump to an |
| 7 | external client based on the offload request. Apart from system generated |
| 8 | system dump, users can also request for this kind of dump. |
Dhruvaraj Subhashchandran | 5006cdf | 2020-01-20 04:08:10 -0600 | [diff] [blame] | 9 | |
| 10 | properties: |
| 11 | - name: SourceDumpId |
| 12 | type: uint32 |
| 13 | description: > |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 14 | The dump id provided by the source of the dump. There are dumps which |
| 15 | get generated outside the BMC, like a system dump which gets generated |
| 16 | and stored in the host memory. All dumps will have a unique id but |
| 17 | when communicating to the source of the dump the SourceDumpId will be |
| 18 | used. |
Dhruvaraj Subhashchandran | 27afd1f | 2023-07-08 13:07:21 -0500 | [diff] [blame] | 19 | - name: Token |
| 20 | type: uint32 |
| 21 | description: > |
| 22 | A token exchanged with an external firmware subsystem when creating a |
| 23 | dump outside of the BMC. This token can be used to identify the dump |
| 24 | entry once the collection is completed. |
Dhruvaraj Subhashchandran | 2117dea | 2023-07-08 13:28:06 -0500 | [diff] [blame] | 25 | - name: SystemImpact |
| 26 | type: enum [self.SystemImpact] |
| 27 | default: Disruptive |
| 28 | description: > |
| 29 | System dumps can be broadly classified into two types based on their |
| 30 | impact on the system state. The first type, known as a 'disruptive' |
| 31 | dump, alters the system state. This kind of dump is typically |
| 32 | generated during a host crash, although it can also be manually |
| 33 | requested by a user. Despite its disruptive nature, this dump is able |
| 34 | to collect a lot of data, making it particularly useful for diagnosing |
| 35 | system crashes. The second type is a 'non-disruptive' dump. As the |
| 36 | name suggests, this dump is created without causing any disruption to |
| 37 | the system state. |
Dhruvaraj Subhashchandran | cb01cd4 | 2023-07-10 02:20:18 -0500 | [diff] [blame] | 38 | - name: UserChallenge |
| 39 | type: string |
| 40 | description: > |
| 41 | On some host implementations a user-challenge need to be provided by |
| 42 | the user and it flows through BMC and up to the host as a part of the |
| 43 | dump request. Non-disruptive dumps consume significant host resources |
| 44 | and involve the collection of host memory data. To safeguard these |
| 45 | operations and ensure they are initiated only by authorized personnel, |
| 46 | the provided passphrase is employed. In some systems, an Access |
| 47 | Control List (ACL) file, provided through the Platform Level Data |
| 48 | Model (PLDM), is used. The host validates the provided user-challenge |
| 49 | against this ACL. If the user-challenge doesn't match any entry in the |
| 50 | ACL, the host will reject the dump request. This field is needed so |
| 51 | the host can check that only authorized users are allowed to perform |
| 52 | certain dump operations. |
Dhruvaraj Subhashchandran | 2117dea | 2023-07-08 13:28:06 -0500 | [diff] [blame] | 53 | |
| 54 | enumerations: |
| 55 | - name: SystemImpact |
| 56 | description: Indicate the type of system dump |
| 57 | values: |
| 58 | - name: Disruptive |
| 59 | description: > |
| 60 | The system state will change with this type of dump collection |
| 61 | - name: NonDisruptive |
| 62 | description: > |
| 63 | The system state will not change with the collection |