From nobody Sat Jul 27 03:44:21 2024 Delivered-To: importer@patchew.org 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+108799+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1695052041268374.40868056435704; Mon, 18 Sep 2023 08:47:21 -0700 (PDT) Return-Path: DKIM-Signature: a=rsa-sha256; bh=JXSymm0SsakpgVoT9jz+M8VivgdKNRYwBuMObjSd9Xk=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:Received-SPF:From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding:Content-Type; s=20140610; t=1695052040; v=1; b=uHKGhrmyS0kFcS7n2+9fjZxDq2DxwlfvFDRWnYC4djsPuqtYtTtp8qzgsRi37Obtis91QJlH ncwNrQdXFGAt7Hiwwrsn+wYsh0ZKRk/lJ7DlP8gW0b85b03KIVhK8Oc/ZkwlFQQPvYJ87nh+MOx keS3TiLr6xZAU3KYqEQLXatw= X-Received: by 127.0.0.2 with SMTP id k8pVYY1788612xjjXh7Dz2dA; Mon, 18 Sep 2023 08:47:20 -0700 X-Received: from NAM11-BN8-obe.outbound.protection.outlook.com (NAM11-BN8-obe.outbound.protection.outlook.com [40.107.236.40]) by mx.groups.io with SMTP id smtpd.web10.54921.1695052040122070716 for ; Mon, 18 Sep 2023 08:47:20 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JQeCiJBMkH6S4KN4zpzp3wRpzH4n4ILnLfzX2fN6UwDp1PBVcZnHGCaHoi069+mbmFBFgBItcxj40VkZYV0Oh/Ihid8wlmL7VrwGhC0GASrZF0ncw9U0DTpYY5dGIrPHU5MYSCpoYEy84Hw3p9cAoJKhYgP3dABAsSa0+u284vhAlef5PUx/J7RBbpWorBZj9BbuN6OPVzH0qbDEvs2627U59+OWW4EKMcmpzOMR7MgJiGOmwO62W6iZ1wihO1qx7byB8rX7RgFytLYkgTXGuOoYs3EXc5bPyhIJLnBrot7xCpsmbbDyEt4PP584Rk2wF2lQk29FPmH5RpbwViz8JA== 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=DVnJM30OT+O12OF9PhcBCuq3RILUfBxssqEpSlXzkY8=; b=ogSd9gizHXSy4wB+EEzQuPeTgK3O+V8WRkWP0u9/3mRvGzEdIcBimzBeAI5TyJ8SkXdn7HbEpSQ9NAud/Ttj/35R48IUdZXHcBlCdCufVahnbv8NSVpRvOwj/WZfg4RktWJ5pO6dPeT7rfrH4B04uDY3r84w6FoKJUEvMXotLOrYm0DxUrHDQHM+ILRFnWauDUqWzKyREzdzNuU6+VoAnzTEqQQR5UF7JkplnpK0XgYuxls4aLqVWRAI0aCM5sMUik1yNogSUkubJg/3BHMCGYZfDanfwx/VgMjipVwkDz2XcH4bvcgkqy6n5njdylPfRJMilfVxmRneL3/BXRQvkQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none X-Received: from DM6PR11CA0057.namprd11.prod.outlook.com (2603:10b6:5:14c::34) by DM4PR12MB6349.namprd12.prod.outlook.com (2603:10b6:8:a4::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.26; Mon, 18 Sep 2023 15:47:17 +0000 X-Received: from CY4PEPF0000EE38.namprd03.prod.outlook.com (2603:10b6:5:14c:cafe::2a) by DM6PR11CA0057.outlook.office365.com (2603:10b6:5:14c::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.27 via Frontend Transport; Mon, 18 Sep 2023 15:47:17 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; 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+108799+1787277+3901457@groups.io; helo=mail02.groups.io; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C X-Received: from mail.nvidia.com (216.228.117.160) by CY4PEPF0000EE38.mail.protection.outlook.com (10.167.242.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.20 via Frontend Transport; Mon, 18 Sep 2023 15:47:17 +0000 X-Received: from rnnvmail205.nvidia.com (10.129.68.10) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 18 Sep 2023 08:47:04 -0700 X-Received: from rnnvmail205.nvidia.com (10.129.68.10) by rnnvmail205.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 18 Sep 2023 08:47:03 -0700 X-Received: from 82ca859bd651.nvidia.com (10.127.8.9) by mail.nvidia.com (10.129.68.10) with Microsoft SMTP Server id 15.2.986.41 via Frontend Transport; Mon, 18 Sep 2023 08:47:03 -0700 From: "Jeff Brasen via groups.io" To: CC: , , , , , Jeff Brasen Subject: [edk2-devel] [PATCH v4 1/4] DynamicTablesPkg: Add ThermalZone CodeGen function Date: Mon, 18 Sep 2023 15:46:57 +0000 Message-ID: <851d0aee4d60a0a2a1b8dbe00a77cf53167e11fb.1695049337.git.jbrasen@nvidia.com> In-Reply-To: References: MIME-Version: 1.0 X-NVConfidentiality: public X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE38:EE_|DM4PR12MB6349:EE_ X-MS-Office365-Filtering-Correlation-Id: 3b763913-e366-405c-9327-08dbb85e897a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: t4ASP5fQLipdhbKSYU3/o/EGwAKGa+OkshL3ukv8oLRB1/N1c1KBbNmsTeFPYnpCYcAgGJH+uQwaVqKrrKOJiCFGVJTL26KxywlvSTzWhmBT+TldOcFpYKkj2lHuIWk1ezwY3g2mE6gsKfdFprzGgYM8j5cjRy4ygUIhJW85fRXIzsFIyrhua5h+341Ae3l25LdGom5IynvLfZV6APgdBpT3dMnxKQJr209CrK7pTPT7X3Ew5jfLirTsp3Tmp7q6lwwgN9HUD/GGOSNoLbSfqlisdE8Nvqy0x9N7k24GC9lGWumpOTjkQLs1UOcxCmkpqzRTg9VNRhf/CqQzNfrj9yT3uk/bHJdFnqm5nE/rh5qoKsKWurb0PvB3Wxmcw2qfuLKKdTk/GJn3Jl88OjsMs5LbCpMF+evt7/pA4RIk49VIbQ7xgV9v9Vto3LqqkBiQjavxnwc0El+3/G8GCZTggkau8AyV1DWJePFw3akKjOksSSHW4WzrTxIorGCoQrECakT5FBdl4WbinHmAA3KiF8Xo5tzymur/Dr2WkMj3RYrMU6duj8Tz+wnw8BWgOp1RFp/elOVrsTN22qMxz43AivG9yabkanGYw8HjKVQ9KQW/POMAlHZHaSNjrePtwmVf8nHUwK35Ax1VtxZPZIkZYd3XALnef+jO5dYe5/FGRtiOA1zkiVzJ2N76+tvjO2jh1SrqB21lfy+swx5kqzq7Qm+FtTKLpMV+67zCD/YZa8MsHLkAQoYEbskEHbWNvt4X X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Sep 2023 15:47:17.4911 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3b763913-e366-405c-9327-08dbb85e897a X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EE38.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6349 Precedence: Bulk 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,jbrasen@nvidia.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: xKGvHq2fhsLWIdZgRVUfG8zSx1787277AA= Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1695052042751100003 Content-Type: text/plain; charset="utf-8" Add API to generate a ThermalZone object to AmlLib. Signed-off-by: Jeff Brasen --- .../Include/Library/AmlLib/AmlLib.h | 28 +++++ .../Common/AmlLib/CodeGen/AmlCodeGen.c | 116 ++++++++++++++++++ 2 files changed, 144 insertions(+) diff --git a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h b/DynamicTabl= esPkg/Include/Library/AmlLib/AmlLib.h index 9210c50915..d201ae9499 100644 --- a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h +++ b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h @@ -1038,6 +1038,34 @@ AmlCodeGenDevice ( OUT AML_OBJECT_NODE_HANDLE *NewObjectNode OPTIONAL ); =20 +/** AML code generation for a ThermalZone object node. + + AmlCodeGenThermalZone ("TZ00", ParentNode, NewObjectNode) is + equivalent of the following ASL code: + ThermalZone(TZ00) {} + + @ingroup CodeGenApis + + @param [in] NameString The new ThermalZone's name. + Must be a NULL-terminated ASL NameString + e.g.: "DEV0", "DV15.DEV0", etc. + The input string is copied. + @param [in] ParentNode If provided, set ParentNode as the parent + of the node created. + @param [out] NewObjectNode If success, contains the created node. + + @retval EFI_SUCCESS Success. + @retval EFI_INVALID_PARAMETER Invalid parameter. + @retval EFI_OUT_OF_RESOURCES Failed to allocate memory. +**/ +EFI_STATUS +EFIAPI +AmlCodeGenThermalZone ( + IN CONST CHAR8 *NameString, + IN AML_NODE_HANDLE ParentNode OPTIONAL, + OUT AML_OBJECT_NODE_HANDLE *NewObjectNode OPTIONAL + ); + /** AML code generation for a Scope object node. =20 AmlCodeGenScope ("_SB", ParentNode, NewObjectNode) is diff --git a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c b/= DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c index 0b223379fa..88537b7e2d 100644 --- a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c +++ b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c @@ -1218,6 +1218,122 @@ error_handler1: return Status; } =20 +/** AML code generation for a ThermalZone object node. + + AmlCodeGenThermalZone ("TZ00", ParentNode, NewObjectNode) is + equivalent of the following ASL code: + ThermalZone(TZ00) {} + + @ingroup CodeGenApis + + @param [in] NameString The new ThermalZone's name. + Must be a NULL-terminated ASL NameString + e.g.: "DEV0", "DV15.DEV0", etc. + The input string is copied. + @param [in] ParentNode If provided, set ParentNode as the parent + of the node created. + @param [out] NewObjectNode If success, contains the created node. + + @retval EFI_SUCCESS Success. + @retval EFI_INVALID_PARAMETER Invalid parameter. + @retval EFI_OUT_OF_RESOURCES Failed to allocate memory. +**/ +EFI_STATUS +EFIAPI +AmlCodeGenThermalZone ( + IN CONST CHAR8 *NameString, + IN AML_NODE_HANDLE ParentNode OPTIONAL, + OUT AML_OBJECT_NODE_HANDLE *NewObjectNode OPTIONAL + ) +{ + EFI_STATUS Status; + AML_OBJECT_NODE *ObjectNode; + AML_DATA_NODE *DataNode; + CHAR8 *AmlNameString; + UINT32 AmlNameStringSize; + + if ((NameString =3D=3D NULL) || + ((ParentNode =3D=3D NULL) && (NewObjectNode =3D=3D NULL))) + { + ASSERT (0); + return EFI_INVALID_PARAMETER; + } + + ObjectNode =3D NULL; + DataNode =3D NULL; + AmlNameString =3D NULL; + + Status =3D ConvertAslNameToAmlName (NameString, &AmlNameString); + if (EFI_ERROR (Status)) { + ASSERT (0); + return Status; + } + + Status =3D AmlGetNameStringSize (AmlNameString, &AmlNameStringSize); + if (EFI_ERROR (Status)) { + ASSERT (0); + goto error_handler1; + } + + Status =3D AmlCreateObjectNode ( + AmlGetByteEncodingByOpCode (AML_EXT_OP, AML_EXT_THERMAL_ZONE_= OP), + AmlNameStringSize + AmlComputePkgLengthWidth (AmlNameStringSi= ze), + &ObjectNode + ); + if (EFI_ERROR (Status)) { + ASSERT (0); + goto error_handler1; + } + + Status =3D AmlCreateDataNode ( + EAmlNodeDataTypeNameString, + (UINT8 *)AmlNameString, + AmlNameStringSize, + &DataNode + ); + if (EFI_ERROR (Status)) { + ASSERT (0); + goto error_handler2; + } + + Status =3D AmlSetFixedArgument ( + ObjectNode, + EAmlParseIndexTerm0, + (AML_NODE_HEADER *)DataNode + ); + if (EFI_ERROR (Status)) { + ASSERT (0); + AmlDeleteTree ((AML_NODE_HEADER *)DataNode); + goto error_handler2; + } + + Status =3D LinkNode ( + ObjectNode, + ParentNode, + NewObjectNode + ); + if (EFI_ERROR (Status)) { + ASSERT (0); + goto error_handler2; + } + + // Free AmlNameString before returning as it is copied + // in the call to AmlCreateDataNode(). + goto error_handler1; + +error_handler2: + if (ObjectNode !=3D NULL) { + AmlDeleteTree ((AML_NODE_HEADER *)ObjectNode); + } + +error_handler1: + if (AmlNameString !=3D NULL) { + FreePool (AmlNameString); + } + + return Status; +} + /** AML code generation for a Scope object node. =20 AmlCodeGenScope ("_SB", ParentNode, NewObjectNode) is --=20 2.25.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 (#108799): https://edk2.groups.io/g/devel/message/108799 Mute This Topic: https://groups.io/mt/101436332/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-