Open nicklela opened 1 year ago
EFI_STAUTS
(EFIAPI *EDKII_REDFISH_RESOURCE_ADDENDUM_PROVISIONING) (
IN PROTOCOL *This,
IN CHAR8 *Uri,
IN CHAR8 *Schema,
IN OUT EDKII_JSON_VALUE *Json
);
EFI_STAUTS
(EFIAPI *EDKII_REDFISH_RESOURCE_ADDENDUM_OEM) (
IN PROTOCOL *This,
IN CHAR8 *Uri,
IN CHAR8 *Schema,
OUT EDKII_JSON_VALUE *Json
);
EDKII_REDFISH_RESOURCE_ADDENDUM_PROTOCOL {
UINT64 Revision;
EDKII_REDFISH_RESOURCE_ADDENDUM_OEM OemCallback;
EDKII_REDFISH_RESOURCE_ADDENDUM_PROVISIONING ProvisioningCallback;
}
Example:
Schema { "Attributes": { } }
Provisioning BIOS -> USB over lan -> BMC HTTP PUT /redfish/v1/Systems/sys/Bios { "control-sku-guid": "aaa-dd-cc", "Attributes": { "processornum": { "value": 16, "readonly": true, }, } }
USER GET /redfish/v1/Systems/sys/Bios Redfish { "Attributes": { "processornum": 16 } }
We need ADDENDUM protocol because there is some data that is required by BMC but the data is came from BIOS. We create this protocol to provide the data for BMC implementation. We can also define addendum items in UEFI specification.
Code review here:
A way of giving platform to customize attributes or support OEM attributes.
Some idea:
Discussion about data structure:
For example (protocol + JSON object version):