From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web12.2252.1571205435155112029 for ; Tue, 15 Oct 2019 22:57:15 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: zhichao.gao@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Oct 2019 22:57:14 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.67,302,1566889200"; d="scan'208";a="370700849" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga005.jf.intel.com with ESMTP; 15 Oct 2019 22:57:14 -0700 Received: from fmsmsx158.amr.corp.intel.com (10.18.116.75) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 15 Oct 2019 22:57:13 -0700 Received: from shsmsx154.ccr.corp.intel.com (10.239.6.54) by fmsmsx158.amr.corp.intel.com (10.18.116.75) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 15 Oct 2019 22:57:13 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.96]) by SHSMSX154.ccr.corp.intel.com ([10.239.6.54]) with mapi id 14.03.0439.000; Wed, 16 Oct 2019 13:57:12 +0800 From: "Gao, Zhichao" To: "Wang, Sunny (HPS SW)" , "devel@edk2.groups.io" , "Ni, Ray" CC: "Wang, Jian J" , "Wu, Hao A" , "Zeng, Star" , "Gao, Liming" , Sean Brogan , Michael Turner , Bret Barkelew , "Li, Walon" , "Wei, Kent (HPS SW)" Subject: Re: Use a pcd to control PlatformRecovery Thread-Topic: Use a pcd to control PlatformRecovery Thread-Index: AdWDK94yxgzpZjqYRC+1b6PvmRyefQAmqTjgAAec3iA= Date: Wed, 16 Oct 2019 05:57:11 +0000 Message-ID: <3CE959C139B4C44DBEA1810E3AA6F9000B857172@SHSMSX101.ccr.corp.intel.com> References: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: zhichao.gao@intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable > -----Original Message----- > From: Gao, Zhichao > Sent: Wednesday, October 16, 2019 10:09 AM > To: 'Wang, Sunny (HPS SW)' ; devel@edk2.groups.io; > Ni, Ray > Cc: Wang, Jian J ; Wu, Hao A ; > Zeng, Star ; Gao, Liming ; > Sean Brogan ; Michael Turner > ; Bret Barkelew > ; Li, Walon ; Wei, Kent > (HPS SW) > Subject: RE: Use a pcd to control PlatformRecovery >=20 > First of all, the patch didn't aim to change the other part of the boot f= low > except PlatformRecovery. >=20 > Local variable PlatformRecovery is controlled by OsIndications variable. = When > the EFI_OS_INDICATIONS_START_PLATFORM_RECOVERY is set, the > firmware should try to platform specific recovery. But that doesn't mean = the > platform must support the specific recovery. i.e. local PlatformRecovery = is > controlling the boot flow and the Pcd just indicated whether the platform > support recovery or not. > So, on my opinion, I don't agree with your change. After discuss with Sunny and Ray, and refer to the spec section 3.4.1 and 3= .4.2, the OsRecovery and PlatformRecovery should always be operated regardl= ess of the value of OsIndication variable if fail to boot the BootOrder. I = am wrong. We should change to use the PcdPlatformRecoverySupport to control= the PlatformRecovery. Please help to send a patch to fix it. Thanks a lot. >=20 > Default Platform Recovery refer to the short file path to boot the OS. If= the > firmware supports platform recovery, then *short file path* option would = be > one part of the PlatformRecovery#### in case there are no other boot > options. If the firmware doesn't support platform recovery, we still need= this > default boot thru a short file path and it should not depend on the > PlatformRecovery#### variable for the compatibility thinking. >=20 > Thanks, > Zhichao >=20 > > -----Original Message----- > > From: Wang, Sunny (HPS SW) [mailto:sunnywang@hpe.com] > > Sent: Tuesday, October 15, 2019 4:53 PM > > To: devel@edk2.groups.io; Gao, Zhichao ; Ni, > > Ray > > Cc: Wang, Jian J ; Wu, Hao A > > ; Zeng, Star ; Gao, Liming > > ; Sean Brogan ; > > Michael Turner ; Bret Barkelew > > ; Li, Walon ; Wei, > Kent > > (HPS SW) ; Wang, Sunny (HPS SW) > > > Subject: Use a pcd to control PlatformRecovery > > > > Hi Zhichao and Ray, > > > > I have some questions about this code change. Sorry for being late to > > bring my questions here. > > > > For now, the code block for iterating the PlatformRecovery#### > > variables is controlled by OsIndications variable. However, it looks > > to me like that the PlatformRecovery#### should still be attempted for > > the case of that processing of BootOrder does NOT result in success > > (according to section 3.4 in UEFI 2.8). In other words, I think we > > should check PCD "PcdPlatformRecoverySupport" instead of Local variable > "PlatformRecovery" > > (from OsIndications variable) like the code below. What do you guys > > think? If you need a meeting or short talk to discuss this, feel free t= o let me > know. > > > > if (!BootSuccess) { > > - if (PlatformRecovery) { > > + if (PcdGetBool (PcdPlatformRecoverySupport)) { > > LoadOptions =3D EfiBootManagerGetLoadOptions (&LoadOptionCount, > > LoadOptionTypePlatformRecovery); > > ProcessLoadOptions (LoadOptions, LoadOptionCount); > > EfiBootManagerFreeLoadOptions (LoadOptions, LoadOptionCount); > > } else { > > // > > // When platform recovery is not enabled, still boot to platform > > default file path. > > // > > EfiBootManagerProcessLoadOption (&PlatformDefaultBootOption); > > } > > > > > > In addition, it looks like EDK2 don't have code to process > > OsRecovery#### variables. Do we need to create a Bug on TianoCore > Bugzilla system? OsRecovery#### doesn't have an implement yet, we should co-work with the OS= vendor to define the operation. For now, there is no requirement. > > > > Moreover, I saw that both of you had a discussion about "Default > > PlatformRecovery", but I can't figure out the connection between the > > discussion and the final code change. Isn't the "Default PlatformRecove= ry" > > part of the Platform Recovery feature? At this moment, we don't have > > OS recovery support, so I think that NO platform recovery support can > > be identified as NO boot option recovery support. For this case, > > shouldn't we use PCD "PcdPlatformRecoverySupport" to control "Default > > PlatformRecovery" as well? For the next step, I think we need to get > > further clarification from USWG to either not tie "Default Boot > > Behavior" with PlatformRecovery or update the description to the > following: > > - If system firmware supports Platform recovery as described in > > Section 3.4.2, system firmware must include a PlatformRecovery#### > > variable specifying a short-form File Path Media Device Path.... As I said above the 'Default Platform Recovery' refer to the short-form fil= e path boot. When the PcdPlatformRecoverySupport is TRUE, it is part of Pla= tformRecovery. Ohterwise, it is not part of platform recovery and we still = need to support it because of the capability issue. And that isn't conflict= with the spec. Thanks, Zhichao > > > > Regards, > > Sunny Wang > >