Kai, Thanks for telling me the commit message can help understand. RTC HW updates the year/month/day/hour/minute/second every second. But the year stored in RTC is only the last two digits of the 4-digit year.
Storing the century (high 2 digits) in CMOS is a choice of platform implementation and cannot work for all the cases. Supposing now we are in the last second of 2099, RTC HW updates the value in RTC to 00(year)/1(month)/1(day)/0(hour)/0(minute)/0(second). But it doesn't update the century value in CMOS leaving that value 20. Then the time will be interpreted as 2000/1/1/0/0/0. That's why RTC driver only updates the century in CMOS when platform reports the century location through the FADT table. Please understand RTC driver updates it because platform requires it (through reporting CMOS location in FADT.). Please also try to understand that the location of century in CMOS is platform dependent. There is no standard to define location for all x86 systems. Thanks, Ray > -----Original Message----- > From: Yau, KaiX <kaix....@intel.com> > Sent: Thursday, May 14, 2020 11:36 AM > To: Ni, Ray <ray...@intel.com>; devel@edk2.groups.io; kai...@gmail.com > Cc: Jiang, Guomin <guomin.ji...@intel.com>; Gao, Liming > <liming....@intel.com>; Archield, Ralphal > <ralphal.archi...@intel.com>; Zhao, Lijian <lijian.z...@intel.com> > Subject: RE: [edk2-devel] [PATCH] PcAtChipsetPkg: Wrong System YEAR displayed > in SETUP > > Hi Ray, > > I read your comment from gitk. > I understand why you changed them to 1998 and 2097. > > May I know why we don't read the Century value from CMOS in the beginning? > Some boards does not support? Or the RTC address may be different for > different boards? > > Regards > Kai Yau > > -----Original Message----- > From: Ni, Ray <ray...@intel.com> > Sent: Wednesday, May 13, 2020 10:55 PM > To: Yau, KaiX <kaix....@intel.com>; devel@edk2.groups.io; kai...@gmail.com > Cc: Jiang, Guomin <guomin.ji...@intel.com>; Gao, Liming > <liming....@intel.com>; Archield, Ralphal > <ralphal.archi...@intel.com>; Zhao, Lijian <lijian.z...@intel.com> > Subject: RE: [edk2-devel] [PATCH] PcAtChipsetPkg: Wrong System YEAR displayed > in SETUP > > Kai, > I created the initial design and made the initial change: using the two PCD > to help code decide the correct century value. > More comments below. > > > -----Original Message----- > > From: Yau, KaiX <kaix....@intel.com> > > Sent: Thursday, May 14, 2020 1:14 AM > > To: Ni, Ray <ray...@intel.com>; devel@edk2.groups.io; kai...@gmail.com > > Cc: Jiang, Guomin <guomin.ji...@intel.com>; Gao, Liming > > <liming....@intel.com>; Archield, Ralphal > > <ralphal.archi...@intel.com>; Zhao, Lijian <lijian.z...@intel.com> > > Subject: RE: [edk2-devel] [PATCH] PcAtChipsetPkg: Wrong System YEAR > > displayed in SETUP > > > > Hi, > > > > The current logic has two limitations: > > 1. it has to be 100 years apart (already mentioned in DEC file) > I agree it's a limitation. I don't want to solve this limitation with current > RTC HW. > > > 2. the century numbers have to be same in order to work. (19XX, 20XX > > will not work) (20xx, 21xx will not work) Since now is 2020, the value has > > to be 2000, 2099. But BIOS developers does not > know this limitation. > I don't agree. Let's forget other argue points and just focus on this point. > Can you please explain why with the PCD value (1998,2097) cannot support this > year 2020? -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#59491): https://edk2.groups.io/g/devel/message/59491 Mute This Topic: https://groups.io/mt/72484290/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-