Bug 187966 - Intel Baytrail-M NUC panics because of buggy ACPI table
Summary: Intel Baytrail-M NUC panics because of buggy ACPI table
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: amd64 (show other bugs)
Version: Unspecified
Hardware: Any Any
: Normal Affects Only Me
Assignee: Craig Rodrigues
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-26 18:10 UTC by Takuya ASADA
Modified: 2016-05-20 20:49 UTC (History)
3 users (show)

See Also:


Attachments
file.diff (1009 bytes, patch)
2014-03-26 18:10 UTC, Takuya ASADA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Takuya ASADA freebsd_committer freebsd_triage 2014-03-26 18:10:01 UTC
Intel Baytrail-M NUC(DN2820FYKH) does not able to boot FreeBSD-CURRENT/amd64, because of its buggy ACPI table.

It has two incorrect parameters on MADT: 

Type=Local APIC NMI
ACPI CPU=1
LINT Pin=60
Flags={Polarity=active-hi, Trigger=0x2} <-- trigger value is incorrect. 2 is reserved

Type=Local APIC NMI
ACPI CPU=2
LINT Pin=61
Flags={Polarity=0x2, Trigger=level} <-- polarity value is incorrect. 2 is reserved

Because of this, interrupt_trigger() panics with "Bogus Interrupt Trigger Mode".
Also interrupt_polarity() panics with "Bogus Interrupt Polarity".

I think this is BIOS bug, but we can do some workaround for the machine.

Fix: Linux uses level trigger and low polarity if the value is 0x2(reserved).
http://lxr.linux.no/linux+v3.13.5/arch/x86/kernel/acpi/boot.c#L1094

We can do similar workaround, but with warning message.

Patch attached with submission follows:
How-To-Repeat: Boot -CURRENT on NUC.
Comment 1 Takanori Watanabe freebsd_committer freebsd_triage 2014-03-27 07:20:54 UTC
State Changed
From-To: open->closed


Committed as revision 263795
Comment 2 commit-hook freebsd_committer freebsd_triage 2014-06-23 22:31:45 UTC
A commit references this bug:

Author: rodrigc
Date: Mon Jun 23 22:31:28 UTC 2014
New revision: 267807
URL: http://svnweb.freebsd.org/changeset/base/267807

Log:
  MFC r263795:

  Strict value checking will cause problem.
  Bay trail DN2820FYKH is supported on Linux but does not work on FreeBSD.
  This behaviour is bug-compatible with Linux-3.13.5.

  References:
  http://d.hatena.ne.jp/syuu1228/20140326
  http://lxr.linux.no/linux+v3.13.5/arch/x86/kernel/acpi/boot.c#L1094

  Submitted by: syuu
  PR: 187966

Changes:
_U  stable/10/
  stable/10/sbin/mount_nullfs/mount_nullfs.c
  stable/10/sys/x86/acpica/madt.c
Comment 3 commit-hook freebsd_committer freebsd_triage 2014-06-23 22:38:46 UTC
A commit references this bug:

Author: rodrigc
Date: Mon Jun 23 22:37:49 UTC 2014
New revision: 267809
URL: http://svnweb.freebsd.org/changeset/base/267809

Log:
  MFC r263795:

  Strict value checking will cause problem.
  Bay trail DN2820FYKH is supported on Linux but does not work on FreeBSD.
  This behaviour is bug-compatible with Linux-3.13.5.

  References:
  http://d.hatena.ne.jp/syuu1228/20140326
  http://lxr.linux.no/linux+v3.13.5/arch/x86/kernel/acpi/boot.c#L1094

  Submitted by: syuu
  PR: 187966

Changes:
_U  stable/10/
  stable/10/sys/x86/acpica/madt.c
Comment 4 commit-hook freebsd_committer freebsd_triage 2014-06-24 15:28:23 UTC
A commit references this bug:

Author: rodrigc
Date: Tue Jun 24 15:28:09 UTC 2014
New revision: 267821
URL: http://svnweb.freebsd.org/changeset/base/267821

Log:
  MFC r263795:

  Strict value checking will cause problem.
  Bay trail DN2820FYKH is supported on Linux but does not work on FreeBSD.
  This behaviour is bug-compatible with Linux-3.13.5.

  References:
  http://d.hatena.ne.jp/syuu1228/20140326
  http://lxr.linux.no/linux+v3.13.5/arch/x86/kernel/acpi/boot.c#L1094

  Submitted by: syuu
  PR: 187966

Changes:
_U  stable/9/sys/
  stable/9/sys/x86/acpica/madt.c
Comment 5 Kurt Jaeger freebsd_committer freebsd_triage 2014-06-30 14:47:39 UTC
Can you try to get this committed in time for 9.3 ?

Thanks!
Comment 6 commit-hook freebsd_committer freebsd_triage 2014-06-30 23:39:45 UTC
A commit references this bug:

Author: rodrigc
Date: Mon Jun 30 23:39:13 UTC 2014
New revision: 268068
URL: http://svnweb.freebsd.org/changeset/base/268068

Log:
  MFC r267821:

  Strict value checking will cause problem.
  Bay trail DN2820FYKH is supported on Linux but does not work on FreeBSD.
  This behaviour is bug-compatible with Linux-3.13.5.

  References:
  http://d.hatena.ne.jp/syuu1228/20140326
  http://lxr.linux.no/linux+v3.13.5/arch/x86/kernel/acpi/boot.c#L1094

  Submitted by: syuu
  PR: 187966
  Approved by: re (gjb)

Changes:
_U  releng/9.3/sys/
  releng/9.3/sys/x86/acpica/madt.c
Comment 7 Ed Maste freebsd_committer freebsd_triage 2015-05-14 20:56:34 UTC
This is fixed now, correct?
Comment 8 Ed Maste freebsd_committer freebsd_triage 2016-05-20 20:49:27 UTC
It appears this was accidentally reopened