From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-002e3701.pphosted.com (mx0a-002e3701.pphosted.com [148.163.147.86]) by mx.groups.io with SMTP id smtpd.web09.8073.1649749836847663554 for ; Tue, 12 Apr 2022 00:50:37 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@hpe.com header.s=pps0720 header.b=SKw4gzSS; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: hpe.com, ip: 148.163.147.86, mailfrom: prvs=010117df65=abner.chang@hpe.com) Received: from pps.filterd (m0134420.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 23C35hGC012369; Tue, 12 Apr 2022 07:50:30 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hpe.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pps0720; bh=fbKaJVRLIeDZIozJGVfQNQSKhn45brW2UITT2fINvEg=; b=SKw4gzSS3wJa48x6xVysvS/N/hg5wyzV6pa7B8TaS7aHJjubwJQMu0fwpHZIZaggDNae VHeA1XI6o2d0ryXvauEDLe/0JlqE6KmxXEj8a5KHR1X1WgM0lGSSeTG/+yxbh22z8Ovy 966/NWOc2reHKPeXWfBgKP2EJbYtzjWzM36eR1t6hXGKBL9cDq/wob7Ob6jL7K47K46U FHwIe2jpImnwRM6ey4uvaEvtQBVyogSEUaXnAnAxu8s93o66VXUtN6fv8W+DLEfbnZX0 sZy84OAr2DwA4o76LplyA4C0n8ovDwKTiAGMhdrqWKhwGSvgFDJKCl03Tpos6punUMXK AA== Received: from p1lg14878.it.hpe.com (p1lg14878.it.hpe.com [16.230.97.204]) by mx0b-002e3701.pphosted.com (PPS) with ESMTPS id 3fcs33nkr7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 12 Apr 2022 07:50:30 +0000 Received: from p1wg14926.americas.hpqcorp.net (unknown [10.119.18.115]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by p1lg14878.it.hpe.com (Postfix) with ESMTPS id 59F8413172; Tue, 12 Apr 2022 07:50:26 +0000 (UTC) Received: from p1wg14925.americas.hpqcorp.net (10.119.18.114) by p1wg14926.americas.hpqcorp.net (10.119.18.115) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.15; Mon, 11 Apr 2022 19:50:23 -1200 Received: from P1WG14918.americas.hpqcorp.net (16.230.19.121) by p1wg14925.americas.hpqcorp.net (10.119.18.114) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.15 via Frontend Transport; Mon, 11 Apr 2022 19:50:23 -1200 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (192.58.206.38) by edge.it.hpe.com (16.230.19.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.15; Tue, 12 Apr 2022 07:50:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fJPRJP6x7LXGnE2wc8qp+/KsCPBZO6MD3oupIKVj9ZTmwhAoWtEM/jFA8PpucvManml9szRFOmZleEkPucYJkyBNgojn0AgokjTJtl3D8SvHpQjzY0qJ4Eoegd+6ymR124T6yBKUarBVJTtreQ0uxNuBlBHyigVuIr+Kjk6NaFx+FLleEK2YjqeCYfr4nd8dUjZacJxifldcB1H0g439plMj6EoMC5zs2zTLmJjTo0ALQdQ/50OgJLYoK9JNOKpxyEAXXxh8xrSnVy+MRhJK0hw41JWtT1O3isIk0JcZlgcKJ9ha6ddOVpeKZW2i9JxfoB5E3IP/SOHWLYuCJpWTew== 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=fbKaJVRLIeDZIozJGVfQNQSKhn45brW2UITT2fINvEg=; b=EWMAxFukzCWZOTe8XX4KJ5XRy3LgnVLXcGrike9KXjWc03ALL7GBLxYt9fmKf/SDxF5MVbs/u8zK3CGHNZD/26jSFmaWhLWpZtn/ZNAgjx5D8Air/f5QxvL2vrqr5agwI5duEu4nasiypUguZgExOi7O+KjBJLg1y566+vHHGvB1ZGp0x5iO71aR8VqHDdwcfibbgIMWq2RhpBNg7DHzzIAa8NCYj3f5nwHRhrIx2mROXvislDG2qd/u1jpOO4eset7U5bq5W6HAlMe9kKotxsygelEqfGs1JMYAnfXMmNHXJS/O3O1TaVK9VjiqMfXFXZ31ECWW9Jg7V/beZCyj4w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hpe.com; dmarc=pass action=none header.from=hpe.com; dkim=pass header.d=hpe.com; arc=none Received: from PH0PR84MB1647.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:510:173::6) by DM4PR84MB1687.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:8:4a::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5144.30; Tue, 12 Apr 2022 07:50:19 +0000 Received: from PH0PR84MB1647.NAMPRD84.PROD.OUTLOOK.COM ([fe80::cc95:6a61:fb46:aed1]) by PH0PR84MB1647.NAMPRD84.PROD.OUTLOOK.COM ([fe80::cc95:6a61:fb46:aed1%9]) with mapi id 15.20.5144.027; Tue, 12 Apr 2022 07:50:19 +0000 From: "Abner Chang" To: Gerd Hoffmann , "devel@edk2.groups.io" CC: Leif Lindholm , Ard Biesheuvel , Jordan Justen , "Jian J Wang" , Ray Ni , Hao A Wu , Jiewen Yao , Liming Gao , Pawel Polawski , "Oliver Steffen" Subject: Re: [PATCH v3 2/6] OvmfPkg/FdtPciHostBridgeLib: io range is not mandatory Thread-Topic: [PATCH v3 2/6] OvmfPkg/FdtPciHostBridgeLib: io range is not mandatory Thread-Index: AQHYSmKPsPFDW1R1PUCkeavOB0kh3Kzr7kyA Date: Tue, 12 Apr 2022 07:50:19 +0000 Message-ID: References: <20220407093304.1551182-1-kraxel@redhat.com> <20220407093304.1551182-3-kraxel@redhat.com> In-Reply-To: <20220407093304.1551182-3-kraxel@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 85ce18a5-388a-47b1-66e4-08da1c591730 x-ms-traffictypediagnostic: DM4PR84MB1687:EE_ 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: 639oVYCJ++GDBFAm+Z8yT7+FPZC+qKoxru3A1LcjvvH1lOn85hCxZ4+uUpT+P31MAoV/YSVXEsy63azDpN4xgM+wT+pdaP0ABhwHCftE3YC5ooviMUFtCEHFq1nYnlhtbev3EYrIATYoFWlKdZ820It4sEysR/hq5bHfC5wkPS9nDvFXqMb0cjr+pSt8dSljG6VfYJnrUVAxr2smSUNJ06gPM3f8mKQvunZIybjfDDrkLxlYFi/b0xrt6r532m+lR2Dzy7FlvwM1R/TAsQb5Ulwbixwaf5A/0bpb8x3uswbrmAZMJSjaH/+CI12SjEVISiU62Oe1LKXyoAgd3v3PHqNaUVtvYoOZRiQQ2Jc9sCb+dbPYn5Im9BsZYWvitnZ19gGnK8L/BRBJpG+YgW8CgQtZjY+7DSz/E8XczaD8pc56bywvGHxgVi06AyHA3DjqPgT9V+SX0n2Re1OknbKAE60RO42v1iLYTouADSJYVLaQ4n88JLgBXLKJLAX/4J/NadVnAHHNvhJMUMwU9ljflnH1xQ7xwBGTeJEqc3sPNL35a/Qwkx5J5Z/zoxh1Zip7DQkY3LQHLGAcu/N14Z1SlNQOiOARSjK4DXLyYDr35PBOdnUNunKUcBnzzgdHFB2M6CNMFV5HfZl9tf+kQeClNZ69mNKJ+Qc8cK0Vph801mxAJESdxHbKXw1z5ZHAJSNRLuoZxvcqkdhes4jFZxkNhTiQam4mnSwwMkK4Kwat4NQ= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR84MB1647.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230001)(366004)(82960400001)(76116006)(2906002)(4326008)(8676002)(66446008)(66556008)(66946007)(64756008)(122000001)(38070700005)(38100700002)(52536014)(7416002)(5660300002)(86362001)(66476007)(8936002)(26005)(186003)(54906003)(110136005)(33656002)(53546011)(6506007)(7696005)(71200400001)(9686003)(508600001)(55016003)(316002)(83380400001)(213903007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?poouep6sVz3H1umIL9PDrNl+1H+vtufy5Wj8X9Xwz0qbYLvYLoYmoXsXbv+R?= =?us-ascii?Q?v0CETxtdLZjzim/HZcLZlocpDhRAhtrhOyNHEbWt23yM2HzBOMH5QNo/RwZE?= =?us-ascii?Q?1AmmyaSyi6Sep9mkweuS8DlVnFXHiH7HmDpQVhxLSR3WIMy9GxuB5iFJz/E7?= =?us-ascii?Q?PEB7PrtHrdiOQK98VqXNRIqnbxC6n9AswO1YJmaYkPjw4urjzjo7ejhIdQuE?= =?us-ascii?Q?990zMEnryjA8cMeVi5X3Av1iju2HJasKYUPRGNbxBfYt2i113JPUcPXSpLqE?= =?us-ascii?Q?kel95aMuLoMZAuZc/AUTJnICQDcBbjSQpYy/xlsPCZlSu5xNAMtGJfnk8ZH9?= =?us-ascii?Q?bi9VXN8QryV9htsCsXgtvmulE5JVckr8PVRhfMipFr9Jf0TSyKfQMoc/u5y/?= =?us-ascii?Q?m3MNJ1h1PCwSpD/Ze4PG6yocj7mgGQlwUkPgi2tpfm4s8h08dRa/NfYKDzjf?= =?us-ascii?Q?UQx1x32XtPqaQ/lE991SekdBn3GF2rulw5CCirA0nb+x5iecnLWqV91vZGk0?= =?us-ascii?Q?JVYT2j3ImCYb8KLwyavlqRJzvUFN64C06PT7l5H9hM9g6O1Q/qXa46LNMutO?= =?us-ascii?Q?RP7XfoMRNnxOlsoPjQ50mH1eM0mpUJm7YmV4J3vtj2pbDleKRLiniXFURdFC?= =?us-ascii?Q?LIrLqdOhDkhCHZPudMniysw8P8NYnSbIlv+3TuLZxPs5cZ1rzZQayS72NXg4?= =?us-ascii?Q?XBrUKF/DG8vpih3Vmfp9GW5jIgKgSUmTPLaZSocS2wJ216iGO1mh4J6SmKX4?= =?us-ascii?Q?U/lyHaR2ThF7U+0vJdK3KZG5WlTlo2dlSx3a2pCB9e+XVCGrIts5CaduGrP5?= =?us-ascii?Q?0J0Um3wgeEgRCWQQeCmxtFxAyNAcYFRB+ddP5obmAtAuPunsSG5wy+VbuaNK?= =?us-ascii?Q?4csF76+ZSKKZxI8aIdAviYItC/sm/P2erqt1tmOR58kJ1nK8c0AQgC6X+nYv?= =?us-ascii?Q?eqACX5YKPC9zNe3pvDv2AZsyg4nIeeeGAXBgU3/lbcCulMoqeqPV2T9W27FW?= =?us-ascii?Q?A72ZvWz4fZ+WHX43Hf5Mlhs/ZdMsi8NVBcZTWW98jlMLiIiPrvfg7XU07g/5?= =?us-ascii?Q?q08h7rPEs6QRqxzzdEMjMg/xnlU32ska0rEl4rqQk1naj9mMIcr+CwY9Z4Qt?= =?us-ascii?Q?CWLTPnc0mwvR2vLRflBnGmfa8bXqtbarQJVlJ2/kJuwdZvaC9ZQZw8cHzf/u?= =?us-ascii?Q?e3MCw/TU/fxNaNsQkiPywCb2w2y3DzsQ1YRCBslp7oaysp4qnhJfQQPyEVYW?= =?us-ascii?Q?WdIf94jEj+a18Be8QwpJeDzpz5v/1m7STIHu0lCdDmXvJqwTUCv50QE6OQ/X?= =?us-ascii?Q?cUTzQej85r+bRqopn0uDHxoy/Eyac7zBwrqkhaKj9n3PnE9iNB/HeDbYVtPi?= =?us-ascii?Q?MIemYQho9PG9lHRCKzxC9NrBN63ozOPS8xqQZfCUFwJ0LPIAYxFh6lX7994Z?= =?us-ascii?Q?aURd17e7xowdkstFJ160KFWq1f1RW3MBl5LGa7CseMyiMCo42AFDPyJUKi/t?= =?us-ascii?Q?QkqgI7o12J9nyu7ROHEBuxW67jZ0X60LoqPpSjVBwb/I++9rdpql+sWtmi+l?= =?us-ascii?Q?9rZhGVjiva4qyMcLY/7UDRI08iYbPKt3HiNriMtmjbiJoazVTCyfIGCLedHU?= =?us-ascii?Q?c4nm5x7izINvYY1ocHZY1InbDBPFY4kHMhny6LdldU+FuTw95KlFkSgrP2fT?= =?us-ascii?Q?SsXQYBKcEatV1V/bT6GZDx6RyJJJHD6XK/inUsOoz/ztbj+QHwwWr1mJbzvZ?= =?us-ascii?Q?Uq5l0eNRrA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR84MB1647.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 85ce18a5-388a-47b1-66e4-08da1c591730 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Apr 2022 07:50:19.1341 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: gdVD95Dmn9RjsGQA9g0p67LC5DHsjL3wOrKRjx6bWGgQndKaF0yfpnuCqwlOAro78BGFAgrD45ZNP/bxuT7NMA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR84MB1687 X-OriginatorOrg: hpe.com X-Proofpoint-ORIG-GUID: qzZxsisyiLTSHdjeQ48Mu4OGz9kARI1M X-Proofpoint-GUID: qzZxsisyiLTSHdjeQ48Mu4OGz9kARI1M X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.858,Hydra:6.0.425,FMLib:17.11.64.514 definitions=2022-04-12_02,2022-04-11_01,2022-02-23_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 bulkscore=0 impostorscore=0 phishscore=0 priorityscore=1501 mlxscore=0 clxscore=1011 mlxlogscore=970 spamscore=0 suspectscore=0 adultscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2204120035 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable > -----Original Message----- > From: Gerd Hoffmann > Sent: Thursday, April 7, 2022 5:33 PM > To: devel@edk2.groups.io > Cc: Leif Lindholm ; Ard Biesheuvel > ; Jordan Justen ; > Jian J Wang ; Ray Ni ; Hao A Wu > ; Gerd Hoffmann ; Jiewen Yao > ; Liming Gao ; Pawel > Polawski ; Chang, Abner (HPS SW/FW Technologist) > ; Oliver Steffen > Subject: [PATCH v3 2/6] OvmfPkg/FdtPciHostBridgeLib: io range is not > mandatory >=20 > io range is not mandatory according to pcie spec, > so allow host bridges without io address space. >=20 > Signed-off-by: Gerd Hoffmann > --- > .../FdtPciHostBridgeLib/FdtPciHostBridgeLib.c | 45 ++++++++++--------- > 1 file changed, 23 insertions(+), 22 deletions(-) >=20 > diff --git a/OvmfPkg/Fdt/FdtPciHostBridgeLib/FdtPciHostBridgeLib.c > b/OvmfPkg/Fdt/FdtPciHostBridgeLib/FdtPciHostBridgeLib.c > index 98828e0b262b..823ea47c80a3 100644 > --- a/OvmfPkg/Fdt/FdtPciHostBridgeLib/FdtPciHostBridgeLib.c > +++ b/OvmfPkg/Fdt/FdtPciHostBridgeLib/FdtPciHostBridgeLib.c > @@ -292,13 +292,8 @@ ProcessPciHost ( > } > } >=20 > - if ((*IoSize =3D=3D 0) || (*Mmio32Size =3D=3D 0)) { > - DEBUG (( > - DEBUG_ERROR, > - "%a: %a space empty\n", > - __FUNCTION__, > - (*IoSize =3D=3D 0) ? "IO" : "MMIO32" > - )); > + if (*Mmio32Size =3D=3D 0) { > + DEBUG ((DEBUG_ERROR, "%a: MMIO32 space empty\n", > __FUNCTION__)); > return EFI_PROTOCOL_ERROR; > } >=20 > @@ -333,13 +328,15 @@ ProcessPciHost ( > return Status; > } >=20 > - // > - // Map the MMIO window that provides I/O access - the PCI host bridge > code > - // is not aware of this translation and so it will only map the I/O vi= ew > - // in the GCD I/O map. > - // > - Status =3D MapGcdMmioSpace (*IoBase + IoTranslation, *IoSize); > - ASSERT_EFI_ERROR (Status); > + if (*IoSize) { > + // > + // Map the MMIO window that provides I/O access - the PCI host bridg= e > code > + // is not aware of this translation and so it will only map the I/O = view > + // in the GCD I/O map. > + // > + Status =3D MapGcdMmioSpace (*IoBase + IoTranslation, *IoSize); > + ASSERT_EFI_ERROR (Status); > + } >=20 > return Status; > } > @@ -413,17 +410,21 @@ PciHostBridgeGetRootBridges ( >=20 > AllocationAttributes =3D EFI_PCI_HOST_BRIDGE_COMBINE_MEM_PMEM; >=20 > - Io.Base =3D IoBase; > - Io.Limit =3D IoBase + IoSize - 1; > + if (IoSize) { > + Io.Base =3D IoBase; > + Io.Limit =3D IoBase + IoSize - 1; > + } else { > + Io.Base =3D MAX_UINT64; > + Io.Limit =3D 0; HI Gerd, Does the consumer of Io (in PCI_ROOT_BRIDGE structure) know that the MAX_UI= NT64 for Io.Base refers to no memory map I/O? Abner > + } > + > Mem.Base =3D Mmio32Base; > Mem.Limit =3D Mmio32Base + Mmio32Size - 1; >=20 > - if (sizeof (UINTN) =3D=3D sizeof (UINT64)) { > - MemAbove4G.Base =3D Mmio64Base; > - MemAbove4G.Limit =3D Mmio64Base + Mmio64Size - 1; > - if (Mmio64Size > 0) { > - AllocationAttributes |=3D EFI_PCI_HOST_BRIDGE_MEM64_DECODE; > - } > + if ((sizeof (UINTN) =3D=3D sizeof (UINT64)) && Mmio64Size) { > + MemAbove4G.Base =3D Mmio64Base; > + MemAbove4G.Limit =3D Mmio64Base + Mmio64Size - 1; > + AllocationAttributes |=3D EFI_PCI_HOST_BRIDGE_MEM64_DECODE; > } else { > // > // UEFI mandates a 1:1 virtual-to-physical mapping, so on a 32-bit > -- > 2.35.1