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.7612.1591882904143553199 for ; Thu, 11 Jun 2020 06:41:44 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=nnqSET1K; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: bob.c.feng@intel.com) IronPort-SDR: OT39xL1tcACZTzu3MIt+dliF2PxTFsmR+k524xglj4YBMk0gZ8Fx90iEap82y/D4Rs/7tTGn2t eu9oLMcHnsVg== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jun 2020 06:41:43 -0700 IronPort-SDR: Pt2kTklHK0OAWerxOfyMs4Mss3ErKPdfd00Ffz2ccK4OMOmWcq1kwvzIg9FWECEHkZlyRLANs8 1XfzYwE+WGTg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,499,1583222400"; d="scan'208";a="473804497" Received: from orsmsx105.amr.corp.intel.com ([10.22.225.132]) by fmsmga005.fm.intel.com with ESMTP; 11 Jun 2020 06:41:43 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX105.amr.corp.intel.com (10.22.225.132) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 11 Jun 2020 06:41:43 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 11 Jun 2020 06:41:43 -0700 Received: from ORSEDG001.ED.cps.intel.com (10.7.248.4) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Thu, 11 Jun 2020 06:41:43 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.107) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 11 Jun 2020 06:41:39 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L0+aWU+GvnNv5IgRZF/9GYDEtIoD4WFdPu6YL1j8f+tan71nl4qSHI85WhJZc6WNhpiit6kKw020FhXBH3rAwPh2bxbfozXFmr5saHen/iO6g++wwldox0zs/JuKcq8yWahr3/ueInEUDhNDeOr2HlEJ6FmcxeVXXALrAqlR3amnkhrxlcRtDjoaD5aG0FBEp21fki9cZcfkeBKD4YyDyWdTS1g4IZqXk9cSjygEoDgv8s8/HWAqyXkiDm0hWkjvMNRu/MAryMyWWZQZiBcrI53ocWSTi8D8bpZuqCs7mw6XZgnJ6x3/PwRKt+GW7qeDZGprDsLc7XGbM7LkymbcgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4OycnBm5OXN5+ujpZUNuj1Jr4IPz1bJ3GdTmOEXI9I8=; b=JTXS7QUxscPpi3jBw6f18r5k+rC7qrsqMAdLlMAWB5yIrypQ1jfeaXulVUq8Um8rSRWwHKjH91aQJ98rWc3A42ojKVbvZogbyyDpKtA3yRBqHH1LWgTq9Jynl37uE4bzxGGwqFU0DRYv4EXwrA+OsS+5Wy6thIhkzBd+V5jb7kjL+sMa4t4qoSK2LpypPLMJXtbre9OLAef/i9CI0326qyFByZIMmBqzGmHktcrmrTbXyCfy45iqXSd7MYUX5jNPBnHaaP6bkxIkj3NpD/OEdm8L0yk/WyHyoeOEcdtauSzEMfzam66Omd9sMEKnROar0j7+mhQaCtD2WwPwtsct1Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4OycnBm5OXN5+ujpZUNuj1Jr4IPz1bJ3GdTmOEXI9I8=; b=nnqSET1KfMXjauhGu8Hj0vOVNFULP1SPgxRPzhZnYuD4kGYoJAnDOUjrT7VtOnvSnoadeNj/VPGlSMtbogmlWpxujMykCgxj+j681gobSyWrhiJQ3yJBcBYMAlbs5oTqncCiijqqLepcO+iTp3+a0C49H3P1KXCXLOrQo8dWxIA= Received: from BN6PR11MB0068.namprd11.prod.outlook.com (2603:10b6:405:69::17) by BN6PR1101MB2243.namprd11.prod.outlook.com (2603:10b6:405:50::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3088.20; Thu, 11 Jun 2020 13:41:38 +0000 Received: from BN6PR11MB0068.namprd11.prod.outlook.com ([fe80::6870:82d3:5bde:4153]) by BN6PR11MB0068.namprd11.prod.outlook.com ([fe80::6870:82d3:5bde:4153%6]) with mapi id 15.20.3066.023; Thu, 11 Jun 2020 13:41:38 +0000 From: "Bob Feng" To: "Gao, Liming" , "devel@edk2.groups.io" Subject: Re: [Patch] BaseTools GenFv: Report the correct spare FV image size Thread-Topic: [Patch] BaseTools GenFv: Report the correct spare FV image size Thread-Index: AQHWPjZio41s4P2n/0afis0hFyv9c6jTb4fg Date: Thu, 11 Jun 2020 13:41:38 +0000 Message-ID: References: <20200609081648.1527-1-liming.gao@intel.com> In-Reply-To: <20200609081648.1527-1-liming.gao@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.2.0.6 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.52.202] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 68efad7e-6337-4604-4b66-08d80e0d2ab1 x-ms-traffictypediagnostic: BN6PR1101MB2243: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-forefront-prvs: 0431F981D8 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: UqYx4qlHzhcCURMwhc7DO2WQlBmg1BDxJHrfYhZZvAKXbLoE8Vs8OJLyFC18a4LwJU/7/yaTIVRhtiScRKxDSdu9i10AbDcMdouosh7zrak5pAP4NDiE2GOv019OgO5Lsmv9cK5f3A/7tsaTNpgBUCm7GHYkME20RLNhrOoLoiclMPYpkxwoPoKvfxZVH4atwqK9lojJ7wv2TYkaUnwrDi2WXySD+d+3/v85sAgWy+K255MDii4xWpM7fASTFZx8UEVx4uiMyZMk0pbVly5EojqaqlqVYj/w91UJ/QfZiBRJHzxkE4XiD7Xxpa+wm7bxi83sXlVVXnoxvrlgblBLbLDKnKsrYzZiizkgORORDx2Fln+yRCNQEPpTCh85AW2S7s6i0GcvrBuU+WFYl8ZHvw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR11MB0068.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(346002)(39860400002)(136003)(376002)(396003)(366004)(52536014)(5660300002)(966005)(86362001)(64756008)(66446008)(66946007)(76116006)(83380400001)(66556008)(66476007)(71200400001)(8676002)(478600001)(8936002)(2906002)(110136005)(316002)(33656002)(6506007)(55016002)(53546011)(7696005)(9686003)(186003)(26005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: eVBPUSxxwSDxJxjomFuFqA+9qlNDm0YoBeARNVjyEGcLwdi37F0YvG9AVFOEJdFBPj/jkd7lA3+YuPeQiPtFcariDMS+iZQ1crzHd75ceniI5oW8Oij9qKV/DU01euwf49ktslRQYt0aF+4XHzOagROzkOYfEqBWLApUgtdwLU2lnuN3Pmr30Z6QP1N0w2qLxYli0MQsiacP1KYTHHuMLY1eQP6sH0bacrmsR+xZrBHxJohoOvM+qjDR82LEx0XR0ztyktMGFYHFhTL1UI56XGF20t//P3Fr2abZFdtKFr7tqminnsDNvgbsbJcUjNvUVIpBGWiAouFnStLao8D+oRdOCmgflEb9SNLG12OyOU4bO8bK0/fAYGob2U8uB2XwG3ddbQtQV2wOXEPaTBdM8gCSBWNX3qBrIPjxW5QqrNgVNb01iVfbz+xsvB6EHUqavGvr4X8hKSm007LWikqbMXiAMaZBWwM/+EXkC3KqFrM= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 68efad7e-6337-4604-4b66-08d80e0d2ab1 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jun 2020 13:41:38.5841 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: BiXMJXssRNQ5YFheVgb5FktCwA/ZIxluWlC+fwPjFDDhhcSGP6a/A/jIisBt6BhZuXYW+GjcTDIPB4S10LlPqA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR1101MB2243 Return-Path: bob.c.feng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Bob Feng -----Original Message----- From: Gao, Liming =20 Sent: Tuesday, June 9, 2020 4:17 PM To: devel@edk2.groups.io Cc: Feng, Bob C Subject: [Patch] BaseTools GenFv: Report the correct spare FV image size REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2790 If the top FFS is placed in FV image, current FV will show there is no spac= e. In fact, the pad ffs in FV image can be regarded as the spare space. This change reports the max pad ffs size as the spare space for use. Signed-off-by: Liming Gao Cc: Bob Feng --- BaseTools/Source/C/GenFv/GenFvInternalLib.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/BaseTools/Source/C/GenFv/GenFvInternalLib.c b/BaseTools/Source= /C/GenFv/GenFvInternalLib.c index d29a891c9c..b5ffed93a9 100644 --- a/BaseTools/Source/C/GenFv/GenFvInternalLib.c +++ b/BaseTools/Source/C/GenFv/GenFvInternalLib.c @@ -3140,6 +3140,7 @@ Returns: --*/ { UINTN CurrentOffset; + UINTN OrigOffset; UINTN Index; FILE *fpin; UINTN FfsFileSize; @@ -3148,8 +3149,10 @@ Returns: UINT32 FfsHeaderSize; EFI_FFS_FILE_HEADER FfsHeader; UINTN VtfFileSize; + UINTN MaxPadFileSize; =20 FvExtendHeaderSize =3D 0; + MaxPadFileSize =3D 0; VtfFileSize =3D 0; fpin =3D NULL; Index =3D 0; @@ -3258,8 +3261,12 @@ Returns: // // Only EFI_FFS_FILE_HEADER is needed for a pad section. // + OrigOffset =3D CurrentOffset; CurrentOffset =3D (CurrentOffset + FfsHeaderSize + sizeof(EFI_FFS_= FILE_HEADER) + FfsAlignment - 1) & ~(FfsAlignment - 1); CurrentOffset -=3D FfsHeaderSize; + if ((CurrentOffset - OrigOffset) > MaxPadFileSize) { + MaxPadFileSize =3D CurrentOffset - OrigOffset; + } } } =20 @@ -3303,6 +3310,12 @@ Returns: // mFvTotalSize =3D FvInfoPtr->Size; mFvTakenSize =3D CurrentOffset; + if ((mFvTakenSize =3D=3D mFvTotalSize) && (MaxPadFileSize > 0)) { + // + // This FV means TOP FFS has been taken. Then, check whether there is = padding data for use. + // + mFvTakenSize =3D mFvTakenSize - MaxPadFileSize; } =20 return EFI_SUCCESS; } -- 2.13.0.windows.1