* [PATCH] PcAtChipsetPkg/PcRtc: Handle NULL table entry in RSDT/XSDT
@ 2016-11-14 5:26 Ruiyu Ni
2016-11-15 1:59 ` Ni, Ruiyu
0 siblings, 1 reply; 5+ messages in thread
From: Ruiyu Ni @ 2016-11-14 5:26 UTC (permalink / raw)
To: edk2-devel
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.ni@intel.com>
Cc: Sean Brogan <sean.brogan@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 (&Table, (VOID *) (EntryBase + Index * TablePointerSize), TablePointerSize);
+
+ if (Table == NULL) {
+ continue;
+ }
+
if (Table->Signature == Signature) {
return Table;
}
--
2.9.0.windows.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] PcAtChipsetPkg/PcRtc: Handle NULL table entry in RSDT/XSDT
2016-11-14 5:26 [PATCH] PcAtChipsetPkg/PcRtc: Handle NULL table entry in RSDT/XSDT Ruiyu Ni
@ 2016-11-15 1:59 ` Ni, Ruiyu
2016-11-17 10:55 ` Zeng, Star
0 siblings, 1 reply; 5+ messages in thread
From: Ni, Ruiyu @ 2016-11-15 1:59 UTC (permalink / raw)
To: Ni, Ruiyu, edk2-devel@lists.01.org; +Cc: sean.brogan@microsoft.com, Zeng, Star
Thanks/Ray
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@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.ni@intel.com>
> Cc: Sean Brogan <sean.brogan@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 (&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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] PcAtChipsetPkg/PcRtc: Handle NULL table entry in RSDT/XSDT
2016-11-15 1:59 ` Ni, Ruiyu
@ 2016-11-17 10:55 ` Zeng, Star
2016-11-18 1:58 ` Ni, Ruiyu
0 siblings, 1 reply; 5+ messages in thread
From: Zeng, Star @ 2016-11-17 10:55 UTC (permalink / raw)
To: Ni, Ruiyu, edk2-devel@lists.01.org; +Cc: sean.brogan@microsoft.com, Zeng, Star
Hi Ray,
Add two minor comments inline.
Thanks,
Star
> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@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.ni@intel.com>
> Cc: Sean Brogan <sean.brogan@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 (&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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] PcAtChipsetPkg/PcRtc: Handle NULL table entry in RSDT/XSDT
2016-11-17 10:55 ` Zeng, Star
@ 2016-11-18 1:58 ` Ni, Ruiyu
2016-11-18 2:32 ` Zeng, Star
0 siblings, 1 reply; 5+ messages in thread
From: Ni, Ruiyu @ 2016-11-18 1:58 UTC (permalink / raw)
To: Zeng, Star, edk2-devel@lists.01.org
Regards,
Ray
>-----Original Message-----
>From: Zeng, Star
>Sent: Thursday, November 17, 2016 6:55 PM
>To: Ni, Ruiyu <ruiyu.ni@intel.com>; edk2-devel@lists.01.org
>Cc: sean.brogan@microsoft.com; Zeng, Star <star.zeng@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-bounces@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.ni@intel.com>
>> Cc: Sean Brogan <sean.brogan@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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] PcAtChipsetPkg/PcRtc: Handle NULL table entry in RSDT/XSDT
2016-11-18 1:58 ` Ni, Ruiyu
@ 2016-11-18 2:32 ` Zeng, Star
0 siblings, 0 replies; 5+ messages in thread
From: Zeng, Star @ 2016-11-18 2:32 UTC (permalink / raw)
To: Ni, Ruiyu, edk2-devel@lists.01.org; +Cc: sean.brogan@microsoft.com, Zeng, Star
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.zeng@intel.com>
Thanks,
Star
-----Original Message-----
From: Ni, Ruiyu
Sent: Friday, November 18, 2016 9:59 AM
To: Zeng, Star <star.zeng@intel.com>; edk2-devel@lists.01.org
Cc: sean.brogan@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.ni@intel.com>; edk2-devel@lists.01.org
>Cc: sean.brogan@microsoft.com; Zeng, Star <star.zeng@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-bounces@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.ni@intel.com>
>> Cc: Sean Brogan <sean.brogan@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
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-11-18 2:32 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-14 5:26 [PATCH] PcAtChipsetPkg/PcRtc: Handle NULL table entry in RSDT/XSDT Ruiyu Ni
2016-11-15 1:59 ` Ni, Ruiyu
2016-11-17 10:55 ` Zeng, Star
2016-11-18 1:58 ` Ni, Ruiyu
2016-11-18 2:32 ` Zeng, Star
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox