Re: [edk2] [PATCH] PcAtChipsetPkg/PcRtc: Handle NULL table entry in RSDT/XSDT
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 (, (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
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 (, (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
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. > 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;"? > CopyMem (, (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
Re: [edk2] [PATCH] PcAtChipsetPkg/PcRtc: Handle NULL table entry in RSDT/XSDT
Thanks/Ray > -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. > 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; > CopyMem (, (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
[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. We need to skip the NULL table entry in RSDT/XSDT. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu NiCc: Sean Brogan --- 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; CopyMem (, (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