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

Reply via email to