Ivan Mikhaylov | 540b23d | 2020-06-30 19:47:53 +0300 | [diff] [blame^] | 1 | description: > |
| 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 | |
| 6 | properties: |
| 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. |