From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.126; helo=mga18.intel.com; envelope-from=jiaxin.wu@intel.com; receiver=edk2-devel@lists.01.org Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 31C4B211ACEC3 for ; Sun, 20 Jan 2019 10:19:29 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Jan 2019 10:19:28 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,499,1539673200"; d="scan'208";a="137307372" Received: from jiaxinwu-mobl.ccr.corp.intel.com ([10.255.28.66]) by fmsmga004.fm.intel.com with ESMTP; 20 Jan 2019 10:19:26 -0800 From: Jiaxin Wu To: edk2-devel@lists.01.org Cc: Leif Lindholm , Rothman Michael A , Kinney Michael D , Li Ruth , Ye Ting , Fu Siyuan , Wang Fan , Wu Jiaxin Date: Mon, 21 Jan 2019 02:19:23 +0800 Message-Id: <20190120181923.336-1-Jiaxin.wu@intel.com> X-Mailer: git-send-email 2.17.1.windows.2 Subject: [staging/UEFI_Redfish][PATCH v2] Announce to create "UEFI_Redfish" branch in edk2-staging. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Jan 2019 18:19:29 -0000 v2: Resend the patch as diff adding instead of modifying. UEFI_Redfish branch is to develop the UEFI Redfish feature. The code base of development is based on the release of edk2-stable201811 tag. Please refer to the patch of Readme.md to get the detailed feature introduction. Note: The branch will be created by the end of Jan 28th if no objection. Cc: Leif Lindholm Cc: Rothman Michael A Cc: Kinney Michael D Cc: Li Ruth Cc: Ye Ting Cc: Fu Siyuan Cc: Wang Fan Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Wu Jiaxin --- Readme.md | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 Readme.md diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000000..b9b5ab38e2 --- /dev/null +++ b/Readme.md @@ -0,0 +1,85 @@ +This branch is used to develop the **UEFI Redfish Feature**. The code base of development is based on the release of **edk2-stable201811** tag. + +The branch owner: +Fu Siyuan , Ye Ting , Wang Fan , Wu Jiaxin + +## Introduction +UEFI Redfish is an efficient and secure solution for end users to remote control and configure UEFI pre-OS environment by leveraging the RESTful API. It's simple for end users to access the data from UEFI firmware defined in JSON format. + +One of the design goals for UEFI Redfish solution is to provide a scalable implementation which allow users to easily add/remove/modify each independent Redfish configure features (RedfishBiosDxe & RedfishBootInfoDxe). This is done by extracting the generic logic to a single UEFI driver model driver (RedfishConfigDxe), and several library instances (DxeRedfishLib & BaseJsonLib). + +#### Supported Features + * Protocols + * EFI RestEx Service Binding Protocol + * EFI RestEx Protocol + * Redfish ConfigHandler Protocol + * Redfish Credential Protocol + + * Configuration Items via UEFI Redfish + * [ISCSI Boot Keywords](http://www.uefi.org/confignamespace). + * HII Opcodes/Questions marked with REST_SYTLE flag or in REST_SYTLE formset. + * BootOrder/BootNext variables. + + * Redfish Schemas + * [AttributeRegistry](https://redfish.dmtf.org/schemas/v1/AttributeRegistry.v1_1_0.json) + * [ComputerSystemCollection](https://redfish.dmtf.org/schemas/ComputerSystemCollection.json) + * [ComputerSystem](https://redfish.dmtf.org/schemas/v1/ComputerSystem.v1_5_0.json) + * [Bios](https://redfish.dmtf.org/schemas/v1/Bios.v1_0_2.json) + * [BootOptionCollection](https://redfish.dmtf.org/schemas/BootOptionCollection.json) + * [BootOption](https://redfish.dmtf.org/schemas/BootOption.v1_0_0.json) + + If any additional Redfish Schema or a new version of above Schemas are required to be supported, please send the email to edk2-devel mailing list by following [edk2-satging process](https://github.com/tianocore/edk2-staging). + +#### Related Modules + The following modules are related to UEFI Redfish solution, **RedfishPkg** is the new package to support UEFI Redfish solution: + * **RedfishPkg\RestExDxe\RestExDxe.inf** - UEFI driver to enable standardized RESTful access to resources from UEFI environment. + + * **RedfishPkg\Library\DxeRedfishLib** - Library to Create/Read/Update/Delete (CRUD) resources and provide basic query abilities by using [URI/RedPath](https://github.com/DMTF/libredfish). + + * **RedfishPkg\Library\BaseJsonLib** - Library to encode/decode JSON data. + + * **RedfishPkg\RedfishConfigDxe\RedfishConfigDxe.inf** - UEFI driver to execute registered Redfish Configuration Handlers: + + * **RedfishPkg\Features\RedfishBiosDxe\RedfishBiosDxe.inf** - DXE driver to register Redfish configuration handler to process "Bios" schema and "AttributeRegistry" schema. + + * **RedfishPkg\Features\Features\RedfishBootInfoDxe\RedfishBootInfoDxe.inf** - DXE driver to register Redfish configuration handler to process Boot property defined in "ComputerSystem" schema. + + * Platform Components for NT32: + * **Nt32Pkg\RedfishPlatformDxe\RedfishPlatformDxe.inf** - UEFI sample platform driver for NT32 to fill the SMBIOS table 42 and publish Redfish Credential info. + + * **Nt32Pkg\Application\RedfishPlatformConfig\RedfishPlatformConfig.inf** - UEFI application for NT32 to publish Redfish Host Interface Record. + + * Misc + * BaseTools - VfrCompile changes to support Rest Style Formset/Flag. + + * MdePkg - Headers related to Rest Style Formset/Flag. + + * MdeModulePkg - Extract more general APIs in UefiHiiLib & DxeHttpLib & DxeNetLib. + + * NetworkPkg - 1) UefiPxeBcDxe & HttpBootDxe: Consume new APIs defined in DxeHttpLib & DxeNetLib. 2) HttpDxe: Cross-Subnet support. 3) IScsiDxe: REST Style FORMSET support. + + * Nt32Pkg - 1) Enable UEFI Redfish feature in NT32 platform. 2) Fix TLS build error with CryptoPkg from edk2-stable201811 tag. + + +## Promote to edk2 Trunk +If a subset feature or a bug fix in this staging branch could meet below requirement, it could be promoted to edk2 trunk and removed from this staging branch: +* Meet all edk2 required quality criteria. +* Support both IA32 and X64 Platform. +* Ready for product integration. + +## Timeline +| Time | Event | Related Modules | +|:----:|:-----:|:--------------:| +| 2019.01 | Initial open source release of UEFI Redfish feature. | Refer to "Related Modules" | +|...|...|...| + +## Related Materials +1. DSP0270 - Redfish Host Interface Specification, 1.0.1 + +2. DSP0266 - Redfish Scalable Platforms Management API Specification, 1.5.0 + +3. UEFI Configuration Namespace Registry - http://www.uefi.org/confignamespace + +4. Redfish Schemas - https://redfish.dmtf.org/schemas/v1/ + +5. UEFI Specification - http://uefi.org/specifications -- 2.17.1.windows.2