From nobody Wed Feb 11 04:36:33 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+105714+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+105714+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1685963581; cv=none; d=zohomail.com; s=zohoarc; b=fuUnhr5ngUjMiGSfQpQ0ml0+a1CuvnDOjajMbgMDeJwpf4U3z6TFHYjqOoHY3HcxCHYc3lbtT5qF77xhHUVObgpUcd6LEAQwzI2tZ23JYobC4/qyQwIRiqyGqZfXrhDqkiVg+JuGIJDr+PhFEugvEN5CIif1mGbPAjUVZ5emtrM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1685963581; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=EWQrNf4NbHgXcbrvUHV297P1hnah8UT8mOipL9ZHc14=; b=ZOUrho1bKrwcU9HDN3A3vkVHo2nyd5zTQ0NOx5zT2ULnhwf+NwhVkVOl2YJeyG2vwMtwgbRL4QYV4z9vWXZtx3L38HodjIPvNXguugnBhasIeHpFPzcGRaT5UhtGnbz+HS0y7mDzYbANRgBwzZqm6egtb78LCFXdUAeCH5PD5q4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+105714+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 16859635818777.556558142394124; Mon, 5 Jun 2023 04:13:01 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id ujyGYY1788612xmHWlzEvKKP; Mon, 05 Jun 2023 04:13:01 -0700 X-Received: from zg8tmja5ljk3lje4ms43mwaa.icoremail.net (zg8tmja5ljk3lje4ms43mwaa.icoremail.net [209.97.181.73]) by mx.groups.io with SMTP id smtpd.web11.4527.1685962214143401388 for ; Mon, 05 Jun 2023 03:50:15 -0700 X-Received: from prodtpl.icoremail.net (unknown [10.12.1.20]) by hzbj-icmmx-7 (Coremail) with SMTP id AQAAfwC3wp1_vX1kqSxNAg--.1973S2; Mon, 05 Jun 2023 18:48:31 +0800 (CST) X-Received: from phytium.com.cn (unknown [123.150.8.50]) by mail (Coremail) with SMTP id AQAAfwC34iLRvX1koZQAAA--.793S5; Mon, 05 Jun 2023 18:49:57 +0800 (CST) From: "wangyuquan1236" To: ardb+tianocore@kernel.org, quic_llindhol@quicinc.com Cc: quic_ggregory@quicinc.com, rad@semihalf.com, chenbaozi@phytium.com.cn, devel@edk2.groups.io, Yuquan Wang Subject: [edk2-devel] [PATCH 2/3] SbsaQemu: Drivers: Add initial support for XHCI Date: Mon, 5 Jun 2023 18:49:12 +0800 Message-Id: <20230605104913.117643-3-wangyuquan1236@phytium.com.cn> In-Reply-To: <20230605104913.117643-1-wangyuquan1236@phytium.com.cn> References: <20230605104913.117643-1-wangyuquan1236@phytium.com.cn> MIME-Version: 1.0 X-CM-TRANSID: AQAAfwC34iLRvX1koZQAAA--.793S5 X-CM-SenderInfo: 5zdqw5pxtxt0arstlqxsk13x1xpou0fpof0/1tbiAQABAWR84icE4QAAs5 X-Coremail-Antispam: 1Uk129KBjvJXoWxXFWrtrW8Xry7Kw1kGFWruFg_yoWrZrWxpF 10vFZ3Cw1xGryayw43Ga4rXF4YkFyakrWDGrsIqF10kwsxXF1UXw4YqFy8ZF9rJFnxXw4D Ar10y34jyFs5urJanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUj1kv1TuYvTs0mT0YCTnIWj DUYxn0WfASr-VFAU7a7-sFnT9fnUUIcSsGvfJ3UbIYCTnIWIevJa73UjIFyTuYvj4RJUUU UUUUU Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,wangyuquan1236@phytium.com.cn X-Gm-Message-State: dd655TwZBcm6s8rD3OaLwJuPx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1685963581; bh=HqMvhn4/kxNUuC9IX9I8ze01X8JBmMXNhb7W6rAVwQo=; h=Cc:Date:From:Reply-To:Subject:To; b=nJFDacHzwQ2fr1tjhVeXQPBcjCCahEGIFMmu1gzpIkviid1s2gtfBY5dKtLAZk2Gkal CLYrh+Ej7jtB98r1Q/DkfAxUsNZ7UWAsXIhW+x8gf4vEZT5Ql/aLapDcoVHZnOif7NRId 0ctHDDBw52eFpCwyB3ApExks2KNqVe+xITM= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1685963583272100003 Content-Type: text/plain; charset="utf-8" This registers the non-discoverable XHCI for sbsa-ref. Signed-off-by: Yuquan Wang Change-Id: Iace5a04ea6087de6b0d855e84c90b4754a66594a --- .../SbsaQemuPlatformDxe/SbsaQemuPlatformDxe.c | 40 ++++++++++++++----- .../SbsaQemuPlatformDxe.inf | 2 + Silicon/Qemu/SbsaQemu/SbsaQemu.dec | 4 +- 3 files changed, 35 insertions(+), 11 deletions(-) diff --git a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlat= formDxe.c b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatf= ormDxe.c index b7270a07..1a34773f 100644 --- a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe= .c +++ b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe= .c @@ -24,18 +24,19 @@ InitializeSbsaQemuPlatformDxe ( ) { EFI_STATUS Status; - UINTN Size; - VOID* Base; + UINTN AhciSize, XhciSize; + VOID* AhciBase; + VOID* XhciBase; =20 DEBUG ((DEBUG_INFO, "%a: InitializeSbsaQemuPlatformDxe called\n", __FUNC= TION__)); =20 - Base =3D (VOID*)(UINTN)PcdGet64 (PcdPlatformAhciBase); - ASSERT (Base !=3D NULL); - Size =3D (UINTN)PcdGet32 (PcdPlatformAhciSize); - ASSERT (Size !=3D 0); + AhciBase =3D (VOID*)(UINTN)PcdGet64 (PcdPlatformAhciBase); + ASSERT (AhciBase !=3D NULL); + AhciSize =3D (UINTN)PcdGet32 (PcdPlatformAhciSize); + ASSERT (AhciSize !=3D 0); =20 DEBUG ((DEBUG_INFO, "%a: Got platform AHCI %llx %u\n", - __FUNCTION__, Base, Size)); + __FUNCTION__, AhciBase, AhciSize)); =20 Status =3D RegisterNonDiscoverableMmioDevice ( NonDiscoverableDeviceTypeAhci, @@ -43,13 +44,34 @@ InitializeSbsaQemuPlatformDxe ( NULL, NULL, 1, - Base, Size); + AhciBase, AhciSize); =20 if (EFI_ERROR(Status)) { DEBUG ((DEBUG_ERROR, "%a: NonDiscoverable: Cannot install AHCI device = @%p (Staus =3D=3D %r)\n", - __FUNCTION__, Base, Status)); + __FUNCTION__, AhciBase, Status)); return Status; } =20 + XhciBase =3D (VOID*)(UINTN)PcdGet64 (PcdPlatformXhciBase); + ASSERT (XhciBase !=3D NULL); + XhciSize =3D (UINTN)PcdGet32 (PcdPlatformXhciSize); + ASSERT (XhciSize !=3D 0); + + DEBUG ((DEBUG_INFO, "%a: Got platform XHCI %llx %u\n", + __FUNCTION__, XhciBase, XhciSize)); + + Status =3D RegisterNonDiscoverableMmioDevice ( + NonDiscoverableDeviceTypeXhci, + NonDiscoverableDeviceDmaTypeCoherent, + NULL, + NULL, + 1, + XhciBase, XhciSize); + + if (EFI_ERROR(Status)) { + DEBUG ((DEBUG_ERROR, "%a: NonDiscoverable: Cannot install XHCI device = @%p (Staus =3D=3D %r)\n", + __FUNCTION__, XhciBase, Status)); + return Status; + } return EFI_SUCCESS; } diff --git a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlat= formDxe.inf b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPla= tformDxe.inf index 21d2135f..41cdcf16 100644 --- a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe= .inf +++ b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuPlatformDxe/SbsaQemuPlatformDxe= .inf @@ -35,6 +35,8 @@ [Pcd] gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdPlatformAhciBase gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdPlatformAhciSize + gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdPlatformXhciBase + gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdPlatformXhciSize =20 [Depex] TRUE diff --git a/Silicon/Qemu/SbsaQemu/SbsaQemu.dec b/Silicon/Qemu/SbsaQemu/Sbs= aQemu.dec index 94488529..028c2974 100644 --- a/Silicon/Qemu/SbsaQemu/SbsaQemu.dec +++ b/Silicon/Qemu/SbsaQemu/SbsaQemu.dec @@ -32,8 +32,8 @@ # Non discoverable devices Pcds gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdPlatformAhciBase|0|UINT64|0x00= 000001 gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdPlatformAhciSize|0x10000|UINT3= 2|0x00000002 - gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdPlatformEhciBase|0|UINT64|0x00= 000003 - gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdPlatformEhciSize|0x10000|UINT3= 2|0x00000004 + gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdPlatformXhciBase|0|UINT64|0x00= 000003 + gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdPlatformXhciSize|0x10000|UINT3= 2|0x00000004 gArmVirtSbsaQemuPlatformTokenSpaceGuid.PcdDeviceTreeBaseAddress|0x100000= 00000|UINT64|0x00000005 =20 # PCDs complementing PCIe layout pulled into ACPI tables --=20 2.34.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#105714): https://edk2.groups.io/g/devel/message/105714 Mute This Topic: https://groups.io/mt/99337902/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-