From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: eric.jin@intel.com) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by groups.io with SMTP; Sun, 11 Aug 2019 18:46:29 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Aug 2019 18:46:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,375,1559545200"; d="scan'208";a="327208352" Received: from unknown (HELO jjin9-MOBL.ccr.corp.intel.com) ([10.239.192.132]) by orsmga004.jf.intel.com with ESMTP; 11 Aug 2019 18:46:27 -0700 From: "Eric Jin" To: devel@edk2.groups.io Subject: [PATCH V2 00/10] Multiple Controllers Support solution Date: Mon, 12 Aug 2019 09:46:03 +0800 Message-Id: <20190812014603.42484-1-eric.jin@intel.com> X-Mailer: git-send-email 2.20.1.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1525 The patch set is to support drivers that manage multiple controllers and also provide a firmware update capability to each managed controller. The following modules are related to Multiple Controllers Support solution FmpDevicePkg\FmpDxe\FmpDxe.inf - Driver to manage multiple controllers and provide the firmware update capability to each managed controller. FmpDevicePkg\CapsuleUpdatePolicyDxe\CapsuleUpdatePolicyDxe.inf - Driver to produce the Capsule Update Policy Protocol using the services of the CapsuleUpdatePolicyLib class. The protocol is a private interface to the FmpDevicePkg FmpDevicePkg\Library\CapsuleUpdatePolicyLibOnProtocol\CapsuleUpdatePolicyLibOnProtocol.inf - CapsuleUpdatePolicyLib instance that uses the services of the Capsule Update Policy Protocol produced by CapsuleUpdatePolicyDxe FmpDevicePkg\Library\CapsuleUpdatePolicyLibNull\CapsuleUpdatePolicyLibNull.inf - Null CapsuleUpdatePolicyLib instance and the template for platform specific implementation FmpDevicePkg\Library\FmpDeviceLibNull\FmpDeviceLibNull.inf - Null FmpDeviceLib instance and the template for platform specific implementation Eric Jin (10): FmpDevicePkg: Add UEFI_DRIVER support FmpDevicePkg: Add APIs to FmpDeviceLib FmpDEvicePkg/FmpDeviceLibNull: Implement new APIs FmpDevicePkg/FmpDxe: Use new FmpDeviceLib APIs FmpDevicePkg/FmpDxe: Different variable for each FMP Descriptor FmpDevicePkg: Add Capsule Update Policy Protocol FmpDevicePkg/FmpDxe: Improve all DEBUG() messages FmpDevicePkg/FmpDxe: Add PcdFmpDeviceImageTypeIdGuid FmpDevicePkg/FmpDxe: Add PcdFmpDeviceStorageAccessEnable FmpDevicePkg/FmpDxe: Remove use of CatSprint() .../CapsuleUpdatePolicyDxe.c | 173 ++++ .../CapsuleUpdatePolicyDxe.h | 140 +++ .../CapsuleUpdatePolicyDxe.inf | 48 + .../CapsuleUpdatePolicyDxe.uni | 14 + .../CapsuleUpdatePolicyDxeExtra.uni | 14 + FmpDevicePkg/FmpDevicePkg.dec | 43 +- FmpDevicePkg/FmpDevicePkg.dsc | 64 +- FmpDevicePkg/FmpDevicePkg.uni | 16 +- FmpDevicePkg/FmpDxe/DetectTestKey.c | 16 +- FmpDevicePkg/FmpDxe/FmpDxe.c | 792 ++++++++++------ FmpDevicePkg/FmpDxe/FmpDxe.h | 355 ++++++++ FmpDevicePkg/FmpDxe/FmpDxe.inf | 7 +- FmpDevicePkg/FmpDxe/FmpDxeLib.inf | 7 +- FmpDevicePkg/FmpDxe/VariableSupport.c | 844 +++++++++++++----- FmpDevicePkg/FmpDxe/VariableSupport.h | 135 ++- FmpDevicePkg/Include/Library/FmpDeviceLib.h | 104 ++- .../CapsuleUpdatePolicyLibOnProtocol.c | 171 ++++ .../CapsuleUpdatePolicyLibOnProtocol.inf | 40 + .../CapsuleUpdatePolicyLibOnProtocol.uni | 15 + .../Library/FmpDeviceLibNull/FmpDeviceLib.c | 93 +- .../FmpDeviceLibNull/FmpDeviceLibNull.inf | 4 +- .../FmpPayloadHeaderLibV1.inf | 4 +- .../Library/FmpPayloadHeaderLib.h | 0 .../Protocol/CapsuleUpdatePolicy.h | 132 +++ 24 files changed, 2644 insertions(+), 587 deletions(-) create mode 100644 FmpDevicePkg/CapsuleUpdatePolicyDxe/CapsuleUpdatePolicyDxe.c create mode 100644 FmpDevicePkg/CapsuleUpdatePolicyDxe/CapsuleUpdatePolicyDxe.h create mode 100644 FmpDevicePkg/CapsuleUpdatePolicyDxe/CapsuleUpdatePolicyDxe.inf create mode 100644 FmpDevicePkg/CapsuleUpdatePolicyDxe/CapsuleUpdatePolicyDxe.uni create mode 100644 FmpDevicePkg/CapsuleUpdatePolicyDxe/CapsuleUpdatePolicyDxeExtra.uni create mode 100644 FmpDevicePkg/FmpDxe/FmpDxe.h create mode 100644 FmpDevicePkg/Library/CapsuleUpdatePolicyLibOnProtocol/CapsuleUpdatePolicyLibOnProtocol.c create mode 100644 FmpDevicePkg/Library/CapsuleUpdatePolicyLibOnProtocol/CapsuleUpdatePolicyLibOnProtocol.inf create mode 100644 FmpDevicePkg/Library/CapsuleUpdatePolicyLibOnProtocol/CapsuleUpdatePolicyLibOnProtocol.uni rename FmpDevicePkg/{Include => PrivateInclude}/Library/FmpPayloadHeaderLib.h (100%) create mode 100644 FmpDevicePkg/PrivateInclude/Protocol/CapsuleUpdatePolicy.h -- 2.20.1.windows.1