From nobody Tue Apr 23 21:22:58 2024 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+69842+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+69842+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 1609949375173791.3819148286336; Wed, 6 Jan 2021 08:09:35 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id EWZlYY1788612xyhtX08UaYY; Wed, 06 Jan 2021 08:09:34 -0800 X-Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.107.94.124]) by mx.groups.io with SMTP id smtpd.web12.10400.1609949369283746981 for ; Wed, 06 Jan 2021 08:09:29 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MSqJHG79XeZE4HV6rP30z8XV8uqSC0oYMz0Agi7wD+yaTerPQQ2midnczLnqj89WcxV3s0d87NUNusUqF0SYbi91qJH7EgurXSHICsNTK517IwypwdqqsiO7wh0vK8v9Me9EfztXKrqhjy4DG2gSVWqhWZ82KQzolAp0a+6iOJF0YhzEbzEr5bmCxAbPdJPAMzl9CxRe/1gIZUxCmU++YefPTO+uuFY+choF4UtcEkK+Gtm8wDWcnCaEBSoWtJTxo9ji27TzqBMeyUDaFoOmho/EI5fSAlHA9iZlMvhc/sAz8s+xf2Wj3phkD/wYbh3SINQ+YpVPEy6RNGYiyv5y0w== 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-SenderADCheck; bh=dLUGKGlrrqGFIk8DiIG8oum+tGPZaOzU6Z31+PY5ZDA=; b=gXYRDAhSrOQG0QFtJMCFcz/QgJqCe1fxubmg3OJA1cz0sKEtV9GMz4jKA1F+04gSa3669FZ3r2gx9QIv4Z/OJqasrlUj1lZj2ytpC8CoHynktXhXGtLQDbdHgI05d23U1z1YZtAkcBkuvkoNHp0bMCW6WuNW2kimTWsk+/2Q0Kw9Js7PUVmFyQL1s88o9NSjcqP5e1rCgzFkMrWa9cKdQZ+eKJTdXr5mLmb50ArQAKKTfswb43RKKI7d75EH3tbC8Ek4zx09P4t4O2++0iMObPXwwB9z3W2aWyUyvp8xiA7pXNQocfg+SBmtVa1E+1vM0xM7Su3IywqMxTm3ANPldg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none X-Received: from DM6PR01MB5849.prod.exchangelabs.com (2603:10b6:5:205::20) by DM5PR01MB2538.prod.exchangelabs.com (2603:10b6:3:3e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Wed, 6 Jan 2021 16:09:28 +0000 X-Received: from DM6PR01MB5849.prod.exchangelabs.com ([fe80::c814:9a08:5c2e:4076]) by DM6PR01MB5849.prod.exchangelabs.com ([fe80::c814:9a08:5c2e:4076%5]) with mapi id 15.20.3721.024; Wed, 6 Jan 2021 16:09:28 +0000 From: "Nhi Pham via groups.io" To: devel@edk2.groups.io Cc: Nhi Pham , Leif Lindholm , Ard Biesheuvel Subject: [edk2-devel] [PATCH v2 1/4] EmbeddedPkg/TimeBaseLib: Update comment blocks for API functions Date: Wed, 6 Jan 2021 23:09:00 +0700 Message-Id: <20210106160903.27679-2-nhi@os.amperecomputing.com> In-Reply-To: <20210106160903.27679-1-nhi@os.amperecomputing.com> References: <20210106160903.27679-1-nhi@os.amperecomputing.com> X-Originating-IP: [118.69.219.201] X-ClientProxiedBy: HK2PR02CA0220.apcprd02.prod.outlook.com (2603:1096:201:20::32) To DM6PR01MB5849.prod.exchangelabs.com (2603:10b6:5:205::20) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-Received: from localhost.localdomain (118.69.219.201) by HK2PR02CA0220.apcprd02.prod.outlook.com (2603:1096:201:20::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Wed, 6 Jan 2021 16:09:26 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bc3dd6a0-21b4-487a-2163-08d8b25d71c9 X-MS-TrafficTypeDiagnostic: DM5PR01MB2538: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3276; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: MtN0Z7sKjpxcexQ2TyUTiuLh9UVJz5qAWdMLEFPemS3RTjdzfvQ78GqLnRT4g965AIWvsPjeBvkPdK2N+8dHqolyuiqGwu1M92kV8VjSoZEHQSDYICzq94WS0dV4rwa3qvFKqbSZZgVa2+Nqcuq7YYLz8MFdm5L0d3RjZ3STJD74ScfA6xyBQASW8RoLGWiXfU9MPdGAffUnsBjRfYuqv8vJWS/rWxIKrP8BWajIfKBJPqQKkqtj97KPypCk6IL4fRt6kJn6scqurSxAzjFcgUtIqL/tqSmR0zt5xSyKTg4la7KGiuMM8/x97QVUulkHtDE/sxuOFrkxCGD+FQQ9h9hqJotXP20q8bU6jroVbXV4RyMo1k5YEf1ybqw7rnexXX4cs+HpLD5auq0paZ0CD6uYRYlvYg4WhHxrUfcOSD2BW05Xx4CUYzXEFfB2Im2eu1u2jgSb8Sx90jrF3MpALA== X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?wdvPajKh+kCJTdEOmUz82ZT7Wpf7KOzE7eTwNTeUpfKMG/a/qtckSSbv5RVS?= =?us-ascii?Q?gh3eeHlTQEbHkqi1D5RbN7LubBDhJ1MouR8BdduvNkJ09bitFbS+VIARfbou?= =?us-ascii?Q?1slyVqpxiHRUWsihK7BC5NfBozLVbzmJDeWWN0au34uBepAM7ra2b54jiYt7?= =?us-ascii?Q?E4gmWbQV1qyaoYWyMej9Kd7uDG6Ct/hZ+qBkLs70UeBzKCoZ1XrbntoPe39e?= =?us-ascii?Q?8s2yOrBiJGIf6anydq1qyE/T5GQJhF8PsQ3rkkdb9F4zb63H8rOp/k28mORH?= =?us-ascii?Q?G0uEN9Y5bnboHVQwpEBoYIiPaXQY2xDWpqxR2A8efju4BPRlIZwUPJgHGgPc?= =?us-ascii?Q?pSvFj92UIGohhBq38/9K5rkThQUoUXalbsBgCU0sAQNnRaxZmMS3oMn+d9zf?= =?us-ascii?Q?IUo/2C6KX02sYbCSZ9pgqwtXnuJX40T6UFiVis5FLt9vokfm5h47qiBuP1p5?= =?us-ascii?Q?z1L7/18fzPWcSga83dH8igsx1lVOPh5HNTSiQ9CvaQpEP9bMqInoyOxoz/ul?= =?us-ascii?Q?Y5tAHAMMEFdXer8mZN7ht2/Komop6neoUpa2UceycVmfGYqgQDYjUKYIDKAm?= =?us-ascii?Q?kfEbjayC1jx0wzg950L1lw3f4ESHJkhY0jFibZ0kD49jCou+x5LoiuGeizrT?= =?us-ascii?Q?pI2H6nGyk/jsTdqKhP89PML2kWqUUx7t9w/twCgbVV4VTb2QNrI320Unl5PC?= =?us-ascii?Q?csWX6XT7FUrkk3IjIA7HLDegRHCI7l8Yro420n0ImRWHl+e+p40bvfQME4h+?= =?us-ascii?Q?rGMFnbAmptqm/ezu2gqrDWztRoF/KNyx9CeoKJnX7QDWPSkufYCoPtTdjMlj?= =?us-ascii?Q?26DIfvMcq0ZF6X+4qCV/Ypx18fafBMKhJfy6fz2t83FcGFVt8H80edAp0KVt?= =?us-ascii?Q?xqC2y+wRTfHQtRgeHEY2HHvTnyBVa0xaeo6XuNekzk3Lz0BEYE5UmI5KW8Bx?= =?us-ascii?Q?xPNBWHzVHBiucyN+bPkkvhTiUOdA30n+imR6lcFY/S7YkPFa3CsNt2rKlG8x?= =?us-ascii?Q?YybO?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-AuthSource: DM6PR01MB5849.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jan 2021 16:09:28.3214 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-Network-Message-Id: bc3dd6a0-21b4-487a-2163-08d8b25d71c9 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ACCoXNacJub2bJj4ok0JaI+Wped0h4v+Z7q5QZ81KdD152p0GmuR4JFyP54BS6JqrR5D6ZZlRxJmjOKrzb5vtRoGcuYndH1uPfBtXZaRfkk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR01MB2538 Precedence: Bulk List-Unsubscribe: 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,nhi@os.amperecomputing.com X-Gm-Message-State: fOkaSST5CQknRzVOEQ3hNioax1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1609949374; bh=KCu89UpHdSFVIusu8l6TiVy4yDDPku6w3DCmz9UkpEo=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=lZSBDz/hw7JZ4G2nNB5tkNuIuCN7Xb/AxolelAPZOdg6fdoWz6keUty7xSzIUv980t6 rqvWReeZtrQ/9Q5Pl8XR8DWNzTNWjr0nmIbbLJnjcl1ozOx4XYGczR2tPvZuaiY+XpyeS Bjw7eBb1ZvqUecitN51q82dz7QICpNHFauI= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This updates Doxygen comment blocks for API library functions. Cc: Leif Lindholm Cc: Ard Biesheuvel Signed-off-by: Nhi Pham Reviewed-by: Leif Lindholm --- EmbeddedPkg/Include/Library/TimeBaseLib.h | 54 +++++++++++++++-- EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.c | 64 +++++++++++++++++--- 2 files changed, 104 insertions(+), 14 deletions(-) diff --git a/EmbeddedPkg/Include/Library/TimeBaseLib.h b/EmbeddedPkg/Includ= e/Library/TimeBaseLib.h index 90853c3f4b93..a9f3c6588b75 100644 --- a/EmbeddedPkg/Include/Library/TimeBaseLib.h +++ b/EmbeddedPkg/Include/Library/TimeBaseLib.h @@ -2,6 +2,7 @@ * * Copyright (c) 2016, Hisilicon Limited. All rights reserved. * Copyright (c) 2016-2019, Linaro Limited. All rights reserved. +* Copyright (c) 2021, Ampere Computing LLC. All rights reserved. * * SPDX-License-Identifier: BSD-2-Clause-Patent * @@ -52,18 +53,45 @@ #define SEC_PER_HOUR ((UINTN) 3600) #define SEC_PER_DAY ((UINTN) 86400) =20 +/** + Check if it is a leap year. + + @param Time The UEFI time to be checked. + + @retval TRUE It is a leap year. + @retval FALSE It is NOT a leap year. + +**/ BOOLEAN EFIAPI IsLeapYear ( IN EFI_TIME *Time ); =20 +/** + Check if the day in the UEFI time is valid. + + @param Time The UEFI time to be checked. + + @retval TRUE Valid. + @retval FALSE Invalid. + +**/ BOOLEAN EFIAPI IsDayValid ( IN EFI_TIME *Time ); =20 +/** + Check if the UEFI time is valid. + + @param Time The UEFI time to be checked. + + @retval TRUE Valid. + @retval FALSE Invalid. + +**/ BOOLEAN EFIAPI IsTimeValid ( @@ -71,8 +99,12 @@ IsTimeValid ( ); =20 /** - Converts Epoch seconds (elapsed since 1970 JANUARY 01, 00:00:00 UTC) to = EFI_TIME - **/ + Converts Epoch seconds (elapsed since 1970 JANUARY 01, 00:00:00 UTC) to = EFI_TIME. + + @param EpochSeconds Epoch seconds. + @param Time The time converted to UEFI format. + +**/ VOID EFIAPI EpochToEfiTime ( @@ -81,8 +113,13 @@ EpochToEfiTime ( ); =20 /** - Converts EFI_TIME to Epoch seconds (elapsed since 1970 JANUARY 01, 00:00= :00 UTC) - **/ + Converts EFI_TIME to Epoch seconds (elapsed since 1970 JANUARY 01, 00:00= :00 UTC). + + @param Time The UEFI time to be converted. + + @return Number of seconds. + +**/ UINTN EFIAPI EfiTimeToEpoch ( @@ -90,8 +127,13 @@ EfiTimeToEpoch ( ); =20 /** - returns Day of the week [0-6] 0=3DSunday - **/ + Get the day of the week from the UEFI time. + + @param Time The UEFI time to be calculated. + + @return The day of the week: Sunday=3D0, Monday=3D1, ... Saturday=3D6 + +**/ UINTN EfiTimeToWday ( IN EFI_TIME *Time diff --git a/EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.c b/EmbeddedPkg/Li= brary/TimeBaseLib/TimeBaseLib.c index 78fc7b6cd2e5..c9048d765960 100644 --- a/EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.c +++ b/EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.c @@ -2,6 +2,7 @@ * * Copyright (c) 2016, Hisilicon Limited. All rights reserved. * Copyright (c) 2016-2019, Linaro Limited. All rights reserved. +* Copyright (c) 2021, Ampere Computing LLC. All rights reserved. * * SPDX-License-Identifier: BSD-2-Clause-Patent * @@ -13,8 +14,12 @@ #include =20 /** - Converts Epoch seconds (elapsed since 1970 JANUARY 01, 00:00:00 UTC) to = EFI_TIME - **/ + Converts Epoch seconds (elapsed since 1970 JANUARY 01, 00:00:00 UTC) to = EFI_TIME. + + @param EpochSeconds Epoch seconds. + @param Time The time converted to UEFI format. + +**/ VOID EFIAPI EpochToEfiTime ( @@ -71,8 +76,13 @@ EpochToEfiTime ( } =20 /** - Calculate Epoch days - **/ + Calculate Epoch days. + + @param Time The UEFI time to be calculated. + + @return Number of days. + +**/ UINTN EFIAPI EfiGetEpochDays ( @@ -96,9 +106,15 @@ EfiGetEpochDays ( =20 return EpochDays; } + /** - Converts EFI_TIME to Epoch seconds (elapsed since 1970 JANUARY 01, 00:00= :00 UTC) - **/ + Converts EFI_TIME to Epoch seconds (elapsed since 1970 JANUARY 01, 00:00= :00 UTC). + + @param Time The UEFI time to be converted. + + @return Number of seconds. + +**/ UINTN EFIAPI EfiTimeToEpoch ( @@ -116,8 +132,13 @@ EfiTimeToEpoch ( } =20 /** - returns Day of the week [0-6] 0=3DSunday - **/ + Get the day of the week from the UEFI time. + + @param Time The UEFI time to be calculated. + + @return The day of the week: Sunday=3D0, Monday=3D1, ... Saturday=3D6 + +**/ UINTN EfiTimeToWday ( IN EFI_TIME *Time @@ -132,6 +153,15 @@ EfiTimeToWday ( return (EpochDays + 4) % 7; } =20 +/** + Check if it is a leap year. + + @param Time The UEFI time to be checked. + + @retval TRUE It is a leap year. + @retval FALSE It is NOT a leap year. + +**/ BOOLEAN EFIAPI IsLeapYear ( @@ -153,6 +183,15 @@ IsLeapYear ( } } =20 +/** + Check if the day in the UEFI time is valid. + + @param Time The UEFI time to be checked. + + @retval TRUE Valid. + @retval FALSE Invalid. + +**/ BOOLEAN EFIAPI IsDayValid ( @@ -171,6 +210,15 @@ IsDayValid ( return TRUE; } =20 +/** + Check if the UEFI time is valid. + + @param Time The UEFI time to be checked. + + @retval TRUE Valid. + @retval FALSE Invalid. + +**/ BOOLEAN EFIAPI IsTimeValid( --=20 2.17.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 (#69842): https://edk2.groups.io/g/devel/message/69842 Mute This Topic: https://groups.io/mt/79477828/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- From nobody Tue Apr 23 21:22:58 2024 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+69843+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+69843+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 1609949377552149.4767480638252; Wed, 6 Jan 2021 08:09:37 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id YArFYY1788612xWtsXy6WWO9; Wed, 06 Jan 2021 08:09:36 -0800 X-Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.107.94.127]) by mx.groups.io with SMTP id smtpd.web12.10401.1609949371333346636 for ; Wed, 06 Jan 2021 08:09:31 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=edZ1Xpn+RWKKcmDiIjAeywfRnCe7g3eRP+3uIbVwxSpPb1pJcK+L5P7dVxroIp34tGUWtj9ceSzcet5BFlmCorFI7LhJRZYsVZn13tV4dnvICVIb+XBVmiQASV/Yf0dMEpEUxf39IVNqhRgbtDtJ1C5WgQ9MpzmmUKmgtKqg77vurRfnIw8qYZXzSG8V1MbVbswkQKn1bGIIX/wsA8AxSqju5fTXvtWf6p20ni6oVleNv6h8/17ZY3wzCN6/UYNLxBNkr0NnLJHYWoAQS10+J3GjcR7bFboqEOQkcIvdwtsl2QwpJuCRLuiIEGue/HgiZYYgDxQFEfnfBM3ALHj5wg== 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-SenderADCheck; bh=qUNQQe6xp3qIuyCoPbP3ZsrsfOodJ+ucRw87X3qhwu4=; b=jyDWYJloEEitOOzlljYJz6izWJANGCSWwpq+RYJ9PMD2KWJDKDZ78Tw6I6WgG/gJiKs03NxDf3B+jIgaD3cPMWUUkGsX8v347f4WbboqMYVUTnbvJCAIrqRbtjamBAeSveXT4f88yaOGJqlD+JQ5c5UghKR19qfdTJEz7j7WElPTXqPTwPhR3UMBAIg50DEWPHcPoNC/6uM25w+BM+oBuz9dv62QeGRXOFPSvGjMkRvlFz6HlBkmoH35AjcCItHf35IrVQ3T10HvBr08RKpwHj5N3S/QGsiutMWtDYLOK6BMc837Cj18y5Qxk2ICfDhHGtdkme6r1GzoOyJeLDZOEg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none X-Received: from DM6PR01MB5849.prod.exchangelabs.com (2603:10b6:5:205::20) by DM5PR01MB2538.prod.exchangelabs.com (2603:10b6:3:3e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Wed, 6 Jan 2021 16:09:30 +0000 X-Received: from DM6PR01MB5849.prod.exchangelabs.com ([fe80::c814:9a08:5c2e:4076]) by DM6PR01MB5849.prod.exchangelabs.com ([fe80::c814:9a08:5c2e:4076%5]) with mapi id 15.20.3721.024; Wed, 6 Jan 2021 16:09:30 +0000 From: "Nhi Pham via groups.io" To: devel@edk2.groups.io Cc: Nhi Pham , Leif Lindholm , Ard Biesheuvel Subject: [edk2-devel] [PATCH v2 2/4] EmbeddedPkg/TimeBaseLib: Fix for minor code formatting Date: Wed, 6 Jan 2021 23:09:01 +0700 Message-Id: <20210106160903.27679-3-nhi@os.amperecomputing.com> In-Reply-To: <20210106160903.27679-1-nhi@os.amperecomputing.com> References: <20210106160903.27679-1-nhi@os.amperecomputing.com> X-Originating-IP: [118.69.219.201] X-ClientProxiedBy: HK2PR02CA0220.apcprd02.prod.outlook.com (2603:1096:201:20::32) To DM6PR01MB5849.prod.exchangelabs.com (2603:10b6:5:205::20) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-Received: from localhost.localdomain (118.69.219.201) by HK2PR02CA0220.apcprd02.prod.outlook.com (2603:1096:201:20::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Wed, 6 Jan 2021 16:09:28 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 00eb1170-588e-4767-bc52-08d8b25d7303 X-MS-TrafficTypeDiagnostic: DM5PR01MB2538: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3383; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: 7oLY7rzrbYk/R63anR4BP5lwKpnSYzE4M3A4bz4uvHfqwK9xYczPBrM/jCZGHVmlhAHrviZjkQE7Au2aXSA/qqERZ+zfsMOKVoAqiWZxznOHVL4ng0gsb5EnGpCY48OIovyrbAorJ61UzPIwnSR6Objau0SnihJoUQggI+VSwo9/rlRaMtDZntdAckqsKUb5nlCrJG6PvPOpS6wSAoVa/1ljfCqV2zwQreCBCofhEMj/BEJXr9IVENu1YI/+TDIGGPrSp8/w0tBGIKBr24ecfBc0I0DKXUvrQ2MsvccBjGnz7QQ7kc3kNgTfbDVX1zAvm/ME2QThjOss9mq4X4mbjINm8mCa3jl3O+rXZkdKZ8nOO5or9raY4E/vFZM4DmOawJppgfUo9lbNfDR32GDTFvOoZf1h3WdhkKoSoY69bKuwhHAj8pDkk2rKltNvpyzBEff75Ulkh1vCjE1eI8iRww== X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?O4i+4uG+ehR7DweTm+6h5Otd+lEuRUUxWb2amvrWRzD/SEzvkcuSngeHENl2?= =?us-ascii?Q?7GS32rk2Rji1NFrjmwjiQd36gzXMIGL4gXOC/bb5e7E6DI/H5LfE/D6BWprE?= =?us-ascii?Q?sCa3PWD3VltGPfAWJsx+k1L9gC5kEBXmqXx0+YtrtarQxI9lzdyWwXMjJDAg?= =?us-ascii?Q?10aukC5YzE2eRMCWYCd75ppyPDq3AvwLaFMWtBTuHo7t0m76bK++baFZa8Ub?= =?us-ascii?Q?CDQ3VofG2yGkLJVldnwI7hs1JZkkE50O2Z7vdYY1lj6XrH33Grs2aBRXrthH?= =?us-ascii?Q?q+iH0kOhY2hlRfOHb0Ly91VbACJEmrgYVj4uhtbkUuP/X0drHRbf7SRyrUVI?= =?us-ascii?Q?438fNRU9d1BtMAcU2g1hLeC+Cl2jlqK64Bw3KwG15xF8saHSrE+Er7z8rjq+?= =?us-ascii?Q?WbFpbzsFfuklV5n84SIjEbBHhxw6ErHqkUlwquOiRZOyeI3LxpqR8elCjofN?= =?us-ascii?Q?DUSl8G78mUgVF4r8/zK4rV5DXoBGAtnxTTn2vvJBlNX5vhkWza57lp9Qqq3K?= =?us-ascii?Q?Fm5/eiTJFeqRG2wSmXmNYBW+3gtlRGJ4rucO8tBS4zdjsci1/X9KbzBKEowO?= =?us-ascii?Q?uF81E3gYYy7CWscRmIIVsSndzN21JMK8v8cXpQ7h7uGtrdXGTBhqUKKFSYA7?= =?us-ascii?Q?ff+/sn7KroP031QxMPS97oDvfdQ6hQ8g9jkWDrIOHiCu4aRaL1UI7vHVoeVJ?= =?us-ascii?Q?xi4KkgTL32yBOs2cYPRQ5zxrcTfahtHpzWFjBabsS2sr2ZOXA+xQFRYI6JMD?= =?us-ascii?Q?JzvrS2bb51xSW0a64QXtg9vXLfDDc/fJpIbQhkCPHNyHlU+NSSSTts584ByT?= =?us-ascii?Q?SLMsbn33CDDxYDuXR4Bws/0EiINST5nu6jF0pSWpM1jVVU5xQuoCqDNFDVRr?= =?us-ascii?Q?OrM9Qvd3+7KPgBxg4AZEz7/+71d2meNuinQrm6Dzr769VYXyn7yKUGP9USjZ?= =?us-ascii?Q?vjxRCIRd+1a0EZeXWEoVblNArVgr4ybNFbxtGNWKXDkwb5Q5K1v1FvvP4OpB?= =?us-ascii?Q?vO6F?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-AuthSource: DM6PR01MB5849.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jan 2021 16:09:30.3093 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-Network-Message-Id: 00eb1170-588e-4767-bc52-08d8b25d7303 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: D/fTBjVIBlT5oSwaa/7F3Pmje+viRATvSLN6mHDSBIh2ddmNXBkPn8jiLQASEVo0L7l9NKDcA/udEPZ2KFgFqgIb57n4iOBkxfkaLYfTZe0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR01MB2538 Precedence: Bulk List-Unsubscribe: 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,nhi@os.amperecomputing.com X-Gm-Message-State: 1rAIuYiTx9oJZUM5Isq1eLZVx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1609949376; bh=LgmtIFyI4A0C/j3hah6csLt4tHXkWZD3w8zrVmaGPtE=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=TiG1T6BFpSaW4iyoZr8XK3w1Bpjkg2pGB+V21Z9QUZfCr7V9n6rHacUjZUIoQnA4YLZ kS+Utgn7oVf1dgPZ6wxk59z0kTudzbqaGhqKmwjMgFRHDojDzlWLpYcxdpd4iCfuzwJWp O0ZhvTVggkE2xwfo3IvcTRhalbgMjpHpbjI= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" There is no functional modification in this change. Cc: Leif Lindholm Cc: Ard Biesheuvel Signed-off-by: Nhi Pham Reviewed-by: Leif Lindholm --- EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.c | 23 ++++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.c b/EmbeddedPkg/Li= brary/TimeBaseLib/TimeBaseLib.c index c9048d765960..17466c1e6c67 100644 --- a/EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.c +++ b/EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.c @@ -221,23 +221,22 @@ IsDayValid ( **/ BOOLEAN EFIAPI -IsTimeValid( +IsTimeValid ( IN EFI_TIME *Time ) { // Check the input parameters are within the range specified by UEFI - if ((Time->Year < 2000) || - (Time->Year > 2099) || - (Time->Month < 1 ) || - (Time->Month > 12 ) || - (!IsDayValid (Time) ) || - (Time->Hour > 23 ) || - (Time->Minute > 59 ) || - (Time->Second > 59 ) || - (Time->Nanosecond > 999999999) || + if ((Time->Year < 2000) || + (Time->Year > 2099) || + (Time->Month < 1 ) || + (Time->Month > 12 ) || + (!IsDayValid (Time) ) || + (Time->Hour > 23 ) || + (Time->Minute > 59 ) || + (Time->Second > 59 ) || + (Time->Nanosecond > 999999999) || (!((Time->TimeZone =3D=3D EFI_UNSPECIFIED_TIMEZONE) || ((Time->TimeZo= ne >=3D -1440) && (Time->TimeZone <=3D 1440)))) || - (Time->Daylight & (~(EFI_TIME_ADJUST_DAYLIGHT | EFI_TIME_IN_DAYLIGHT)= )) - ) { + (Time->Daylight & (~(EFI_TIME_ADJUST_DAYLIGHT | EFI_TIME_IN_DAYLIGHT)= ))) { return FALSE; } =20 --=20 2.17.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 (#69843): https://edk2.groups.io/g/devel/message/69843 Mute This Topic: https://groups.io/mt/79477830/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- From nobody Tue Apr 23 21:22:58 2024 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+69844+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+69844+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 1609949381181264.94793815860237; Wed, 6 Jan 2021 08:09:41 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id OGIcYY1788612xaSLlPNqHbZ; Wed, 06 Jan 2021 08:09:40 -0800 X-Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.107.94.102]) by mx.groups.io with SMTP id smtpd.web08.10245.1609949375406160676 for ; Wed, 06 Jan 2021 08:09:35 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CiVHktyYenWH5yu2yeUcUOgFj8IrK9JWr4I2NNrLFlcvGOUXO0/ALSn9Uq0AEylneSwJ5SHTOLyDWU4dVuakwYmk43VJeer2n2DQUd8PUqERXhvzshX75+xZlNIpX8CJB01vDeQIwVX4xFW/RXAxV3zQCs+PTdKOeJvqSNjQ5x+wI7T3gKVghYim8ooKq4ZOl/MC2je8cNvFCLYrCiIosgqWm59evJqGPHNUStDVcGFkEbP9LqDieL9SkSygVhQsf/+kjx0sUWeMkRgkcao0iGisz0ts/PWMq7Cr8eQq9sJL5bKwzdyeDr0JMOv1GexCD+R2mEzGpQzt5R8WZLoP+A== 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-SenderADCheck; bh=0y3kP55xt2Cs+xZG4IAgcXCkbDu2emI5ru1An71Vsqs=; b=T4UjS88zNfnmmCD54jsTTpDCqdVHE4ClpiJx3AKakp3g1Ky0JnMKBm3DPI5uhhs2KeSQLVntD0MGfYf4SvqWt2bZlPnHkJ+CDAPLwwvc5bQa2Ii8do2IEa0aDy/83s5bwPovzm9w1VbexLMsmmfrRHz5/MZLuTlC2ML5UkTcVN+vIotyfF6x6xT3UGJsFjZlCjQq7FEncQYjk01ezHIejijZIkMwc+jvAlQN6thBN2Pmq9S8VlyRjp5VIWiyHK9R+UGlPukOLgQq4Kq1CElJFR1PlLwxYjskBd5x0+qdePdbR66JiD9eFgIf/w/J+WuQXDE1JfUuy21vHXOZwObXeA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none X-Received: from DM6PR01MB5849.prod.exchangelabs.com (2603:10b6:5:205::20) by DM5PR01MB2538.prod.exchangelabs.com (2603:10b6:3:3e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Wed, 6 Jan 2021 16:09:34 +0000 X-Received: from DM6PR01MB5849.prod.exchangelabs.com ([fe80::c814:9a08:5c2e:4076]) by DM6PR01MB5849.prod.exchangelabs.com ([fe80::c814:9a08:5c2e:4076%5]) with mapi id 15.20.3721.024; Wed, 6 Jan 2021 16:09:32 +0000 From: "Nhi Pham via groups.io" To: devel@edk2.groups.io Cc: Nhi Pham , Leif Lindholm , Ard Biesheuvel Subject: [edk2-devel] [PATCH v2 3/4] EmbeddedPkg/TimeBaseLib: Add function to check Timezone and Daylight Date: Wed, 6 Jan 2021 23:09:02 +0700 Message-Id: <20210106160903.27679-4-nhi@os.amperecomputing.com> In-Reply-To: <20210106160903.27679-1-nhi@os.amperecomputing.com> References: <20210106160903.27679-1-nhi@os.amperecomputing.com> X-Originating-IP: [118.69.219.201] X-ClientProxiedBy: HK2PR02CA0220.apcprd02.prod.outlook.com (2603:1096:201:20::32) To DM6PR01MB5849.prod.exchangelabs.com (2603:10b6:5:205::20) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-Received: from localhost.localdomain (118.69.219.201) by HK2PR02CA0220.apcprd02.prod.outlook.com (2603:1096:201:20::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Wed, 6 Jan 2021 16:09:30 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b8a84ab6-8f0f-43f1-6801-08d8b25d740b X-MS-TrafficTypeDiagnostic: DM5PR01MB2538: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: 3QWjxDTgDJVzXIcQq+pFR0/z3SmP0v27YrJnxJ5bt2rAx+lGQib6bjM6t6f8cslYe6lVoqWVq4DqMEeqi5pMrN5WKAj3QdxDguG2vKMpUEcdUuZnmqhx/tNZS3XBiMOC3TstD5k80HR1l7Y5u73TsiiHiakNXBemYHbxKcpgkVExyAxLCJsPn0rLc87+JPmopECTy4bv1DtxT/jRmL3R5F8/IlhnGaimUiuXIeaRE9s0jLghWfMFAPfDtUHD6AN8mnTmrQhGKFDJFXd+ybps38M8IdtxrvnPBmQFKbSgQCGwXQbRMl2t556qkOI2bZVDG+5sWhskLbnwFfX6WUhG0CVOuiE5t06bI5ATOTWXj66BTFtUQG9VkR+CejqPpsTsD2nBsk3GjcqV2SfCw1SFP/hfV5q0RR8mwprIfu7YFOKTA8o5SAvNa6WcDB2j5dw1cjfuKjLUj3Xd/DvXdSUDDA== X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?+By5BjAS3rL4/Tj1mhta97VjpHt2jTxc1+JMH8XolQknEFBtxobDP7ai5dpK?= =?us-ascii?Q?+XOranagzyjKFeVtzOi7i8XUihUSbz2aonBsA0OrTQERAw7szOgIrmhcX766?= =?us-ascii?Q?rXJ2PxqEw5DAKeOl1o+c1LKCoKDh4WOZr5sPRHtJwK5zcZxCHN8Az6qyez/s?= =?us-ascii?Q?r5Rff3+zw19VqWirctlaUhkBmb6eTLGGQNqO0piRlOwWTXal7FtEm9PVnM4V?= =?us-ascii?Q?CrYt6mn/itgv4d9p8/ByxYEQBWTyf0apUK05K/fDTnFaPFUw73Mj1X1mwvl+?= =?us-ascii?Q?+irgMxhT8YBARTg1m+TkKbM5X4lgJVAponY029Mm2R6SkYeEptuCH0T5Dck0?= =?us-ascii?Q?MgT8IW9OqEJiZ7Y9g8+O5mBZrdANfluIytC0n/s5IdjHcPMl4gtDd5tZwcbW?= =?us-ascii?Q?p03L8WxZaFM2wrojb2R1W2TraBeJ8eArFkaWFsREm/8ZJVlSlI0FjObUwPto?= =?us-ascii?Q?jCUuP4gC9W3qmDLoPO6Ipcy/Osty03Vvcetcqbx/LuTt0Tr9IgrJGbb8XUBF?= =?us-ascii?Q?65TTR6QzoQyfjALeVzGRJSdIKIWpnPiBtjqKs/1HGaycXaMFPIQRwpuD45mh?= =?us-ascii?Q?jItbziLkuxGWNh8vA2T1Ycg6xMTDfgq8/4apfQoWq6EFz39O2AzpMq9R4Aw3?= =?us-ascii?Q?kxmypiaHzNftOv2YKiO1RWfYWfN0lXfFaSNd5WA2p4so3s5CHDtwOcs9YnCR?= =?us-ascii?Q?1cAEExIcS8MFH5k5/gKcY3U5TNKYtJhAUN/SrfeACMCuQUYOxPFPEOfMpoxg?= =?us-ascii?Q?7RqfazicyVFG4ctZp9ObR8yBtrZVuKJpHEsg0adfO7GSeE/zjB0iDnulbTog?= =?us-ascii?Q?vZaiD7Fq+VHlLkg8zyddg9dpeCfM68eP+PgN2RyqwJdF5cr9VrQAknfsHcx0?= =?us-ascii?Q?yRvpHZZwGrg9lq7AZafjOl592SW49+53jiXYQB6BMkN6RAWDS/vOXNbWgPNm?= =?us-ascii?Q?jkPj76Rjxwen6n2UcMMmctYcdqBw0LKBtHU05qsnrMJCT1/75t00akiAuKsg?= =?us-ascii?Q?C4Ry?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-AuthSource: DM6PR01MB5849.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jan 2021 16:09:32.0762 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-Network-Message-Id: b8a84ab6-8f0f-43f1-6801-08d8b25d740b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ZoLVYUlX3UQw4rE8RvZOGOTusNHch6Xqow8Lt9zSWcpg9zKykX988NqIjuB2JJH+1Q036Z+Vmw1f+hyLDd20DYoQrXCy9oF6NMdL169e9Dg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR01MB2538 Precedence: Bulk List-Unsubscribe: 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,nhi@os.amperecomputing.com X-Gm-Message-State: I9UrJ9OmJrFIccONz3KWTs9Tx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1609949380; bh=zGOr3uDYQZ3UhUoKOXOOVsyFu9u9gtygruIdMLFLF1o=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=WAfv5xfqDhlPYecS4nAH8Q9wK55X6p2LSsp4Gwo8vyPPwzoFmuqu4lgaUgdvB2q4byx KRXKvutumLt2wNjmIrAOMF9hLXGS54G+VER60OTzOxPvyCMUUPJ7sxumlhI6okjGNm6DR SSFaSCwXoDj+uXK0V66xNJibsHWkUwgWaac= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This adds two functions IsValidTimeZone() and IsValidDaylight() to check the time zone and daylight value from EFI time. These functions are retrieved from the RealTimeClockRuntimeDxe module as they reduce duplicated code in RTC modules. Cc: Leif Lindholm Cc: Ard Biesheuvel Signed-off-by: Nhi Pham Reviewed-by: Leif Lindholm --- EmbeddedPkg/Include/Library/TimeBaseLib.h | 36 ++++++++++++++ EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.c | 49 +++++++++++++++++++- 2 files changed, 83 insertions(+), 2 deletions(-) diff --git a/EmbeddedPkg/Include/Library/TimeBaseLib.h b/EmbeddedPkg/Includ= e/Library/TimeBaseLib.h index a9f3c6588b75..10700d1a649a 100644 --- a/EmbeddedPkg/Include/Library/TimeBaseLib.h +++ b/EmbeddedPkg/Include/Library/TimeBaseLib.h @@ -83,6 +83,42 @@ IsDayValid ( IN EFI_TIME *Time ); =20 +/** + Check if the time zone is valid. + Valid values are between -1440 and 1440 or 2047 (EFI_UNSPECIFIED_TIMEZON= E). + + @param TimeZone The time zone to be checked. + + @retval TRUE Valid. + @retval FALSE Invalid. + +**/ +BOOLEAN +EFIAPI +IsValidTimeZone ( + IN INT16 TimeZone + ); + +/** + Check if the daylight is valid. + Valid values are: + 0 : Time is not affected. + 1 : Time is affected, and has not been adjusted for daylight savings. + 3 : Time is affected, and has been adjusted for daylight savings. + All other values are invalid. + + @param Daylight The daylight to be checked. + + @retval TRUE Valid. + @retval FALSE Invalid. + +**/ +BOOLEAN +EFIAPI +IsValidDaylight ( + IN INT8 Daylight + ); + /** Check if the UEFI time is valid. =20 diff --git a/EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.c b/EmbeddedPkg/Li= brary/TimeBaseLib/TimeBaseLib.c index 17466c1e6c67..210d0b2bf17d 100644 --- a/EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.c +++ b/EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.c @@ -210,6 +210,51 @@ IsDayValid ( return TRUE; } =20 +/** + Check if the time zone is valid. + Valid values are between -1440 and 1440 or 2047 (EFI_UNSPECIFIED_TIMEZON= E). + + @param TimeZone The time zone to be checked. + + @retval TRUE Valid. + @retval FALSE Invalid. + +**/ +BOOLEAN +EFIAPI +IsValidTimeZone ( + IN INT16 TimeZone + ) +{ + return TimeZone =3D=3D EFI_UNSPECIFIED_TIMEZONE || + (TimeZone >=3D -1440 && TimeZone <=3D 1440); +} + +/** + Check if the daylight is valid. + Valid values are: + 0 : Time is not affected. + 1 : Time is affected, and has not been adjusted for daylight savings. + 3 : Time is affected, and has been adjusted for daylight savings. + All other values are invalid. + + @param Daylight The daylight to be checked. + + @retval TRUE Valid. + @retval FALSE Invalid. + +**/ +BOOLEAN +EFIAPI +IsValidDaylight ( + IN INT8 Daylight + ) +{ + return Daylight =3D=3D 0 || + Daylight =3D=3D EFI_TIME_ADJUST_DAYLIGHT || + Daylight =3D=3D (EFI_TIME_ADJUST_DAYLIGHT | EFI_TIME_IN_DAYLIGHT); +} + /** Check if the UEFI time is valid. =20 @@ -235,8 +280,8 @@ IsTimeValid ( (Time->Minute > 59 ) || (Time->Second > 59 ) || (Time->Nanosecond > 999999999) || - (!((Time->TimeZone =3D=3D EFI_UNSPECIFIED_TIMEZONE) || ((Time->TimeZo= ne >=3D -1440) && (Time->TimeZone <=3D 1440)))) || - (Time->Daylight & (~(EFI_TIME_ADJUST_DAYLIGHT | EFI_TIME_IN_DAYLIGHT)= ))) { + (!IsValidTimeZone(Time->TimeZone)) || + (!IsValidDaylight(Time->Daylight))) { return FALSE; } =20 --=20 2.17.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 (#69844): https://edk2.groups.io/g/devel/message/69844 Mute This Topic: https://groups.io/mt/79477831/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- From nobody Tue Apr 23 21:22:58 2024 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+69845+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+69845+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 1609949376685857.6191278701126; Wed, 6 Jan 2021 08:09:36 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id KUySYY1788612xfw8g9PbFBa; Wed, 06 Jan 2021 08:09:36 -0800 X-Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com []) by mx.groups.io with SMTP id smtpd.web08.10245.1609949375406160676 for ; Wed, 06 Jan 2021 08:09:35 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IKD4NM2YIS8Azg08uWKaTgXISynOfVxI8zrzg7LKOqD59kIrtCFdpKBzTnXd7soeUJalnmpSKtT3XdcpgamNz3JywXq4LSLEmev+9V/qPpwWPWJx5ayiZ9czAHQm4V6t+ib6I2n9nFk5rCvruBwfQ5hpACWZpDCi6MxJ/Zbz4vRANpHmLf//bGacc4DpHsfyHrbFbAMyMqtAzloJQ5Q551JuIMbWZPfTWMId9wowU0CrAfsAqXNAlvZdRLquDo/WaqPaFxYKDU/ZwmESkUlKH88XoYy7hklxyL8Dbv7+0N0BurxI7q4U8SeoY6PyKU21b9quHlBrYfNhKqw8yL9Qkw== 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-SenderADCheck; bh=ov1HRFNYC5dmRz4htLvatG0J0FLWmX2Q4zfNW8O9lOU=; b=QhKf3NqxTPLU0pehuLpoz0omkNtr2BulBO7gPMcVKCrwaJb7vQjxO24cbXvJZiUSlwD3w9LO1HFOL1QzxlUk+AJJEGU+G30ueF/Mro3YTcDz89Ft85Ke//BqHRVTsUCbS3aGHU0P5LtJIEdX7/90k+2eeq8OTEDXygKT+oDATvhKlu7o6yCOHM32+IwhSGs+r7lIlir7sW3hVWpgSLewq9pQbb2d+aenDGIW2jPW+WmUr8GcXXM1KtTmEVtpYFVVrCjTzLyGYu1w+vxzqvUtvknKSf5TKnJVHKi/zy3xoCCkjcPrjIPpv5d2Cr0/rWL5Yga+/UtTUJWXLv2GrF0dAQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none X-Received: from DM6PR01MB5849.prod.exchangelabs.com (2603:10b6:5:205::20) by DM5PR01MB2538.prod.exchangelabs.com (2603:10b6:3:3e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Wed, 6 Jan 2021 16:09:34 +0000 X-Received: from DM6PR01MB5849.prod.exchangelabs.com ([fe80::c814:9a08:5c2e:4076]) by DM6PR01MB5849.prod.exchangelabs.com ([fe80::c814:9a08:5c2e:4076%5]) with mapi id 15.20.3721.024; Wed, 6 Jan 2021 16:09:34 +0000 From: "Nhi Pham via groups.io" To: devel@edk2.groups.io Cc: Nhi Pham , Leif Lindholm , Ard Biesheuvel Subject: [edk2-devel] [PATCH v2 4/4] EmbeddedPkg/RealTimeClockRuntimeDxe: Use helper functions from TimeBaseLib Date: Wed, 6 Jan 2021 23:09:03 +0700 Message-Id: <20210106160903.27679-5-nhi@os.amperecomputing.com> In-Reply-To: <20210106160903.27679-1-nhi@os.amperecomputing.com> References: <20210106160903.27679-1-nhi@os.amperecomputing.com> X-Originating-IP: [118.69.219.201] X-ClientProxiedBy: HK2PR02CA0220.apcprd02.prod.outlook.com (2603:1096:201:20::32) To DM6PR01MB5849.prod.exchangelabs.com (2603:10b6:5:205::20) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-Received: from localhost.localdomain (118.69.219.201) by HK2PR02CA0220.apcprd02.prod.outlook.com (2603:1096:201:20::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6 via Frontend Transport; Wed, 6 Jan 2021 16:09:32 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7da13fd3-7af6-42a7-4186-08d8b25d75a4 X-MS-TrafficTypeDiagnostic: DM5PR01MB2538: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3276; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: z6XJHZ+7gfPvEEjkooSYM7UM3DEW2OXrWrb037UBYvqUsUWLkpYOyF4j7z7eWB7DVUdA5tOpBMGb4VAghCtcQziHeUw6orz+dr2D1arn0VNcg9vto0bzusDVlgAtoohC4wzt4yexiNFgmAhnhIkArWcgUpA7wxoMVUbDJ/SaGFK6iqz/75I/eIk+yGO+pRqyAM6Xc9mll079rccQTSlZEK/mFGmaf44XSAWsfylyPdmYr0pS5NVNvMCydkpmm5g+lu3YK56FIsO8MVf0Gmr3aIPqsOYqplYZdd4LoSZw2LWtQh9y5p9siSMpgTpu4efS7nrn7Sn/OmNZTowPp8oPaeDaSrG5Qe+WxUOTqy66nJD/F+VB+jukM3okUAmzkQNSrP3PytVbErWH0shaIbH8nkeBB7WBPT9s7kbwUV+TOyhBQItlqif8Op/U8aD2P+k19xYdZAwyxCJ1/oP1yX0cyroIZnCcHNT/gHicKRNR0x0= X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?k9q4U5X/0bpjLNOszN4fCmye3tY9baJicQXDqohueO8fzcp1un2jVbDJnv50?= =?us-ascii?Q?VcvcmGAYkSHA7bAVKweosdoiQIZOz08fdojus8nk6zuhizSgCr/njHWJOVna?= =?us-ascii?Q?hLW1sC31sGOvmtHE/CIrdD+JV3cyLwkwbpkRxfC+5n53FUmN34/5u0ziLqls?= =?us-ascii?Q?AB2yWWqra7wfduzKjW+yMVW9Rd6nOhkwFWB92FICF/oqAFuGpbRAMA2xTW9v?= =?us-ascii?Q?DwCX6ZTDDUW3YSsiStKlb0EQBWiWaRAd/xtEJezFzHHJnKyM61iKEiCGRucx?= =?us-ascii?Q?zIVjw+pcwYAzeGv+xGyApTVpi7qaovkliqS4fsWHJFvdDz8NI4SghSyxDxK0?= =?us-ascii?Q?wrNx3HZoy3tTmNoP1lKncY2JKJQ/R39v2ehL42BAJeFG3PCbmcWvH+U5mvLH?= =?us-ascii?Q?5qBRgU2H5M14dNgpZLF5IKmRfdiTzcOsyyRmrrIntCuQahMdCPFhxyxWDUZJ?= =?us-ascii?Q?P5hBZ6vrLgQw/g/IN6+/WqXRiTUf+vKJvlDVFYxtnTcnl3mEIl6/kJOyJP9n?= =?us-ascii?Q?Y6X6VoTsQqMFCSCLURknqc4Nh1a1P8F+ETi16FzKB01KVpH7ztkZq3xsnx23?= =?us-ascii?Q?Hubw9hKHMyF2067paxHX8uQtCGvtv0YP/0IVw0HUcM7hsLYM3b4abThZfgSB?= =?us-ascii?Q?T2Rau13S3INQBMJz10f/hRwMNeXlkq4EUlcrplDbKAXmuiRsubCRvugfVblf?= =?us-ascii?Q?Xaxhek2tkF3WZP3M3y9RFeBjvbWwA91AI5+Xf15eb84doM+GS8tnaOoazJ2j?= =?us-ascii?Q?jXL+26tmFBCZ0D43bFumJCiKo7tyiqvQ8TVLNq123qdtBU7xdDMwkewM1jJl?= =?us-ascii?Q?35RZczs4YM7gG8WdpSnyUe61GRA8N6QS/L7b/YhOHLOhKtBjQ9cqMOC/xLl/?= =?us-ascii?Q?wfahjQTWH5j4CZB5raKVD9ezSMVHbDXwufU82q4OJ3EqgJnwgnQkhYl9vH3P?= =?us-ascii?Q?JvAWyXYNZ5boPQQa4gJEtH2Z7aKzU0/FIgZsg2Izhf7AU2PL1rlQx3xqn2bB?= =?us-ascii?Q?Xn3q?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-AuthSource: DM6PR01MB5849.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jan 2021 16:09:33.8142 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-Network-Message-Id: 7da13fd3-7af6-42a7-4186-08d8b25d75a4 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: EfUFAsxZYkAU8vsp/RenOPQVSwIEpjNhGztsGS+ZA0/Ppk9jJlZ80eFp4XQl1wZTpXsfNkNGfqSenqyEbYrbjzsK+yichH7OOxAGx/vO4RI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR01MB2538 Precedence: Bulk List-Unsubscribe: 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,nhi@os.amperecomputing.com X-Gm-Message-State: jNJi4X75dc7gfVwkuAALVWuRx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1609949376; bh=9toaBTk9TvIjooTIYzIJAg73irwb2GB7FgT8XIozGWY=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=cTLScvDzqTr6KDo3KeMFqUPFcQCHmSHrUZSoSO3Cr6hlxuMnooS38Y2X7LuDTSJ24n5 9yoAOuFBbLkC06cLifYKy41gd5lAac72R9581BvjYVhQJWJmp5fUKo59gGVpaUFxOnrYx f+P5wh0pIKdALQGNy+ZScBd7mE+LTpN9WNs= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This patch replaces all time checking functions and leverage the helper functions in TimeBaseLib library. Cc: Leif Lindholm Cc: Ard Biesheuvel Signed-off-by: Nhi Pham Reviewed-by: Leif Lindholm --- EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf | 2 + EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClock.c | 88 +----= --------------- 2 files changed, 4 insertions(+), 86 deletions(-) diff --git a/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.in= f b/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf index c9cd052adef4..fec53c79d335 100644 --- a/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf +++ b/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf @@ -3,6 +3,7 @@ # # Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.
# Copyright (c) 2017, Linaro, Ltd. All rights reserved.
+# Copyright (c) 2021, Ampere Computing LLC. All rights reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -28,6 +29,7 @@ [Packages] [LibraryClasses] DebugLib RealTimeClockLib + TimeBaseLib UefiBootServicesTableLib UefiDriverEntryPoint UefiRuntimeLib diff --git a/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClock.c b/Embedded= Pkg/RealTimeClockRuntimeDxe/RealTimeClock.c index 20f1fa640ecc..e59036badc91 100644 --- a/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClock.c +++ b/EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClock.c @@ -3,6 +3,7 @@ =20 Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
Copyright (c) 2017, Linaro, Ltd. All rights reserved.
+ Copyright (c) 2021, Ampere Computing LLC. All rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -11,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -31,92 +33,6 @@ typedef struct { STATIC CONST CHAR16 mTimeSettingsVariableName[] =3D L"RtcTimeSettings"; STATIC NON_VOLATILE_TIME_SETTINGS mTimeSettings; =20 -STATIC -BOOLEAN -IsValidTimeZone ( - IN INT16 TimeZone - ) -{ - return TimeZone =3D=3D EFI_UNSPECIFIED_TIMEZONE || - (TimeZone >=3D -1440 && TimeZone <=3D 1440); -} - -STATIC -BOOLEAN -IsValidDaylight ( - IN INT8 Daylight - ) -{ - return Daylight =3D=3D 0 || - Daylight =3D=3D EFI_TIME_ADJUST_DAYLIGHT || - Daylight =3D=3D (EFI_TIME_ADJUST_DAYLIGHT | EFI_TIME_IN_DAYLIGHT); -} - -STATIC -BOOLEAN -EFIAPI -IsLeapYear ( - IN EFI_TIME *Time - ) -{ - if (Time->Year % 4 =3D=3D 0) { - if (Time->Year % 100 =3D=3D 0) { - if (Time->Year % 400 =3D=3D 0) { - return TRUE; - } else { - return FALSE; - } - } else { - return TRUE; - } - } else { - return FALSE; - } -} - -STATIC CONST INTN mDayOfMonth[12] =3D { - 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 -}; - -STATIC -BOOLEAN -EFIAPI -IsDayValid ( - IN EFI_TIME *Time - ) -{ - if (Time->Day < 1 || - Time->Day > mDayOfMonth[Time->Month - 1] || - (Time->Month =3D=3D 2 && !IsLeapYear (Time) && Time->Day > 28)) { - return FALSE; - } - return TRUE; -} - -STATIC -BOOLEAN -EFIAPI -IsTimeValid( - IN EFI_TIME *Time - ) -{ - // Check the input parameters are within the range specified by UEFI - if (Time->Year < 1900 || - Time->Year > 9999 || - Time->Month < 1 || - Time->Month > 12 || - !IsDayValid (Time) || - Time->Hour > 23 || - Time->Minute > 59 || - Time->Second > 59 || - Time->Nanosecond > 999999999 || - !IsValidTimeZone (Time->TimeZone) || - !IsValidDaylight (Time->Daylight)) { - return FALSE; - } - return TRUE; -} - /** Returns the current time and date information, and the time-keeping capa= bilities of the hardware platform. --=20 2.17.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 (#69845): https://edk2.groups.io/g/devel/message/69845 Mute This Topic: https://groups.io/mt/79477833/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-