Hi, I tested a pseries guest under: - qemu + KVM on a Power8 host with a fairly modern qemu - qemu + TCG
Here the 'date' command simply reports "error: no cmos found", so this patch will have no impact on those platforms. I also tested an LPAR on a Power8 PowerVM machine. In this case, before the patch, grub printed: grub> date 2022-02-09 04:31:10 Wednesday whereas on booting: [dja@sauce ~]$ date -u Tue Feb 8 04:46:40 UTC 2022 After applying the patch, grub printed: grub> date 2022-02-08 04:51:27 Tuesday It seems the patch makes things better. Tested-by: Daniel Axtens <d...@axtens.net> Kind regards, Daniel Glenn Washburn <developm...@efficientek.com> writes: > This is causing the test grub_cmd_date to fail because the returned date is > one day more than it should be. > > This reverts commit 607d66116a67e5a13eb0d46076f26dedc988e6a4. > > Signed-off-by: Glenn Washburn <developm...@efficientek.com> > --- > Hi all, > > Reverting this commit allows the grub_cmd_date test to pass. It appears that > this commit is (now) causing an off-by-1 error in QEMU and the latest > OpenBIOS. > What I'm unsure of is if the original commit is actually correct on real > hardware and that potentially OpenBIOS has a bug. > > Adrian and Daniel A, could you test the reverting of this commit on real > hardware and see if date does in fact produce the expected date (and do > current > builds show a date one day ahead of what it should be)? Can anyone point to > documentation saying that the original commit is in fact what should > be done? If the issue is in OpenBIOS I'd like to have some documentation > to back up a bug report. > > Vladimir, do you have any thoughts on this? > > Glenn > > --- > grub-core/lib/ieee1275/datetime.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/grub-core/lib/ieee1275/datetime.c > b/grub-core/lib/ieee1275/datetime.c > index b81fba2ed..74578f15a 100644 > --- a/grub-core/lib/ieee1275/datetime.c > +++ b/grub-core/lib/ieee1275/datetime.c > @@ -95,7 +95,7 @@ grub_get_datetime (struct grub_datetime *datetime) > > datetime->year = args.year; > datetime->month = args.month; > - datetime->day = args.day + 1; > + datetime->day = args.day; > datetime->hour = args.hour; > datetime->minute = args.minute; > datetime->second = args.second; > @@ -140,7 +140,7 @@ grub_set_datetime (struct grub_datetime *datetime) > > args.year = datetime->year; > args.month = datetime->month; > - args.day = datetime->day - 1; > + args.day = datetime->day; > args.hour = datetime->hour; > args.minute = datetime->minute; > args.second = datetime->second; > -- > 2.27.0 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel