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: AddExtended
55      description: >
56        Log a system event record SEL entry with custom SensorType/EventType.
57      parameters:
58        - name: Message
59          type: string
60          description: >
61            The text to log for the event.
62        - name: Path
63          type: path
64          description: >
65            The object path that is generating the SEL entry.
66        - name: SELData
67          type: array[byte]
68          description: >
69            An array of up to 3 bytes of SEL event data.
70        - name: GeneratorID
71          type: uint16
72          description: >
73            The Generator ID of the component requesting the new SEL entry.
74            In most cases this will be 0x20 (the BMC Generator ID).
75        - name: eventType
76          type: byte
77          description: >
78            Type of trigger for the event and event direction.
79        - name: sensorType
80          type: byte
81          description: >
82            Sensor Type Code for sensor that generated the event.
83        - name: sensorNum
84          type: byte
85          description: >
86            Number of sensor that generated the event.
87      returns:
88        - name: RecordID
89          type: uint16
90          description: >
91            The Record ID of the new SEL entry.
92      errors:
93        - xyz.openbmc_project.Common.Error.InternalFailure
94        - xyz.openbmc_project.Common.Error.InvalidArgument
95
96    - name: IpmiSelAddOem
97      description: >
98        Log an OEM record type SEL entry requested from external to the BMC.
99      parameters:
100        - name: Message
101          type: string
102          description: >
103            The text to log for the event.
104        - name: SELData
105          type: array[byte]
106          description: >
107            An array of up to 13 bytes of SEL event data.
108        - name: RecordType
109          type: byte
110          description: >
111            The OEM record type for the SEL entry.
112      returns:
113        - name: RecordID
114          type: uint16
115          description: >
116            The Record ID of the new SEL entry.
117      errors:
118        - xyz.openbmc_project.Common.Error.InternalFailure
119        - xyz.openbmc_project.Common.Error.InvalidArgument
120
121    - name: Clear
122      description: >
123        Clear the SEL entries from their storage location.
124