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