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