summaryrefslogtreecommitdiff
path: root/meta-yadro/meta-nicole
diff options
context:
space:
mode:
authorIvan Mikhaylov <i.mikhaylov@yadro.com>2020-06-30 19:47:53 +0300
committerAndrew Geissler <geissonator@yahoo.com>2020-07-06 23:26:57 +0300
commit540b23dcccbe1796bb967f7fc35c0b2b05803f2a (patch)
tree4aa677dbe8c5dd587db22c5f32eaf9d8e7b70fd0 /meta-yadro/meta-nicole
parent458f3c80795db96b02ed870012d912be2aa2fbc6 (diff)
downloadopenbmc-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')
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/dbus/phosphor-dbus-interfaces/xyz/openbmc_project/Control/Boot/Mailbox.interface.yaml63
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/dbus/phosphor-dbus-interfaces_%.bbappend15
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