Mike,
When adding the Min/Max year PCD, the idea was Min year is the default year 
value.
The idea assumed that when a PC is shipped to customers the Min year is set to
the current year.

Can we explain why need the default year PCD?

Thanks,
Ray

> -----Original Message-----
> From: Kinney, Michael D <michael.d.kin...@intel.com>
> Sent: Sunday, March 26, 2023 11:23 AM
> To: devel@edk2.groups.io
> Cc: Ni, Ray <ray...@intel.com>
> Subject: [Patch 1/1] PcAtChipsetPkg: Add PCD for RTC default year
> 
> Add PcdRtcDefaultYear to specify the default year to use when
> the RTC is in an invalid state. Make sure PcdRtcDefaultYear is
> >= PcdMinimalValidYear and <= PcdMaximalValidYear.  Set the
> default value for this PCD to PcdMinimalValidYear to preserve
> the existing behavior. A platform DSC file can override this
> default value setting.
> 
> Cc: Ray Ni <ray...@intel.com>
> Signed-off-by: Michael D Kinney <michael.d.kin...@intel.com>
> ---
>  PcAtChipsetPkg/PcAtChipsetPkg.dec                           | 6 ++++++
>  PcAtChipsetPkg/PcAtChipsetPkg.uni                           | 4 ++++
>  PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc.c          | 4 ++--
>  .../PcatRealTimeClockRuntimeDxe.inf                         | 1 +
>  4 files changed, 13 insertions(+), 2 deletions(-)
> 
> diff --git a/PcAtChipsetPkg/PcAtChipsetPkg.dec
> b/PcAtChipsetPkg/PcAtChipsetPkg.dec
> index a53ca777e85a..0db385fb901f 100644
> --- a/PcAtChipsetPkg/PcAtChipsetPkg.dec
> +++ b/PcAtChipsetPkg/PcAtChipsetPkg.dec
> @@ -76,6 +76,12 @@ [PcdsFixedAtBuild, PcdsDynamic, PcdsDynamicEx,
> PcdsPatchableInModule]
>    # @Expression 0x80000001 |
> gPcAtChipsetPkgTokenSpaceGuid.PcdMaximalValidYear <
> gPcAtChipsetPkgTokenSpaceGuid.PcdMinimalValidYear + 100
> 
> gPcAtChipsetPkgTokenSpaceGuid.PcdMaximalValidYear|2097|UINT16|0x000
> 0000E
> 
> +  ## This PCD specifies the RTC default year when the RTC is in an invalid
> state.
> +  # @Prompt Default year in RTC.
> +  # @Expression 0x80000001 |
> gPcAtChipsetPkgTokenSpaceGuid.PcdRtcDefaultYear >=
> gPcAtChipsetPkgTokenSpaceGuid.PcdMinimalValidYear
> +  # @Expression 0x80000001 |
> gPcAtChipsetPkgTokenSpaceGuid.PcdRtcDefaultYear <=
> gPcAtChipsetPkgTokenSpaceGuid.PcdMaximalValidYear
> +
> gPcAtChipsetPkgTokenSpaceGuid.PcdRtcDefaultYear|gPcAtChipsetPkgToke
> nSpaceGuid.PcdMinimalValidYear|UINT16|0x0000000F
> +
>    ## Specifies RTC Index Register address in MMIO space.
>    # @Prompt RTC Index Register address
> 
> gPcAtChipsetPkgTokenSpaceGuid.PcdRtcIndexRegister64|0x0|UINT64|0x00
> 000022
> diff --git a/PcAtChipsetPkg/PcAtChipsetPkg.uni
> b/PcAtChipsetPkg/PcAtChipsetPkg.uni
> index d290dcf1650f..8eb7970c58aa 100644
> --- a/PcAtChipsetPkg/PcAtChipsetPkg.uni
> +++ b/PcAtChipsetPkg/PcAtChipsetPkg.uni
> @@ -79,6 +79,10 @@
> 
>  #string STR_gPcAtChipsetPkgTokenSpaceGuid_PcdMaximalValidYear_HELP
> #language en-US "This PCD specifies the maximal valid year in RTC."
> 
> +#string
> STR_gPcAtChipsetPkgTokenSpaceGuid_PcdRtcDefaultYear_PROMPT
> #language en-US "Default year in RTC"
> +
> +#string STR_gPcAtChipsetPkgTokenSpaceGuid_PcdRtcDefaultYear_HELP
> #language en-US "This PCD specifies the RTC default year when the RTC is in
> an invalid state."
> +
>  #string
> STR_gPcAtChipsetPkgTokenSpaceGuid_PcdAcpiIoPortBaseAddressMask_PR
> OMPT   #language en-US  "ACPI IO Port Base Address Mask"
> 
>  #string
> STR_gPcAtChipsetPkgTokenSpaceGuid_PcdAcpiIoPortBaseAddressMask_HE
> LP     #language en-US  "Defines the bit mask to retrieve ACPI IO Port Base
> Address."
> diff --git a/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc.c
> b/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc.c
> index 9242a2e82600..b059e92f02dc 100644
> --- a/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc.c
> +++ b/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc.c
> @@ -317,7 +317,7 @@ PcRtcInit (
>      Time.Hour       = RTC_INIT_HOUR;
>      Time.Day        = RTC_INIT_DAY;
>      Time.Month      = RTC_INIT_MONTH;
> -    Time.Year       = PcdGet16 (PcdMinimalValidYear);
> +    Time.Year       = PcdGet16 (PcdRtcDefaultYear);
>      Time.Nanosecond = 0;
>      Time.TimeZone   = EFI_UNSPECIFIED_TIMEZONE;
>      Time.Daylight   = 0;
> @@ -357,7 +357,7 @@ PcRtcInit (
>    Time.Hour       = RTC_INIT_HOUR;
>    Time.Day        = RTC_INIT_DAY;
>    Time.Month      = RTC_INIT_MONTH;
> -  Time.Year       = PcdGet16 (PcdMinimalValidYear);
> +  Time.Year       = PcdGet16 (PcdRtcDefaultYear);
>    Time.Nanosecond = 0;
>    Time.TimeZone   = Global->SavedTimeZone;
>    Time.Daylight   = Global->Daylight;
> diff --git
> a/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntim
> eDxe.inf
> b/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntim
> eDxe.inf
> index 0d8eca28b659..c344b059878c 100644
> ---
> a/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntim
> eDxe.inf
> +++
> b/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntim
> eDxe.inf
> @@ -76,6 +76,7 @@ [Pcd]
>    gPcAtChipsetPkgTokenSpaceGuid.PcdRealTimeClockUpdateTimeout   ##
> CONSUMES
>    gPcAtChipsetPkgTokenSpaceGuid.PcdMinimalValidYear             ##
> CONSUMES
>    gPcAtChipsetPkgTokenSpaceGuid.PcdMaximalValidYear             ##
> CONSUMES
> +  gPcAtChipsetPkgTokenSpaceGuid.PcdRtcDefaultYear               ##
> CONSUMES
>    gPcAtChipsetPkgTokenSpaceGuid.PcdRtcIndexRegister             ##
> CONSUMES
>    gPcAtChipsetPkgTokenSpaceGuid.PcdRtcTargetRegister            ##
> CONSUMES
>    gPcAtChipsetPkgTokenSpaceGuid.PcdRtcIndexRegister64           ##
> CONSUMES
> --
> 2.39.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#101895): https://edk2.groups.io/g/devel/message/101895
Mute This Topic: https://groups.io/mt/97855945/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: 
https://edk2.groups.io/g/devel/leave/9847357/21656/1706620634/xyzzy 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to