1description: >
2    Implement to provide an IPMI System Event Log (SEL) logging interface
3    under the path /xyz/openbmc_project/Logging/IPMI.
4
5    SEL records store system event information and will contain a record ID
6    and type followed by type-specific information.  The type-specific
7    information includes a timestamp, generator ID (used to identify the
8    component that is adding the SEL record), sensor number, event
9    direction and event-specific data for system type events; or timestamp
10    and OEM data for OEM type events.
11
12    The interface allows adding system or OEM type events.  For system type
13    events it requires a generator ID (0x20 for BMC), sensor D-Bus path,
14    event direction (assertion or de-assertion), and event specific data.
15    For OEM type events, it requires the record type and OEM data.
16
17    It will assign a record ID and timestamp automatically and return the
18    assigned record ID.
19methods:
20    - name: IpmiSelAdd
21      description: >
22        Log a system event record type SEL entry.
23      parameters:
24        - name: Message
25          type: string
26          description: >
27            The text to log for the event.
28        - name: Path
29          type: path
30          description: >
31            The object path that is generating the SEL entry.
32        - name: SELData
33          type: array[byte]
34          description: >
35            An array of up to 3 bytes of SEL event data.
36        - name: Assert
37          type: boolean
38          description: >
39            An indicator if the SEL event is asserting or de-asserting.
40        - name: GeneratorID
41          type: uint16
42          description: >
43            The Generator ID of the component requesting the new SEL entry.
44            In most cases this will be 0x20 (the BMC Generator ID).
45      returns:
46        - name: RecordID
47          type: uint16
48          description: >
49            The Record ID of the new SEL entry.
50      errors:
51        - xyz.openbmc_project.Common.Error.InternalFailure
52        - xyz.openbmc_project.Common.Error.InvalidArgument
53
54    - name: IpmiSelAddOem
55      description: >
56        Log an OEM record type SEL entry requested from external to the BMC.
57      parameters:
58        - name: Message
59          type: string
60          description: >
61            The text to log for the event.
62        - name: SELData
63          type: array[byte]
64          description: >
65            An array of up to 13 bytes of SEL event data.
66        - name: RecordType
67          type: byte
68          description: >
69            The OEM record type for the SEL entry.
70      returns:
71        - name: RecordID
72          type: uint16
73          description: >
74            The Record ID of the new SEL entry.
75      errors:
76        - xyz.openbmc_project.Common.Error.InternalFailure
77        - xyz.openbmc_project.Common.Error.InvalidArgument
78
79    - name: Clear
80      description: >
81        Clear the SEL entries from their storage location.
82