diff options
author | Ivan Mikhaylov <i.mikhaylov@yadro.com> | 2020-06-30 19:47:53 +0300 |
---|---|---|
committer | Andrew Geissler <geissonator@yahoo.com> | 2020-07-06 23:26:57 +0300 |
commit | 540b23dcccbe1796bb967f7fc35c0b2b05803f2a (patch) | |
tree | 4aa677dbe8c5dd587db22c5f32eaf9d8e7b70fd0 /meta-yadro/meta-nicole/recipes-phosphor/dbus | |
parent | 458f3c80795db96b02ed870012d912be2aa2fbc6 (diff) | |
download | openbmc-540b23dcccbe1796bb967f7fc35c0b2b05803f2a.tar.xz |
meta-nicole: phosphor-dbus-interfaces: Add boot initiator mailbox interface
Add the xyz.openbmc_project.Control.Boot.Mailbox interface to allow
for provision of 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'.
(From meta-yadro rev: 8a37d4554c77f6b3b93fea17eae46b0124b42d28)
Signed-off-by: Alexander Amelkin <a.amelkin@yadro.com>
Signed-off-by: Ivan Mikhaylov <i.mikhaylov@yadro.com>
Change-Id: I231b8658d47d331d0af665b8ccb86da5ea8b2845
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Diffstat (limited to 'meta-yadro/meta-nicole/recipes-phosphor/dbus')
2 files changed, 78 insertions, 0 deletions
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/dbus/phosphor-dbus-interfaces/xyz/openbmc_project/Control/Boot/Mailbox.interface.yaml b/meta-yadro/meta-nicole/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/meta-nicole/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/meta-nicole/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend b/meta-yadro/meta-nicole/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend new file mode 100644 index 000000000..656e1514b --- /dev/null +++ b/meta-yadro/meta-nicole/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 |