From: "Ni, Ray" <ray.ni@intel.com>
To: "Zhao, Lijian" <lijian.zhao@intel.com>,
"Yau, KaiX" <kaix.yau@intel.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>,
"kaiyau@gmail.com" <kaiyau@gmail.com>
Cc: "Jiang, Guomin" <guomin.jiang@intel.com>,
"Gao, Liming" <liming.gao@intel.com>,
"Archield, Ralphal" <ralphal.archield@intel.com>
Subject: Re: [edk2-devel] [PATCH] PcAtChipsetPkg: Wrong System YEAR displayed in SETUP
Date: Thu, 14 May 2020 07:09:24 +0000 [thread overview]
Message-ID: <734D49CCEBEEF84792F5B80ED585239D5C54E1E6@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <DM6PR11MB3817DAEAB31E0676CF6E41F6F4BC0@DM6PR11MB3817.namprd11.prod.outlook.com>
Lijian,
Yeah. I might learn the CMOS/RTC from the same page you shared when I create the two PCDs and the accordingly logic.
Just guess as what the page says.
I double checked the existing code.
RtcTimeFieldsValid() contains logic to check all date/time value read from
RTC HW and PcRtcInit() re-inits the RTC HW if date/time in HW is invalid.
Thanks,
Ray
> -----Original Message-----
> From: Zhao, Lijian <lijian.zhao@intel.com>
> Sent: Thursday, May 14, 2020 1:56 PM
> To: Ni, Ray <ray.ni@intel.com>; Yau, KaiX <kaix.yau@intel.com>; devel@edk2.groups.io; kaiyau@gmail.com
> Cc: Jiang, Guomin <guomin.jiang@intel.com>; Gao, Liming <liming.gao@intel.com>; Archield, Ralphal
> <ralphal.archield@intel.com>
> Subject: RE: [edk2-devel] [PATCH] PcAtChipsetPkg: Wrong System YEAR displayed in SETUP
>
> https://wiki.osdev.org/CMOS#Century_Register
>
> Yes that's not fixed or defined in original IBM standard
>
> -----Original Message-----
> From: Ni, Ray <ray.ni@intel.com>
> Sent: Thursday, May 14, 2020 1:38 PM
> To: Yau, KaiX <kaix.yau@intel.com>; devel@edk2.groups.io; kaiyau@gmail.com
> Cc: Jiang, Guomin <guomin.jiang@intel.com>; Gao, Liming <liming.gao@intel.com>; Archield, Ralphal
> <ralphal.archield@intel.com>; Zhao, Lijian <lijian.zhao@intel.com>
> Subject: RE: [edk2-devel] [PATCH] PcAtChipsetPkg: Wrong System YEAR displayed in SETUP
>
> 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.yau@intel.com>
> > Sent: Thursday, May 14, 2020 11:36 AM
> > To: Ni, Ray <ray.ni@intel.com>; devel@edk2.groups.io; kaiyau@gmail.com
> > Cc: Jiang, Guomin <guomin.jiang@intel.com>; Gao, Liming
> > <liming.gao@intel.com>; Archield, Ralphal
> > <ralphal.archield@intel.com>; Zhao, Lijian <lijian.zhao@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.ni@intel.com>
> > Sent: Wednesday, May 13, 2020 10:55 PM
> > To: Yau, KaiX <kaix.yau@intel.com>; devel@edk2.groups.io;
> > kaiyau@gmail.com
> > Cc: Jiang, Guomin <guomin.jiang@intel.com>; Gao, Liming
> > <liming.gao@intel.com>; Archield, Ralphal
> > <ralphal.archield@intel.com>; Zhao, Lijian <lijian.zhao@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.yau@intel.com>
> > > Sent: Thursday, May 14, 2020 1:14 AM
> > > To: Ni, Ray <ray.ni@intel.com>; devel@edk2.groups.io;
> > > kaiyau@gmail.com
> > > Cc: Jiang, Guomin <guomin.jiang@intel.com>; Gao, Liming
> > > <liming.gao@intel.com>; Archield, Ralphal
> > > <ralphal.archield@intel.com>; Zhao, Lijian <lijian.zhao@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?
>
>
next prev parent reply other threads:[~2020-05-14 7:09 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-20 3:42 [PATCH] PcAtChipsetPkg: Wrong System YEAR displayed in SETUP Yau
2020-03-27 5:15 ` [edk2-devel] " Guomin Jiang
2020-04-27 4:53 ` Ni, Ray
2020-04-27 5:47 ` Yau, KaiX
2020-05-12 1:52 ` Ni, Ray
2020-05-12 2:01 ` Yau, KaiX
2020-05-12 5:41 ` Ni, Ray
2020-05-12 5:51 ` Yau, KaiX
2020-05-13 3:27 ` Ni, Ray
2020-05-13 3:36 ` Yau, KaiX
2020-05-13 4:45 ` Ni, Ray
2020-05-13 5:45 ` Yau, KaiX
2020-05-13 9:02 ` Ni, Ray
2020-05-13 17:13 ` Yau, KaiX
2020-05-14 2:54 ` Ni, Ray
2020-05-14 3:35 ` Yau, KaiX
2020-05-14 5:38 ` Ni, Ray
[not found] ` <DM6PR11MB3817DAEAB31E0676CF6E41F6F4BC0@DM6PR11MB3817.namprd11.prod.outlook.com>
2020-05-14 7:09 ` Ni, Ray [this message]
2020-05-14 15:11 ` Yau, KaiX
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=734D49CCEBEEF84792F5B80ED585239D5C54E1E6@SHSMSX104.ccr.corp.intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox