ACPI on CoreBoot ThinkPad

Moore, Robert robert.moore at intel.com
Tue Jan 8 16:02:35 UTC 2019



> -----Original Message-----
> From: owner-freebsd-acpi at freebsd.org [mailto:owner-freebsd-
> acpi at freebsd.org] On Behalf Of Johnny Sorocil
> Sent: Saturday, December 29, 2018 1:19 PM
> To: freebsd-acpi at freebsd.org
> Subject: ACPI on CoreBoot ThinkPad
> 
> Hi list,
> 
> I am trying to have reliable suspend and resume on my laptop after
> flashing CoreBoot and SeaBIOS on ThinkPad T430s.
> Problem is that system will shutdown because it thinks that temperature
> is too high:
> > acpi_tz0: WARNING - current temperature (128.1C) exceeds safe limits
> Laptop was in suspend less than a minute and it is not too hot on touch.
> 
> Not sure if relevant, but I noticed that acpidump from base doesn't
> work:
> > /usr/sbin/acpidump -dt > acpi_dt.asl
> > /usr/sbin/iasl acpi_dt.asl
> >
> > Intel ACPI Component Architecture
> > ASL+ Optimizing Compiler/Disassembler version 20181003
> > Copyright (c) 2000 - 2018 Intel Corporation
> >
> > Compiler aborting due to parser-detected syntax error(s)
> > acpi_dt.asl   6008:             }
> > Error    6126 -   syntax error ^
> >
> > acpi_dt.asl   6028:             }
> > Error    6126 -   syntax error ^
> >
> > acpi_dt.asl   6063:             }
> > Error    6126 -   syntax error ^
> >
> > acpi_dt.asl   6445:
> > Error    6126 - syntax error and premature End-Of-File
> >
> > ASL Input:     acpi_dt.asl - 6445 lines, 207014 bytes, 1574 keywords
> >
> > Compilation complete. 4 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
> 
> Another try with acpidump from ports:
> > /usr/local/bin/acpidump -b
> > /usr/local/bin/iasl dsdt.dat
> >
> > Intel ACPI Component Architecture
> > ASL+ Optimizing Compiler/Disassembler version 20181213
> > Copyright (c) 2000 - 2018 Intel Corporation
> >
> > File appears to be binary: found 4624 non-ASCII characters,
> > disassembling Binary file appears to be a valid ACPI table,
> > disassembling Input file dsdt.dat, Length 0x387B (14459) bytes
> > ACPI: DSDT 0x0000000000000000 00387B (v02 COREv4 COREBOOT 20110725
> > INTL
> 20180810)
> > Pass 1 parse of [DSDT]
> > Pass 2 parse of [DSDT]
> > Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)
> >
> > Parsing completed
> > Disassembly completed
> > ASL Output:    dsdt.dsl - 146025 bytes
> 
> So, at least I can use that DSDT:
>   cp dsdt.dat /boot/dsdt.aml
>   /boot/loader.conf:
>   acpi_dsdt_load="YES"
>   acpi_dsdt_name="/boot/dsdt.aml"
> 
> > dmesg | grep -i 'acpi error'
> > ACPI Error: No handler for Region [ERAM] (0xfffff80003580d00)
> [EmbeddedControl] (20181003/evregion-288)
> > ACPI Error: Region EmbeddedControl (ID=3) has no handler
> (20181003/exfldio-428)
[Moore, Robert] 

This is very bad, and means that the EC driver has not been loaded/initialized.

I'm not sure what that means in the context of FreeBSD.




> > ACPI Error: Method parse/execution failed
> > \134_SB.PCI0.LPCB.EC.BAT0._STA,
> AE_NOT_EXIST (20181003/psparse-677)
> > ACPI Error: No handler for Region [ERAM] (0xfffff80003580d00)
> [EmbeddedControl] (20181003/evregion-288)
> > ACPI Error: Region EmbeddedControl (ID=3) has no handler
> (20181003/exfldio-428)
> > ACPI Error: Method parse/execution failed
> > \134_SB.PCI0.LPCB.EC.BAT1._STA,
> AE_NOT_EXIST (20181003/psparse-677)
> > ACPI Error: AE_NOT_FOUND, While resolving a named reference package
> element - \134_PR_.CP00 (20181003/dspkginit-579)
> > ACPI Error: AE_NOT_FOUND, While resolving a named reference package
> element - \134_PR_.CP01 (20181003/dspkginit-579)
> > ACPI Error: AE_NOT_FOUND, While resolving a named reference package
> element - \134_PR_.CP02 (20181003/dspkginit-579)
> > ACPI Error: AE_NOT_FOUND, While resolving a named reference package
> element - \134_PR_.CP03 (20181003/dspkginit-579)
> > ACPI Error: AE_NOT_FOUND, While resolving a named reference package
> element - \134_PR_.CP00 (20181003/dspkginit-579)
> > ACPI Error: AE_NOT_FOUND, While resolving a named reference package
> element - \134_PR_.CP01 (20181003/dspkginit-579)
> > ACPI Error: AE_NOT_FOUND, While resolving a named reference package
> element - \134_PR_.CP02 (20181003/dspkginit-579)
> > ACPI Error: AE_NOT_FOUND, While resolving a named reference package
> element - \134_PR_.CP03 (20181003/dspkginit-579)
> > ACPI Error: uhub0: Method parse/execution failed <0x8086 XHCI root
> > HUB,
> class 9/0, rev 3.00/1.00, addr 1> on usbus0
> > ACPI Error: uhub1: Method parse/execution failed
> \134_SB.PCI0.LPCB.EC.AC._PSR, AE_NOT_FOUND (20181003/psparse-677)
> > ACPI Error: Method parse/execution failed \134PNOT, AE_NOT_FOUND
> (20181003/psparse-677)
> > ACPI Error: Method parse/execution failed
> > \134_SB.PCI0.LPCB.EC.AC._PSR,
> AE_NOT_FOUND (20181003/psparse-677)
> > ACPI Error: Method parse/execution failed \134PNOT, AE_NOT_FOUND
> (20181003/psparse-677)
> > ACPI Error: Method parse/execution failed
> > \134_SB.PCI0.LPCB.EC.AC._PSR,
> AE_NOT_FOUND (20181003/psparse-677)
> > ACPI Error: Method parse/execution failed \134PNOT, AE_NOT_FOUND
> (20181003/psparse-677)
> Full "dmesg.boot" file is attached.
> But now with DSDT unmodifed, my system lost sysctl dev.cpu:
> sysctl: unknown oid 'dev.cpu'
> 
> I have also tried to boot Linux (which doesn't have problems with resume
> after suspend) and dumped ACPI tables but that was not successfull
> (IIRC, problem was that FreeBSD was unable to parse DSDT from Linux)
> 
> I am using FreeBSD 12.0-RELEASE amd64 with small patch (but the problem
> with resume was same as with GENERIC kernel) so my battery can be
> recognized:
> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=196523&action=diff
> 
> Unfortunately currently I don't have stock BIOS ACPI tables (then I
> didn't know for acpica-tools package) but if needed I can flash stock
> BIOS and dump ACPI tables.
> Any ideas how to proceed with debugging?


More information about the freebsd-acpi mailing list