blob: 839e8beca9625cc89156bf9eb96c41dd1eed3c9f [file] [log] [blame]
Ivan Mikhaylov540b23d2020-06-30 19:47:53 +03001description: >
2 Implement to provide the boot initiator (such as Petitboot or UEFI)
3 with its specific parameters. This is based on IPMI 2.0 Table 28-14
4 'Boot Option Parameters' parameter 7 'Boot initiator mailbox'.
5
6properties:
7 - name: Supported
8 type: boolean
9 flags:
10 - const
11 default: false
12 description: >
13 Specifies whether or not the mailbox is supported by the
14 boot initiator on this machine.
15
16 The property is constant and is only set by the implementation
17 on startup.
18
19 - name: IANAEnterpriseNumber
20 type: uint32
21 flags:
22 - const
23 default: 0
24 description: >
25 The 24-bit IANA Private Enterprise Number for the company or organization
26 that has specified the boot initiator. This is a machine-specific
27 constant. The implementing application is responsible for setting
28 this to the proper machine-specific value (0x000000..0xFFFFFF)
29 according to https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers.
30
31 The property is constant and is only set by the implementation
32 on startup.
33
34 - name: Data
35 type: array[byte]
36 description: >
37 The array of data bytes for the boot initiator to treat
38 in its specific way. This interface doesn't impose any
39 limitiations on the format or make any assumptions regarding
40 it. The boot initiator is responsible for parsing this array.
41
42 The size of the array is a constant depending on the requirements
43 set by the boot initiator used for a particular architecture or
44 a machine. The implementing application is responsible for setting
45 the size of this array to the proper value.
46
47 For conformance to the IPMI 2.0 specification, the size of the array
48 plus 3 (the size of IPMI 2.0 representation of IANA Enterprise Number)
49 must be a multiple of 16 with the minimum allowed size being 77
50 (5 x 16-byte blocks, minus 3) if mailbox is at all Supported.
51
52 For IPMI 2.0 this array is supposed to be split into 16-byte
53 blocks by the implementing service (block 0 being made of IANA PEN
54 plus first 13 bytes of this array). Please pay special attention
55 that this array does NOT include the IANA PEN needed for IPMI 2.0.
56 Only the actual PEN-specific data is stored here.
57
58 When partially written to, the remaining parts of this array
59 must not be automatically cleared. This is per IPMI 2.0
60 specification.
61
62 Other interfaces to the boot initiator (such as MCTP) may process
63 this array differently.