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.web10.4855.1654164868885654323 for ; Thu, 02 Jun 2022 03:14:30 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=TsMcPVRV; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: ray.ni@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1654164868; x=1685700868; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=F6AwD5k92KMR2x5qisIxYkCc40g2CHwvxWoV4hhPjFQ=; b=TsMcPVRVDu53z6G+uQQpoZ/hzMnto00eRl8upPuUZ3Y1d1zuKP0TzyUL TjAE4aVdtKRXyAEpuzZPwiqb70PWCYGLcxqdNGGndf0b+Q2v7vNt5Wop+ q1BuZqsZTKvgg03PBlv/l2Ohu5X44k8WdiRVgUKxR7APysRLDfz0VEvyZ qDkUoRqBp/CWtGtunlrKMTZ5NAXoEzLQFuFRqxjn3Wp99aX4g8eDfGFp1 1HVi9aDakUvuS0z5+6b13NRxpdQ7TpZwHtsu5WyjSONouKIcsyoRUJG09 1Q/ZSYD/iB00TBpMYQVkOBkejPsBKS6qJtN4MZ5cHFiUJ2AGwzHlY/7lP g==; X-IronPort-AV: E=McAfee;i="6400,9594,10365"; a="362275776" X-IronPort-AV: E=Sophos;i="5.91,270,1647327600"; d="scan'208";a="362275776" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jun 2022 03:14:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,270,1647327600"; d="scan'208";a="645930819" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga004.fm.intel.com with ESMTP; 02 Jun 2022 03:14:27 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Thu, 2 Jun 2022 03:14:27 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Thu, 2 Jun 2022 03:14:27 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.48) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Thu, 2 Jun 2022 03:14:27 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G7hY9bVR0TKER+8VZnujGUkYmdBmGoycEEwV3opBwQHJYOR83EESvGVchPgPMpZwI/kPnVhdtjmGeYLrvqsNabDFTIfg5KTZcRBtpWKO5pd0+Pau0lsGkX7LUIYgylrVSOXkdCgyAH9yLDO/+tw2lehMYk76ZUwQNPLqaJMmReWyqAyeZmB35rVhvpfDBGfxw1cl0IVya+0lirUPPUOs4rfvPtt30gEXBHFkQuiOsyDr9tK3Pp5x4wElrJnldDjH9H4e2cJr8xX60EF8KbS02VAmjN+2Kp7pi4MD1dNrAujTYzcpg8rCXAw9i36AXOJ1NoYNhvIYxyNMC71aKmr0GQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=vE4t18Ka2q6TjWLBuKPtjIlom4BcSCDi6pSWoEfUIfg=; b=SsezHN4PorvI2fUOEUFZd0YsFN/8w8heOlzjpZ/JPuQbGBrfSFxwChxcjMLY/v66JuMsBniKBfNFKhvTGFAIagaB49GyL/6U/SjF46UDnzB9iV9JOtA5kBUwu7ZFqE4qZ6TU57vGPMNWh8uRrCBrCorLv4eXEQaqt4aoLPEyGZZi1vD4HfhX8vpvxHnAOoxA/4Bbe/ZJaebYKBlcZZnRK5BMGC0jYTmniFFw5qPr0lf1tRV/KwamtQ6zh6k2ESFfRP4Rw/8ORSsI7LLuivPTdmedUnujnaOGKA2gr/ZRo0pZP2NuYIMX7dsMgzKmIfhziznQ6zVVkBRO0QuMCvAMzw== 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 Received: from MWHPR11MB1631.namprd11.prod.outlook.com (2603:10b6:301:10::10) by BN6PR11MB4067.namprd11.prod.outlook.com (2603:10b6:405:7e::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.12; Thu, 2 Jun 2022 10:14:24 +0000 Received: from MWHPR11MB1631.namprd11.prod.outlook.com ([fe80::4501:93e1:b65d:684c]) by MWHPR11MB1631.namprd11.prod.outlook.com ([fe80::4501:93e1:b65d:684c%11]) with mapi id 15.20.5293.019; Thu, 2 Jun 2022 10:14:24 +0000 From: "Ni, Ray" To: Gerd Hoffmann , "devel@edk2.groups.io" CC: "Wu, Hao A" , Pawel Polawski , Ard Biesheuvel , "Albecki, Mateusz" , "Chang, Abner" , "Leif Lindholm" , "Yao, Jiewen" , Oliver Steffen , "Gao, Liming" , "Wang, Jian J" , "Justen, Jordan L" , Ard Biesheuvel Subject: Re: [PATCH v7 1/6] MdeModulePkg/PciHostBridge: io range is not mandatory Thread-Topic: [PATCH v7 1/6] MdeModulePkg/PciHostBridge: io range is not mandatory Thread-Index: AQHYdly0AcH1XpDRbUWNNDMHAfsSza07435A Date: Thu, 2 Jun 2022 10:14:24 +0000 Message-ID: References: <20220602084216.159028-1-kraxel@redhat.com> <20220602084216.159028-2-kraxel@redhat.com> In-Reply-To: <20220602084216.159028-2-kraxel@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: fc63d7ba-6220-4ed4-9fa2-08da4480ab4b x-ms-traffictypediagnostic: BN6PR11MB4067:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: nhTrCo85FjDrfELrpUY+Muru+rVOnY8cjssRJhChu4pgxLP+cNxAhrAp8VaaW+RlqSRN5oLm1Fh2nTWNSXe5NSveMFOqt1JKNri6zOnnYj1u2jg0NB4wKEOUR6d6aJsfvyTdgLAA3GpjYRwRGhUoutM2eEoVTUHdjz99CY6dGZ3IebcjYQzJn+a3+AbAQHicL5B3RZ1QX8eD5NhTkWdozaPRcaePTNaBrCp3vKGaPseAxljWxoBclmFaBslqye0KqOSwM/VQHILDXW53TICXnwjUshQz6vZeSE9CSkmsVuAEeZB6biKEfLFXVbPji7MYztAjv2GZA++GwzJ5Zr4x3mNNh9uf5wHePa3baII34BBMKIu/HRcE268Age4hybHeWadfLOFCeWIs0QrJEnC9Oij7rXBDooKI863I4St3OfuW09fycBqCjB1qOJ0kknE4sJl14d2SWqWZ6NB+1N155LrV5bVBQdAULiLvkwTYxBpezrye1YCuc6cAAF3B0bWUW8MHgCualc364j64G71Kt6AHldIrSJHgxGrsIha8NdfyAQJnqqfdBP9Efnt4gNQqK1jzSXdXKu6OZFlSj84YFj6+9t+0IJia76ef7jf1JqyNdyCiVGBMlLmuwrmCbEedRp/3LAzw+DqoflL54zqlh1TgBScM4hk9LRycveXgO9PPLpEMLJlDXqIHsf1KA1qwoNwH1vDt8r2STsGhzIuA7HZe9Sw1gRWDmemKv54DKXi3+56ikMLDDAUoCx3IKEAwV5Gwhho6A2vch0w/8UquQ61OIkmR5OHDVSxt1X1ZPl7y2XF60Cvoq8Avqbvv1rfSTHBhrJXezSUxxw1cugYFqg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR11MB1631.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(5660300002)(55016003)(9686003)(52536014)(53546011)(66446008)(76116006)(26005)(316002)(54906003)(110136005)(122000001)(71200400001)(82960400001)(66946007)(66556008)(38070700005)(64756008)(4326008)(8676002)(66476007)(8936002)(966005)(6506007)(38100700002)(2906002)(7696005)(33656002)(186003)(83380400001)(508600001)(86362001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?RWm4Z5kleKzhaMCYFzBhGYgRdyZF7DkpU5iJlOI9t0H1gcNrITS5SYMdQu3e?= =?us-ascii?Q?8h18vX5ff/gwpBkfLRqx1t6Uq1hSV7CIwQ0Tsy0VtMZet7Ysv64J4bkaJCm9?= =?us-ascii?Q?A4EGnNTLdZU+pTM6b6Q/dyAm/FjS64+MF3XDxxQ5T2IQPUQbLtXgFhigv/8B?= =?us-ascii?Q?xNlQA8qTNYK7ZQXVgwZuG4/ofM4rKPnZbwzeqDJA6s/r7HGQqoz54F8agkPo?= =?us-ascii?Q?ySc4kMQgdDYlzpDsK3iBtevsEp2wx84Yvf80Nt8K9Y5zOk8PVEWzCSXbi+Y2?= =?us-ascii?Q?m/3YGGQApsRLTkpF9xQJe6tFXgW8Wblm1MMW5tnqOoLTZmvX4KaHGP8t+vA2?= =?us-ascii?Q?DAiMjEB+d9xwm5925LkCyPV5LolWnw5bg+KledIRIldAGB24yNvyHGSEOA87?= =?us-ascii?Q?g5X1beJPxKmwSJCp9XPtUI4cS2L7IGnBD6p04qGJIRxZ1fR0we0aRRD0q/7W?= =?us-ascii?Q?eu5kfSvkfyLcV3voOrv1Xc9BMy4ge64sW6QmOZYqOZTy7v16AiuDPMPFaYi6?= =?us-ascii?Q?iUJ2bq970uV+0UvUH82mwy3pvqhYuxeVnwZMHfh8m+PPGumgt1tSYeVG9E85?= =?us-ascii?Q?x8sOM9DqavajxXSNB5tJdZLRwhUlpk+YFVBqQTdm2TspOFZQJ2+ilFnRRCbK?= =?us-ascii?Q?CL02BXEOliGd53DJw4qQR+/N1Ko4UQQOiIx6pi46tO/lKE4H8RVOE/o6f5SX?= =?us-ascii?Q?e8WIJB615FkMDBeX67e+B4zM/lIFQ3kOoZSE4kWr9OPXzqaVOCbjGcylIjCr?= =?us-ascii?Q?uvrBpDvxfitXpXFaTLGCgaffvt9efb2ZeDBLxAywN3N8+wXICbVgQbuXaZRO?= =?us-ascii?Q?0CRzLQmI8/7r7xuaj5+epffUazc8hzaUt2R22iK8O6McRXIvSA+eJP2ueE87?= =?us-ascii?Q?orTHcomVGq3w6DU6exREENWQgn+D9wlHa/mtH5S5LF22A/0moo+pkqje/Rb8?= =?us-ascii?Q?c2eeDhyI1TfpuFGHeynhdj4zDIo8WLB3QNTWMwnS6CCrNYdn4o9F8uFClZYE?= =?us-ascii?Q?OVps9jXOyMJ+tK2eZOd9vPBYQud3FiOIkrDaPQ922k0hwhG4orTvqZ2ZTU1S?= =?us-ascii?Q?CIl0AVPDaqiTsvg9pkn3O9gFOElSVji14ohWWCZuHchjyDzIaBhLxsHfHE78?= =?us-ascii?Q?A1i++qClV26heWDnGJIbOPzjo0I5az5eZD/ekG0Q4loFiDtdn3WO72NCoQw1?= =?us-ascii?Q?6cu8Dthu0vpUNNiUAcPUksGQ3ZdEMxAPQDqqaEjAhZC51Cyal0tWQtwbx1Fl?= =?us-ascii?Q?skIOtTIw5Ok1UIImcAP3JumbyG2INYfGYeJaAydkuoh3Gz4wyUdFd6OUB5P5?= =?us-ascii?Q?0QZ4woP1ObCHV/xlkfsNsSs8B3J+VpwY2RO90jwEgHfp/qcwkawUtzY8Emcn?= =?us-ascii?Q?Ih/OekKxlRGlkMvmES2Cp26WSabG8A1kJkFzslTXpg+49ztadiT7pAhigqOO?= =?us-ascii?Q?zS0Wlv5MQn6wrBIkADhm6g4YW0xe5zTELvh5R6paeE16pEKozTk5+kYFBceD?= =?us-ascii?Q?fNnuCpPlqTQR2ZZ3DOtbb0uNuADFnJhn0jAjVSCjZ/nxSJ39FSiDfpLdYgNQ?= =?us-ascii?Q?m3P5y/yQMhpKTXuXV0pjLt4vCAy04vpvwx7MsCHGHPESABRb3Usc3ixHAkPl?= =?us-ascii?Q?S2m09tNG88jyhdU7p2KcFWe2gOALwu+GwBJF0k7qa4CesuZoEeH/4MmuCfTS?= =?us-ascii?Q?lFGWA0BK5nblXpaZb1Rr6ThpgEueeMaQJWMmBTlMaltsVv2i8jhKzxtu9GZC?= =?us-ascii?Q?3MYg9tbNqQ=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR11MB1631.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fc63d7ba-6220-4ed4-9fa2-08da4480ab4b X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jun 2022 10:14:24.6396 (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: 1irYh1MZg9S6gHX23dAiTcRq3NQPld+SGs838Xw0KR6c4gXU1sRC8wBM8sPNGreoqX2/xw5y2tbzeVGlV7dfLQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB4067 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Gerd, The fix should work. But I am curious why the if in blow is not hit. https://github.com/TianoCore/edk2/blob/master/MdeModulePkg/Bus/Pci/PciHostB= ridgeDxe/PciHostBridge.c#L922 The RootBridge->ResAllocNode[TypeIo].Status is assigned as ResNone in: https://github.com/TianoCore/edk2/blob/master/MdeModulePkg/Bus/Pci/PciHostB= ridgeDxe/PciRootBridgeIo.c#L263 Or maybe your OVMF platform doesn't execute the above code path? Then I guess maybe the Base/Limit of Aperture is not set properly so that b= elow if is hit? https://github.com/tianocore/edk2/blob/64706ef761273ba403f9cb3b7a986bfb804c= 0a87/MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciRootBridgeIo.c#L249 Thanks, Ray > -----Original Message----- > From: Gerd Hoffmann > Sent: Thursday, June 2, 2022 4:42 PM > To: devel@edk2.groups.io > Cc: Wu, Hao A ; Pawel Polawski ;= Ard Biesheuvel ; > Albecki, Mateusz ; Chang, Abner ; Ni, Ray ; Leif > Lindholm ; Yao, Jiewen ;= Oliver Steffen ; Gao, > Liming ; Gerd Hoffmann ; Wan= g, Jian J ; Justen, > Jordan L ; Ard Biesheuvel > Subject: [PATCH v7 1/6] MdeModulePkg/PciHostBridge: io range is not manda= tory >=20 > io range is not mandatory according to pcie spec, so allow > pcie host bridge configurations without io window in case > there are no io reservations. >=20 > Signed-off-by: Gerd Hoffmann > Reviewed-by: Ard Biesheuvel > --- > MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridge.c | 6 ++++++ > 1 file changed, 6 insertions(+) >=20 > diff --git a/MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridge.c > b/MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridge.c > index b20bcd310ad5..354be6dbb313 100644 > --- a/MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridge.c > +++ b/MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridge.c > @@ -1085,6 +1085,12 @@ NotifyPhase ( > RootBridge->ResAllocNode[Index].Base =3D BaseAddress; > RootBridge->ResAllocNode[Index].Status =3D ResAllocated; > DEBUG ((DEBUG_INFO, "Success\n")); > + } else if ((Index =3D=3D TypeIo) && > + (RootBridge->Io.Base =3D=3D MAX_UINT64) && > + (RootBridge->ResAllocNode[Index].Length =3D=3D 0)= ) > + { > + /* I/O is optional on PCIe */ > + DEBUG ((DEBUG_INFO, "Success (PCIe NoIO)\n")); > } else { > ReturnStatus =3D EFI_OUT_OF_RESOURCES; > DEBUG ((DEBUG_ERROR, "Out Of Resource!\n")); > -- > 2.36.1