From nobody Sun Dec 29 01:33:20 2024 Delivered-To: importer@patchew.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Authentication-Results: mx.zoho.com; dkim=fail spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org; Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1493847506455100.80337188105341; Wed, 3 May 2017 14:38:26 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id D0A3121955D91; Wed, 3 May 2017 14:38:19 -0700 (PDT) Received: from mail-wr0-x22b.google.com (mail-wr0-x22b.google.com [IPv6:2a00:1450:400c:c0c::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id B737A21A13482 for ; Wed, 3 May 2017 14:38:17 -0700 (PDT) Received: by mail-wr0-x22b.google.com with SMTP id z52so1129472wrc.2 for ; Wed, 03 May 2017 14:38:17 -0700 (PDT) Received: from mohikan.hemma.eciton.net ([2a01:348:6:8735:e23f:49ff:fe6d:9d26]) by smtp.gmail.com with ESMTPSA id z14sm41380wmz.2.2017.05.03.14.38.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 03 May 2017 14:38:15 -0700 (PDT) X-Original-To: edk2-devel@lists.01.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=B9yc8JJNoLV6e+aUcSUgjXYwwOtaFrM9pl9nFhFG0IE=; b=HUdryZcVPoV/4x9mBl7+Fj8n/3dNgHFcf9An5wn+j4kR6DLe5jJWowh8BpP1CALEGG UhesCbNDiCMvq/kL5Go0FwEbp1I1KaTeFq0YoKJC56tKW4N9JBU3tvjo/QU1y/rKucI5 77YjbRwEkfcrgmAPnTAt1A1CNPQ4f5b0XL4YQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=B9yc8JJNoLV6e+aUcSUgjXYwwOtaFrM9pl9nFhFG0IE=; b=UFB1vdSSJvJ1mOi/OJJ4bpyo711GLIVgQXTenFxyH2DZLfnB4VVV41Pdn7tGDb/giR FfmfnPn7o5atGLqw8XYO21AOu3OHsqNGXzcTPir8YzWJR1EX1tBCsPmCCrJp+QaZVUHK 5QtrsDo2eayY9Mf/MXMh0nQpyME/kp4sw6o5xtXtTLfzRmQF46IfnoArQSFEWc/TyKqV YbGTMuiIzypoEDM0nFDgXR33s+5D4bQ3nPQbBG28kWL3L6NVo3MY4qbwa4VHD94lbu4y 01yLpD14Cp88/MiRCilc3ULtxu8CGJdnhCY4NIQMC2JigxqxvJn1Djtha9r/XZACNzZa qAnQ== X-Gm-Message-State: AN3rC/7ZovVifVRWXWbyu1JK6JQKP6fyE7iMEbnJdDgLQ6Nqn3whirvJ DfVeJ/4GpswFP5rH X-Received: by 10.223.139.20 with SMTP id n20mr20912757wra.169.1493847496336; Wed, 03 May 2017 14:38:16 -0700 (PDT) From: Leif Lindholm To: edk2-devel@lists.01.org Date: Wed, 3 May 2017 22:38:12 +0100 Message-Id: <20170503213812.5971-4-leif.lindholm@linaro.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170503213812.5971-1-leif.lindholm@linaro.org> References: <20170503213812.5971-1-leif.lindholm@linaro.org> Subject: [edk2] [PATCH 3/3] ArmPlatformPkg, ArmVirtPkg: delete redundant PL031 functions X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laszlo Ersek , Ard Biesheuvel MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Remove the functions now provided by EfiTimeBaseLib from PL031RealTimeClockLib. Add EfiTimeBaseLib resolution to ArmVirtPkg in same commit to prevent breakage. Cc: Laszlo Ersek Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Leif Lindholm Reviewed-by: Ard Biesheuvel --- .../Include/Drivers/PL031RealTimeClock.h | 11 -- .../PL031RealTimeClockLib/PL031RealTimeClockLib.c | 127 +----------------= ---- .../PL031RealTimeClockLib.inf | 1 + ArmVirtPkg/ArmVirt.dsc.inc | 1 + 4 files changed, 5 insertions(+), 135 deletions(-) diff --git a/ArmPlatformPkg/Include/Drivers/PL031RealTimeClock.h b/ArmPlatf= ormPkg/Include/Drivers/PL031RealTimeClock.h index 76fbd0eb82..812cd9b397 100644 --- a/ArmPlatformPkg/Include/Drivers/PL031RealTimeClock.h +++ b/ArmPlatformPkg/Include/Drivers/PL031RealTimeClock.h @@ -42,15 +42,4 @@ =20 #define PL031_COUNTS_PER_SECOND 1 =20 -// Define EPOCH (1970-JANUARY-01) in the Julian Date representation -#define EPOCH_JULIAN_DATE 2440588 - -// Seconds per unit -#define SEC_PER_MIN ((UINTN) 60) -#define SEC_PER_HOUR ((UINTN) 3600) -#define SEC_PER_DAY ((UINTN) 86400) - -#define SEC_PER_MONTH ((UINTN) 2,592,00= 0) -#define SEC_PER_YEAR ((UINTN) 31,536,00= 0) - #endif diff --git a/ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeCloc= kLib.c b/ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib= .c index 4aa448b528..9f115d383c 100644 --- a/ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.c +++ b/ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.c @@ -36,6 +36,8 @@ =20 #include =20 +#include + #include =20 STATIC CONST CHAR16 mTimeZoneVariableName[] =3D L"PL031RtcTimeZo= ne"; @@ -110,129 +112,6 @@ InitializePL031 ( } =20 /** - Converts Epoch seconds (elapsed since 1970 JANUARY 01, 00:00:00 UTC) to = EFI_TIME - **/ -VOID -EpochToEfiTime ( - IN UINTN EpochSeconds, - OUT EFI_TIME *Time - ) -{ - UINTN a; - UINTN b; - UINTN c; - UINTN d; - UINTN g; - UINTN j; - UINTN m; - UINTN y; - UINTN da; - UINTN db; - UINTN dc; - UINTN dg; - UINTN hh; - UINTN mm; - UINTN ss; - UINTN J; - - J =3D (EpochSeconds / 86400) + 2440588; - j =3D J + 32044; - g =3D j / 146097; - dg =3D j % 146097; - c =3D (((dg / 36524) + 1) * 3) / 4; - dc =3D dg - (c * 36524); - b =3D dc / 1461; - db =3D dc % 1461; - a =3D (((db / 365) + 1) * 3) / 4; - da =3D db - (a * 365); - y =3D (g * 400) + (c * 100) + (b * 4) + a; - m =3D (((da * 5) + 308) / 153) - 2; - d =3D da - (((m + 4) * 153) / 5) + 122; - - Time->Year =3D y - 4800 + ((m + 2) / 12); - Time->Month =3D ((m + 2) % 12) + 1; - Time->Day =3D d + 1; - - ss =3D EpochSeconds % 60; - a =3D (EpochSeconds - ss) / 60; - mm =3D a % 60; - b =3D (a - mm) / 60; - hh =3D b % 24; - - Time->Hour =3D hh; - Time->Minute =3D mm; - Time->Second =3D ss; - Time->Nanosecond =3D 0; - -} - -/** - Converts EFI_TIME to Epoch seconds (elapsed since 1970 JANUARY 01, 00:00= :00 UTC) - **/ -UINTN -EfiTimeToEpoch ( - IN EFI_TIME *Time - ) -{ - UINTN a; - UINTN y; - UINTN m; - UINTN JulianDate; // Absolute Julian Date representation of the supplie= d Time - UINTN EpochDays; // Number of days elapsed since EPOCH_JULIAN_DAY - UINTN EpochSeconds; - - a =3D (14 - Time->Month) / 12 ; - y =3D Time->Year + 4800 - a; - m =3D Time->Month + (12*a) - 3; - - JulianDate =3D Time->Day + ((153*m + 2)/5) + (365*y) + (y/4) - (y/100) += (y/400) - 32045; - - ASSERT (JulianDate >=3D EPOCH_JULIAN_DATE); - EpochDays =3D JulianDate - EPOCH_JULIAN_DATE; - - EpochSeconds =3D (EpochDays * SEC_PER_DAY) + ((UINTN)Time->Hour * SEC_PE= R_HOUR) + (Time->Minute * SEC_PER_MIN) + Time->Second; - - return EpochSeconds; -} - -BOOLEAN -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; - } -} - -BOOLEAN -DayValid ( - IN EFI_TIME *Time - ) -{ - STATIC CONST INTN DayOfMonth[12] =3D { 31, 29, 31, 30, 31, 30, 31, 31, 3= 0, 31, 30, 31 }; - - if (Time->Day < 1 || - Time->Day > DayOfMonth[Time->Month - 1] || - (Time->Month =3D=3D 2 && (!IsLeapYear (Time) && Time->Day > 28)) - ) { - return FALSE; - } - - return TRUE; -} - -/** Returns the current time and date information, and the time-keeping capa= bilities of the hardware platform. =20 @@ -431,7 +310,7 @@ LibSetTime ( (Time->Year > 9999) || (Time->Month < 1 ) || (Time->Month > 12 ) || - (!DayValid (Time) ) || + (!IsDayValid (Time) ) || (Time->Hour > 23 ) || (Time->Minute > 59 ) || (Time->Second > 59 ) || diff --git a/ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeCloc= kLib.inf b/ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockL= ib.inf index 3a98fc757e..41a4e6d6bd 100644 --- a/ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf +++ b/ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf @@ -36,6 +36,7 @@ PcdLib ArmPlatformSysConfigLib DxeServicesTableLib + EfiTimeBaseLib UefiRuntimeLib =20 [Guids] diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc index e74eaf16e7..bc96709d8a 100644 --- a/ArmVirtPkg/ArmVirt.dsc.inc +++ b/ArmVirtPkg/ArmVirt.dsc.inc @@ -105,6 +105,7 @@ =20 # ARM PL031 RTC Driver RealTimeClockLib|ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealT= imeClockLib.inf + EfiTimeBaseLib|EmbeddedPkg/Library/EfiTimeBaseLib/EfiTimeBaseLib.inf # ARM PL011 UART Driver PL011UartLib|ArmPlatformPkg/Drivers/PL011Uart/PL011Uart.inf SerialPortLib|ArmVirtPkg/Library/FdtPL011SerialPortLib/FdtPL011SerialPor= tLib.inf --=20 2.11.0 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel