From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (NAM10-DM6-obe.outbound.protection.outlook.com [40.107.93.70]) by mx.groups.io with SMTP id smtpd.web11.40771.1681122366422853993 for ; Mon, 10 Apr 2023 03:26:06 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@amd.com header.s=selector1 header.b=vZ7vX99x; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: amd.com, ip: 40.107.93.70, mailfrom: abdullateef.attar@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XBWgPhVqVxtIourB2aRbuBLaNHmwRXV/+4WWqxzuFCpqmcuV1y724FEBg/zuD/qTSz1n2MY8ksTRRL3/m2GZfP+jBhBW+fcke73+Z2uNCun/PrZNqffqKjPUj4xF8lTl+8SwUK8p7FcYYX9nP2EfHYRxI9UkxWX1Xk7sSfWzOQ4As7R6VRWVtnVcXsBfJH+vzqzd7M3qB6xDVoRH/vVNtXiDkgX5TQGRaOqFsxbrxblUQn66td3vM/J8L+cynpBFikvEArKh1ZzbjXjCfMMNxYHWb0EJwj5eEn73k6v+d6A5DPLH1i9lHWX0WbfHRgK3FKVutfoBpuV5oHsB6I5C7Q== 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=G8SlQBxiGn0zFntqC/MynROE9nM/HVBU8O2g9h3zBNU=; b=oTqfm0TiJVQQFhKToSRb0q9Gk13KFih43QEwQZPIGuUxd6OchXL6s9piQsS9qyE59CUVuEMSx7lcNkU8Wt7NlOHgu/i7yUiJOqviV7RKMoLC5OcVO9PE+SQMsDC1FHrPB6DrQRp/yLxB2qVh2/2CUX9T3QBhXVprRIA4cQ6ysoZ6zQ6CZqwFIXO5/oeextfxh0m9go7AyWaezze4KBvIjbPu+pJf9Yn/ydnoqyQJEDNPCh7Lobe4V1ePnNJk/jyqxDZnmqIS6wTTt247nYL2RHw5HMrugLGDGvje8Y57OoROHKZEBaQBMSCi5Fe1tXuXlGMB0I3rvoDMou/PuHMa1Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=G8SlQBxiGn0zFntqC/MynROE9nM/HVBU8O2g9h3zBNU=; b=vZ7vX99xKLcPaOyifI/F+DrQpiJyX0WrjPcJxPgHTzerOW65APz2X2nogJmyu6qxjnKQ6v+bQTFz0lkgoC1Z+6CMXlTWcEiTIIsJyFXThHTlm676F9yxJiMEjAgMl19G1uPkrHfQeeraihk4blwMpm7O+11xgoZRVLfOv9oykyc= Received: from DS7PR05CA0093.namprd05.prod.outlook.com (2603:10b6:8:56::17) by BL0PR12MB4899.namprd12.prod.outlook.com (2603:10b6:208:1cf::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.36; Mon, 10 Apr 2023 10:26:04 +0000 Received: from DS1PEPF0000E64F.namprd02.prod.outlook.com (2603:10b6:8:56:cafe::a2) by DS7PR05CA0093.outlook.office365.com (2603:10b6:8:56::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.25 via Frontend Transport; Mon, 10 Apr 2023 10:26:04 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by DS1PEPF0000E64F.mail.protection.outlook.com (10.167.18.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6277.30 via Frontend Transport; Mon, 10 Apr 2023 10:26:03 +0000 Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 10 Apr 2023 05:26:00 -0500 Received: from BLR-LAB-SFW01.amd.com (10.180.168.240) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend Transport; Mon, 10 Apr 2023 05:25:58 -0500 From: "Abdul Lateef Attar" To: CC: Abdul Lateef Attar , Abner Chang , Sai Chaganty , "Isaac Oram" , Nate DeSimone , Liming Gao Subject: [PATCH v1 1/1] SpcrFeaturePkg: Updated SPCR table based on PCD values Date: Mon, 10 Apr 2023 15:55:52 +0530 Message-ID: <7e573a1e75f5f61a453f099edbf846e59b0b162e.1681122267.git.abdattar@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 Return-Path: AbdulLateef.Attar@amd.com X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS1PEPF0000E64F:EE_|BL0PR12MB4899:EE_ X-MS-Office365-Filtering-Correlation-Id: b2ed6c55-4c8e-4b4d-74df-08db39adfcf5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: U9U22d5hZJqdC/ouvE5czVsMNvHAM7GoYN6Rs5LFT7IkXTr0i8Ppm1utdUq3RUIqWimJiV0XCnlNB65GOgnpCMFkF6egrhfSQs7MSmiTYvJ11IUbDUbgJaB3jUXT6z4PcU+KuD4hmBeGq7xOEU6FF7MIAr2q5GFxiJXkkivILoGOvDoNuqOm7oTKfyVETZrULiUJ2kfUZJMDmZLNlvXr6jdx96hJTmYWW5UJnn/3pGwEHqCOnvd9VZawI2qXetCzEFhP/JhDVZzVHcUvBzo1BZyzsK0tIb8mXUP0qmIa5XdUx0M6/0mpQCUsWxxNUnFhMITFV2kVQVvsAzGQNHzBN/d96aB9e9ObEb7V4n8TvKlFxfMCxUcwm7Z3GdL/qgiSXa6nGpOwTt8rjwEWF0h2FBHGjtC+mCpP/uGZTp1Yca1btSFqbp6BbqCw6bBH0P5jcgDh0z4PnbU9Nd1NF6kN3BQMcxjPzB3yXU5UkPF49u1xMX5GcRQ1Q8aE71XTuNH2bVpEQbALqh6oXhsUrGO3fhzBQElCP6ooOCpsEChMWZeq16sfbsFCnRiFKp2Oc9Nuw9rksEN93/VbCBlzDAUDfwlSVzaVoJJ9OzY+NTERFghD6PMWi81a4wg6UPub/TCnvV7604JhxMGEuPeKK+wCj2sz2Y++pFMFKdtCU/U+FeQIKQIC7rKDwACAt5Q8kCy4WWqIzfH9FAVO3EGyh9+9cF50caalbZEm1oVCYXOPeTg= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(4636009)(136003)(376002)(396003)(346002)(39860400002)(451199021)(46966006)(36840700001)(40470700004)(478600001)(7696005)(316002)(54906003)(26005)(186003)(6666004)(2906002)(15650500001)(5660300002)(4326008)(70586007)(70206006)(41300700001)(8936002)(8676002)(6916009)(82310400005)(356005)(81166007)(82740400003)(40480700001)(40460700003)(36756003)(83380400001)(47076005)(2616005)(36860700001)(426003)(336012)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2023 10:26:03.8346 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b2ed6c55-4c8e-4b4d-74df-08db39adfcf5 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DS1PEPF0000E64F.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR12MB4899 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain From: Abdul Lateef Attar Update the SPCR table based on PCD values, such as base address, register bit width, access size and address space id etc, along with OEM data. Cc: Abner Chang Cc: Sai Chaganty Cc: Isaac Oram Cc: Nate DeSimone Cc: Liming Gao Signed-off-by: Abdul Lateef Attar --- .../SpcrAcpiDxe/SpcrAcpiDxe.inf | 13 ++++++++++ .../SpcrFeaturePkg/SpcrAcpiDxe/SpcrAcpi.c | 26 +++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrAcpiDxe/= SpcrAcpiDxe.inf b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrAcp= iDxe/SpcrAcpiDxe.inf index 3fc84959a015..9a4f95e86bbf 100644 --- a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrAcpiDxe/SpcrAcp= iDxe.inf +++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrAcpiDxe/SpcrAcp= iDxe.inf @@ -2,6 +2,7 @@ # SPCR is abbreviation of Serial Port Console Redirection Table (SPCR). # # Copyright (c) 2008 - 2020, Intel Corporation. All rights reserved.
+# Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved. # SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -26,6 +27,7 @@ [LibraryClasses] =20 [Packages] MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec SpcrFeaturePkg/SpcrFeaturePkg.dec =20 [Sources] @@ -38,5 +40,16 @@ [Protocols] gEfiSerialIoProtocolGuid ## SOMETIMES_CONSUMES gEfiPciIoProtocolGuid ## SOMETIMES_CONSUMES =20 +[Pcd] + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterAccessWidth + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio + [Depex] TRUE diff --git a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrAcpiDxe/= SpcrAcpi.c b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrAcpiDxe/= SpcrAcpi.c index 7ad0c058c844..51449d0fad9e 100644 --- a/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrAcpiDxe/SpcrAcp= i.c +++ b/Features/Intel/OutOfBandManagement/SpcrFeaturePkg/SpcrAcpiDxe/SpcrAcp= i.c @@ -3,6 +3,7 @@ SPCR is abbreviation of Serial Port Console Redirection Table (SPCR). =20 Copyright (c) 2004 - 2020, Intel Corporation. All rights reserved.
+ Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ @@ -368,6 +369,7 @@ OutOfBandACPITableConstruction ( UINT32 FlowControl; VENDOR_DEVICE_PATH *Vendor; UINT8 Index; + UINT64 AcpiTableOemId; =20 Handle =3D NULL; =20 @@ -456,6 +458,30 @@ OutOfBandACPITableConstruction ( goto out; } =20 + // Base register details + gSpcrInfo.BaseAddress.Address =3D PcdGet64 (PcdSerialRegisterBase); + gSpcrInfo.BaseAddress.RegisterBitWidth =3D PcdGet8 (PcdSerialRegisterAcc= essWidth); + gSpcrInfo.BaseAddress.AccessSize =3D (UINT8)PcdGet32 (PcdSerialRegisterS= tride); + if (PcdGetBool (PcdSerialUseMmio)) { + gSpcrInfo.BaseAddress.AddressSpaceId =3D EFI_ACPI_3_0_SYSTEM_MEMORY; + } + + // OEM info + CopyMem ( + (VOID *) &gSpcrInfo.Header.OemId, + PcdGetPtr (PcdAcpiDefaultOemId), + sizeof (gSpcrInfo.Header.OemId) + ); + AcpiTableOemId =3D PcdGet64 (PcdAcpiDefaultOemTableId); + CopyMem ( + (VOID *) &gSpcrInfo.Header.OemTableId, + (VOID *) &AcpiTableOemId, + sizeof (gSpcrInfo.Header.OemTableId) + ); + gSpcrInfo.Header.OemRevision =3D PcdGet32 (PcdAcpiDefaultOemRevision= ); + gSpcrInfo.Header.CreatorId =3D PcdGet32 (PcdAcpiDefaultCreatorId); + gSpcrInfo.Header.CreatorRevision =3D PcdGet32 (PcdAcpiDefaultCreatorRevi= sion); + // // Add table // --=20 2.25.1