* [PATCH] ACPI/APEI: accept validly sized ERST on Intel systems only for now
@ 2012-10-18 7:45 Jan Beulich
2012-10-18 7:55 ` Keir Fraser
0 siblings, 1 reply; 3+ messages in thread
From: Jan Beulich @ 2012-10-18 7:45 UTC (permalink / raw)
To: xen-devel; +Cc: Wei Wang, Jinsong Liu, christoph.egger
[-- Attachment #1: Type: text/plain, Size: 1104 bytes --]
Various AMD systems (but [unfortunately] not mine) hang when the table
size check passes. Allow the check to pass on Intel systems only for
now (until someone can actually debug the problem).
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/drivers/acpi/apei/erst.c
+++ b/xen/drivers/acpi/apei/erst.c
@@ -769,6 +769,19 @@ static int __init erst_check_table(struc
switch (erst_tab->header_length) {
case sizeof(*erst_tab) - sizeof(erst_tab->header):
+#ifdef CONFIG_X86
+ /* XXX
+ * While the rest of the ERST code appears to work on Intel
+ * systems with properly sized tables, various AMD systems
+ * appear to get hung (at boot time) by allowing this. Until
+ * someone with access to suitable hardware can debug this,
+ * disable the rest of the code by considering this case
+ * invalid.
+ */
+ if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL)
+ return -EINVAL;
+ /* fall through */
+#endif
/*
* While invalid per specification, there are (early?) systems
* indicating the full header size here, so accept that value too.
[-- Attachment #2: ACPI-ERST-Intel-only.patch --]
[-- Type: text/plain, Size: 1168 bytes --]
ACPI/APEI: accept validly sized ERST on Intel systems only for now
Various AMD systems (but [unfortunately] not mine) hang when the table
size check passes. Allow the check to pass on Intel systems only for
now (until someone can actually debug the problem).
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/drivers/acpi/apei/erst.c
+++ b/xen/drivers/acpi/apei/erst.c
@@ -769,6 +769,19 @@ static int __init erst_check_table(struc
switch (erst_tab->header_length) {
case sizeof(*erst_tab) - sizeof(erst_tab->header):
+#ifdef CONFIG_X86
+ /* XXX
+ * While the rest of the ERST code appears to work on Intel
+ * systems with properly sized tables, various AMD systems
+ * appear to get hung (at boot time) by allowing this. Until
+ * someone with access to suitable hardware can debug this,
+ * disable the rest of the code by considering this case
+ * invalid.
+ */
+ if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL)
+ return -EINVAL;
+ /* fall through */
+#endif
/*
* While invalid per specification, there are (early?) systems
* indicating the full header size here, so accept that value too.
[-- Attachment #3: Type: text/plain, Size: 126 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] ACPI/APEI: accept validly sized ERST on Intel systems only for now
2012-10-18 7:45 [PATCH] ACPI/APEI: accept validly sized ERST on Intel systems only for now Jan Beulich
@ 2012-10-18 7:55 ` Keir Fraser
2012-10-18 8:46 ` Liu, Jinsong
0 siblings, 1 reply; 3+ messages in thread
From: Keir Fraser @ 2012-10-18 7:55 UTC (permalink / raw)
To: Jan Beulich, xen-devel; +Cc: Wei Wang, Jinsong Liu, christoph.egger
On 18/10/2012 08:45, "Jan Beulich" <JBeulich@suse.com> wrote:
> Various AMD systems (but [unfortunately] not mine) hang when the table
> size check passes. Allow the check to pass on Intel systems only for
> now (until someone can actually debug the problem).
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
> --- a/xen/drivers/acpi/apei/erst.c
> +++ b/xen/drivers/acpi/apei/erst.c
> @@ -769,6 +769,19 @@ static int __init erst_check_table(struc
>
> switch (erst_tab->header_length) {
> case sizeof(*erst_tab) - sizeof(erst_tab->header):
> +#ifdef CONFIG_X86
> + /* XXX
> + * While the rest of the ERST code appears to work on Intel
> + * systems with properly sized tables, various AMD systems
> + * appear to get hung (at boot time) by allowing this. Until
> + * someone with access to suitable hardware can debug this,
> + * disable the rest of the code by considering this case
> + * invalid.
> + */
> + if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL)
> + return -EINVAL;
> + /* fall through */
> +#endif
> /*
> * While invalid per specification, there are (early?) systems
> * indicating the full header size here, so accept that value too.
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] ACPI/APEI: accept validly sized ERST on Intel systems only for now
2012-10-18 7:55 ` Keir Fraser
@ 2012-10-18 8:46 ` Liu, Jinsong
0 siblings, 0 replies; 3+ messages in thread
From: Liu, Jinsong @ 2012-10-18 8:46 UTC (permalink / raw)
To: Keir Fraser, Jan Beulich, xen-devel; +Cc: Wei Wang, christoph.egger@amd.com
Fine to Intel. Both old and new Intel platform work.
Thanks,
Jinsong
Keir Fraser wrote:
> On 18/10/2012 08:45, "Jan Beulich" <JBeulich@suse.com> wrote:
>
>> Various AMD systems (but [unfortunately] not mine) hang when the
>> table size check passes. Allow the check to pass on Intel systems
>> only for now (until someone can actually debug the problem).
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> Acked-by: Keir Fraser <keir@xen.org>
>
>> --- a/xen/drivers/acpi/apei/erst.c
>> +++ b/xen/drivers/acpi/apei/erst.c
>> @@ -769,6 +769,19 @@ static int __init erst_check_table(struc
>>
>> switch (erst_tab->header_length) {
>> case sizeof(*erst_tab) - sizeof(erst_tab->header):
>> +#ifdef CONFIG_X86
>> + /* XXX
>> + * While the rest of the ERST code appears to work on Intel
>> + * systems with properly sized tables, various AMD systems
>> + * appear to get hung (at boot time) by allowing this. Until
>> + * someone with access to suitable hardware can debug this,
>> + * disable the rest of the code by considering this case + *
>> invalid. + */
>> + if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL) + return
>> -EINVAL; + /* fall through */
>> +#endif
>> /*
>> * While invalid per specification, there are (early?) systems
>> * indicating the full header size here, so accept that value too.
>>
>>
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xen.org
>> http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-10-18 8:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-18 7:45 [PATCH] ACPI/APEI: accept validly sized ERST on Intel systems only for now Jan Beulich
2012-10-18 7:55 ` Keir Fraser
2012-10-18 8:46 ` Liu, Jinsong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).