From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=helo; client-ip=40.107.73.74; helo=nam05-dm3-obe.outbound.protection.outlook.com; envelope-from=garrett.kirkendall@amd.com; receiver=edk2-devel@lists.01.org Received: from NAM05-DM3-obe.outbound.protection.outlook.com (mail-eopbgr730074.outbound.protection.outlook.com [40.107.73.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 6AC2421A02937 for ; Mon, 24 Sep 2018 06:20:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=agcvQxUsVG1ka7z8ch7W5iZ9R0znk3IGsgNfN126LdA=; b=ePAd/QAUwRsya75gVxrMOzJ05A/sPQLxTQ4O+HdUBbvu0l1TrawIbMAahpV1gtwzmyN0N2ogjrkvxlP9aFz7OIKX38SMW6sWzIuJ0Zo5fNyHZeRQwZqT/aIiT5cR74Gn8t4Zj0W2c+47DZnYK4uqiiX5ps+IcnwU8zpvVrpDr34= Received: from SN1PR12MB0158.namprd12.prod.outlook.com (10.162.3.145) by SN1PR12MB2591.namprd12.prod.outlook.com (52.132.199.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1164.22; Mon, 24 Sep 2018 13:20:55 +0000 Received: from SN1PR12MB0158.namprd12.prod.outlook.com ([fe80::b13a:d70a:2bb1:2fc9]) by SN1PR12MB0158.namprd12.prod.outlook.com ([fe80::b13a:d70a:2bb1:2fc9%8]) with mapi id 15.20.1143.022; Mon, 24 Sep 2018 13:20:55 +0000 From: "Kirkendall, Garrett" To: Ruiyu Ni , "edk2-devel@lists.01.org" CC: Star Zeng Thread-Topic: [edk2] [PATCH 3/3] MdeModulePkg/PciHostBridge: Add RESOURCE_VALID() to simplify code Thread-Index: AQHUUXw0UPc61hovn0Wlyvk4qLbkc6T/b6Mg Date: Mon, 24 Sep 2018 13:20:55 +0000 Message-ID: References: <20180921072539.268068-1-ruiyu.ni@intel.com> <20180921072539.268068-4-ruiyu.ni@intel.com> In-Reply-To: <20180921072539.268068-4-ruiyu.ni@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Garrett.Kirkendall@amd.com; x-originating-ip: [165.204.77.1] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; SN1PR12MB2591; 20:WY1OD5r10fn/W1Uq7bRVRRMX4HESadewzmpT1CJpEXEFQUQt9UB6dWYTHnffr6S72oUc+f8Sv6ut/jcU70qgIXY0YGPoMJXflUZFgVMF7KEgS3mb+ZyTXjhUerzMp7YUuQwEH2cMdVpAzrHc5ReFAAYz2jOAr3BhupUoWe282k24ABj4Yps8mRId7BdFkWGnChVKDQPWWGgFVv0LBupIZBTIRIyELDqc91HjJMH5nnEqAdSDq/UQZduijXIyxf+Q x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: a5cdc727-d395-40bd-da02-08d622208f1e x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534165)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:SN1PR12MB2591; x-ms-traffictypediagnostic: SN1PR12MB2591: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(81227570615382)(767451399110)(162533806227266)(228905959029699); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231355)(944501410)(52105095)(93006095)(93001095)(3002001)(10201501046)(6055026)(149066)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123558120)(20161123562045)(201708071742011)(7699051); SRVR:SN1PR12MB2591; BCL:0; PCL:0; RULEID:; SRVR:SN1PR12MB2591; x-forefront-prvs: 0805EC9467 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(136003)(346002)(39860400002)(376002)(366004)(13464003)(189003)(199004)(11346002)(446003)(476003)(86362001)(186003)(81166006)(6506007)(8676002)(81156014)(5660300001)(486006)(229853002)(99286004)(7696005)(6306002)(53936002)(9686003)(305945005)(55016002)(6436002)(71200400001)(71190400001)(68736007)(74316002)(102836004)(53546011)(7736002)(97736004)(316002)(3846002)(6116002)(14444005)(256004)(110136005)(6246003)(4326008)(478600001)(5250100002)(26005)(8936002)(2906002)(2501003)(2900100001)(966005)(66066001)(72206003)(105586002)(14454004)(76176011)(25786009)(106356001)(33656002); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR12MB2591; H:SN1PR12MB0158.namprd12.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: SMfiX80IeSOpFi3FgjsYibH7O/4rZmkylYtBchAJR6PvtLZUW5/ABz15PSYYljzzXjsdGHW2HUhQg5XuhyHmtEQWO7EUPCO0vsY26K0eghhbnOZCAcydj91XIgEEzAFjTJRp57TRHs7ukTeO4u6t85QLDfqEHnkW7Iy/d1J5J/z8/FJoA4Vy/S2hv9l1HWQPFjUZdMNEYp4UU6gUBym3V9h49p0oKHNpV2Nf2zUUoOukoi7tkej9Fl6kr3bSfjycHyTt5xQVIdtLlGihsuKm3BnXijdKJ1u3xZXgmPwcW30XmwV5IxA6+vmj96IPmppAmrTQSiA5sWcY5PHkUdRLABj6GK97asQ3km31I+k2aIs= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: a5cdc727-d395-40bd-da02-08d622208f1e X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Sep 2018 13:20:55.3844 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB2591 Subject: Re: [PATCH 3/3] MdeModulePkg/PciHostBridge: Add RESOURCE_VALID() to simplify code 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: Mon, 24 Sep 2018 13:20:57 -0000 Content-Language: en-US Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable GARRETT KIRKENDALL SMTS Firmware Engineer | CTE 7171 Southwest Parkway, Austin, TX 78735 USA=20 AMD=A0=A0 facebook=A0 |=A0 amd.com -----Original Message----- From: edk2-devel On Behalf Of Ruiyu Ni Sent: Friday, September 21, 2018 2:26 AM To: edk2-devel@lists.01.org Cc: Star Zeng Subject: [edk2] [PATCH 3/3] MdeModulePkg/PciHostBridge: Add RESOURCE_VALID(= ) to simplify code Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni Cc: Star Zeng --- .../Bus/Pci/PciHostBridgeDxe/PciRootBridgeIo.c | 26 ++++++++++--------= ---- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciRootBridgeIo.c b/MdeM= odulePkg/Bus/Pci/PciHostBridgeDxe/PciRootBridgeIo.c index f6234b5d11..916709e276 100644 --- a/MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciRootBridgeIo.c +++ b/MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciRootBridgeIo.c @@ -21,6 +21,8 @@ extern EDKII_IOMMU_PROTOCOL *mIoMmuProtocol; =20 #define NO_MAPPING (VOID *) (UINTN) -1 =20 +#define RESOURCE_VALID(R) ((R).Base <=3D (R).Limit) + // // Lookup table for increment values based on transfer widths // @@ -122,= 25 +124,25 @@ CreateRootBridge ( // // Make sure Mem and MemAbove4G apertures are valid // - if (Bridge->Mem.Base <=3D Bridge->Mem.Limit) { + if (RESOURCE_VALID (Bridge->Mem)) { ASSERT (Bridge->Mem.Limit < SIZE_4GB); if (Bridge->Mem.Limit >=3D SIZE_4GB) { return NULL; } } - if (Bridge->MemAbove4G.Base <=3D Bridge->MemAbove4G.Limit) { + if (RESOURCE_VALID (Bridge->MemAbove4G)) { ASSERT (Bridge->MemAbove4G.Base >=3D SIZE_4GB); if (Bridge->MemAbove4G.Base < SIZE_4GB) { return NULL; } } - if (Bridge->PMem.Base <=3D Bridge->PMem.Limit) { + if (RESOURCE_VALID (Bridge->PMem)) { ASSERT (Bridge->PMem.Limit < SIZE_4GB); if (Bridge->PMem.Limit >=3D SIZE_4GB) { return NULL; } } - if (Bridge->PMemAbove4G.Base <=3D Bridge->PMemAbove4G.Limit) { + if (RESOURCE_VALID (Bridge->PMemAbove4G)) { ASSERT (Bridge->PMemAbove4G.Base >=3D SIZE_4GB); if (Bridge->PMemAbove4G.Base < SIZE_4GB) { return NULL; @@ -157,11 +159,9 @@ CreateRootBridge ( // support separate windows for Non-prefetchable and Prefetchable // memory. // - ASSERT (Bridge->PMem.Base > Bridge->PMem.Limit); - ASSERT (Bridge->PMemAbove4G.Base > Bridge->PMemAbove4G.Limit); - if ((Bridge->PMem.Base <=3D Bridge->PMem.Limit) || - (Bridge->PMemAbove4G.Base <=3D Bridge->PMemAbove4G.Limit) - ) { + ASSERT (!RESOURCE_VALID (Bridge->PMem)); + ASSERT (!RESOURCE_VALID (Bridge->PMemAbove4G)); + if (RESOURCE_VALID (Bridge->PMem) || RESOURCE_VALID=20 + (Bridge->PMemAbove4G)) { return NULL; } } @@ -171,11 +171,9 @@ CreateRootBridge ( // If this bit is not set, then the PCI Root Bridge does not support // 64 bit memory windows. // - ASSERT (Bridge->MemAbove4G.Base > Bridge->MemAbove4G.Limit); - ASSERT (Bridge->PMemAbove4G.Base > Bridge->PMemAbove4G.Limit); - if ((Bridge->MemAbove4G.Base <=3D Bridge->MemAbove4G.Limit) || - (Bridge->PMemAbove4G.Base <=3D Bridge->PMemAbove4G.Limit) - ) { + ASSERT (!RESOURCE_VALID (Bridge->MemAbove4G)); + ASSERT (!RESOURCE_VALID (Bridge->PMemAbove4G)); + if (RESOURCE_VALID (Bridge->MemAbove4G) || RESOURCE_VALID=20 + (Bridge->PMemAbove4G)) { return NULL; } } -- 2.16.1.windows.1 With Laszlo's comments Reviewed-by: Garrett Kirkendall _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel