I agree to use FADT in commit log. I got the reason why "Table = 0;" needs.
With that commit log updated, Reviewed-by: Star Zeng <star.z...@intel.com> Thanks, Star -----Original Message----- From: Ni, Ruiyu Sent: Friday, November 18, 2016 9:59 AM To: Zeng, Star <star.z...@intel.com>; edk2-devel@lists.01.org Cc: sean.bro...@microsoft.com Subject: RE: [edk2] [PATCH] PcAtChipsetPkg/PcRtc: Handle NULL table entry in RSDT/XSDT Regards, Ray >-----Original Message----- >From: Zeng, Star >Sent: Thursday, November 17, 2016 6:55 PM >To: Ni, Ruiyu <ruiyu...@intel.com>; edk2-devel@lists.01.org >Cc: sean.bro...@microsoft.com; Zeng, Star <star.z...@intel.com> >Subject: RE: [edk2] [PATCH] PcAtChipsetPkg/PcRtc: Handle NULL table >entry in RSDT/XSDT > >Hi Ray, > >Add two minor comments inline. > >Thanks, >Star >> -----Original Message----- >> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf >> Of Ruiyu Ni >> Sent: Monday, November 14, 2016 1:26 PM >> To: edk2-devel@lists.01.org >> Subject: [edk2] [PATCH] PcAtChipsetPkg/PcRtc: Handle NULL table entry >> in RSDT/XSDT >> >> The ACPI code may reserve the first entry for a certain table (might >> be FACS) to help with OS compatible issues. > >FACS is in FADT according to ACPI spec. > do you suggest to use FADT in commit message? >> We need to skip the NULL table entry in RSDT/XSDT. >> >> Contributed-under: TianoCore Contribution Agreement 1.0 >> Signed-off-by: Ruiyu Ni <ruiyu...@intel.com> >> Cc: Sean Brogan <sean.bro...@microsoft.com> >> --- >> PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc.c | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc.c >> b/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc.c >> index 2bb41e7..35e34b7 100644 >> --- a/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc.c >> +++ b/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc.c >> @@ -1230,6 +1230,11 @@ ScanTableInSDT ( >> // >> Table = 0; > >How about to remove this superfluous line " Table = 0;"? > // // Find FADT in RSDT // if (Fadt == NULL && Rsdp->RsdtAddress != 0) { Fadt = ScanTableInSDT ( (EFI_ACPI_DESCRIPTION_HEADER *) (UINTN) Rsdp->RsdtAddress, EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE, sizeof (UINT32) ); } when above code runs in 64bit env, CopyMem only fills the 4-byte in Table leaving hi-4-byte un-initialized. so we need to set Table to 0 to fill hi-4-byte. >> CopyMem (&Table, (VOID *) (EntryBase + Index * >> TablePointerSize), TablePointerSize); >> + >> + if (Table == NULL) { >> + continue; >> + } >> >> + >> if (Table->Signature == Signature) { >> return Table; >> } >> -- >> 2.9.0.windows.1 >> >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel