diff options
author | Ivan Mikhaylov <i.mikhaylov@yadro.com> | 2020-07-09 15:29:04 +0300 |
---|---|---|
committer | Andrew Geissler <geissonator@yahoo.com> | 2020-07-10 23:50:12 +0300 |
commit | 13fe7b9607f68e1c002d38255f549b5bbeb7a264 (patch) | |
tree | 9c09e03408bc5dc71ce58716552ced1060c67c72 /meta-yadro/recipes-phosphor/dbus | |
parent | 50e5d20cde8e09a0b0b6f903c5c011e62c946866 (diff) | |
download | openbmc-13fe7b9607f68e1c002d38255f549b5bbeb7a264.tar.xz |
meta-yadro: share boot initiator mailbox support
Boot Initiator Mailbox should be available on all our hardware.
This commit moves all required files and recipes to the meta-yadro.
(From meta-yadro rev: 9ee3c28294c6a87912edbcf09b999b926634f836)
Change-Id: Idc52bfb50c8f122662279a593de0ee40703ddb51
Signed-off-by: Alexander Filippov <a.filippov@yadro.com>
Signed-off-by: Ivan Mikhaylov <i.mikhaylov@yadro.com>
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Diffstat (limited to 'meta-yadro/recipes-phosphor/dbus')
2 files changed, 78 insertions, 0 deletions
diff --git a/meta-yadro/recipes-phosphor/dbus/phosphor-dbus-interfaces/xyz/openbmc_project/Control/Boot/Mailbox.interface.yaml b/meta-yadro/recipes-phosphor/dbus/phosphor-dbus-interfaces/xyz/openbmc_project/Control/Boot/Mailbox.interface.yaml new file mode 100644 index 000000000..839e8beca --- /dev/null +++ b/meta-yadro/recipes-phosphor/dbus/phosphor-dbus-interfaces/xyz/openbmc_project/Control/Boot/Mailbox.interface.yaml @@ -0,0 +1,63 @@ +description: > + Implement to provide the boot initiator (such as Petitboot or UEFI) + with its specific parameters. This is based on IPMI 2.0 Table 28-14 + 'Boot Option Parameters' parameter 7 'Boot initiator mailbox'. + +properties: + - name: Supported + type: boolean + flags: + - const + default: false + description: > + Specifies whether or not the mailbox is supported by the + boot initiator on this machine. + + The property is constant and is only set by the implementation + on startup. + + - name: IANAEnterpriseNumber + type: uint32 + flags: + - const + default: 0 + description: > + The 24-bit IANA Private Enterprise Number for the company or organization + that has specified the boot initiator. This is a machine-specific + constant. The implementing application is responsible for setting + this to the proper machine-specific value (0x000000..0xFFFFFF) + according to https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers. + + The property is constant and is only set by the implementation + on startup. + + - name: Data + type: array[byte] + description: > + The array of data bytes for the boot initiator to treat + in its specific way. This interface doesn't impose any + limitiations on the format or make any assumptions regarding + it. The boot initiator is responsible for parsing this array. + + The size of the array is a constant depending on the requirements + set by the boot initiator used for a particular architecture or + a machine. The implementing application is responsible for setting + the size of this array to the proper value. + + For conformance to the IPMI 2.0 specification, the size of the array + plus 3 (the size of IPMI 2.0 representation of IANA Enterprise Number) + must be a multiple of 16 with the minimum allowed size being 77 + (5 x 16-byte blocks, minus 3) if mailbox is at all Supported. + + For IPMI 2.0 this array is supposed to be split into 16-byte + blocks by the implementing service (block 0 being made of IANA PEN + plus first 13 bytes of this array). Please pay special attention + that this array does NOT include the IANA PEN needed for IPMI 2.0. + Only the actual PEN-specific data is stored here. + + When partially written to, the remaining parts of this array + must not be automatically cleared. This is per IPMI 2.0 + specification. + + Other interfaces to the boot initiator (such as MCTP) may process + this array differently. diff --git a/meta-yadro/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend b/meta-yadro/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend new file mode 100644 index 000000000..656e1514b --- /dev/null +++ b/meta-yadro/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend @@ -0,0 +1,15 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +# Directory with new layer of source tree with additional files +YAML_DIR = "xyz" + +SRC_URI += "file://${YAML_DIR}" + +S = "${WORKDIR}/git" + +# Merge source tree by original project with our layer of additional files +do_add_yamls(){ + cp -r "${WORKDIR}/${YAML_DIR}" "${S}" +} + +addtask do_add_yamls after do_unpack before do_configure |