#
3b372c34 |
| 14-May-2024 |
jsg <jsg@openbsd.org> |
remove prototypes with no matching function
|
#
0f9e9ec2 |
| 13-May-2024 |
jsg <jsg@openbsd.org> |
remove prototypes with no matching function ok mpi@
|
#
3b9d585e |
| 13-Apr-2024 |
jsg <jsg@openbsd.org> |
correct indentation
no functional change, found by smatch warnings ok miod@ bluhm@
|
#
4fd5269d |
| 08-Jan-2024 |
kettenis <kettenis@openbsd.org> |
Implement RootPathString support in the LoadTable() AML function. Fixes booting OpenBSD on some (ancient?) Hyper-V version.
Tested by Henryk Paluch ok mlarkin@
|
#
98863e5f |
| 09-Dec-2021 |
patrick <patrick@openbsd.org> |
Broken ACPI tables containing scopes that are larger than their outer shell are caught by our ACPI parser. Unfortunately in such cases our reaction was to start parsing AML somewhere outside our cur
Broken ACPI tables containing scopes that are larger than their outer shell are caught by our ACPI parser. Unfortunately in such cases our reaction was to start parsing AML somewhere outside our current scope. The intention was to clamp down the inner scope to the maximum of the outer one. So, rectify it.
This issue has shown up in EDK2's QEMU SBSA target, where the SSDT table was generated incorrectly. Surprisingly neither Linux nor ACPICA's iASL noticed that the table was broken.
ok kettenis@ millert@
show more ...
|
#
4df1e6c4 |
| 22-May-2021 |
kettenis <kettenis@openbsd.org> |
Fix aml_rwgsb(). My interpretation of the ACPI standard turned out to be wrong and the buffer size is implied by the field attribute instead of the field length like for normal OpRegion fields. Fix
Fix aml_rwgsb(). My interpretation of the ACPI standard turned out to be wrong and the buffer size is implied by the field attribute instead of the field length like for normal OpRegion fields. Fixes various laptops where reading multiple bytes from AML over an i2c bus would overflow the buffer. Still fixes the Dell Precision 3640.
ok tb@
show more ...
|
#
25c940e1 |
| 30-Mar-2021 |
kettenis <kettenis@openbsd.org> |
Handle systems, such as the Dell Precision 3640, that access GenericSerialBus operating regions witout checking whether they're really available. This needs to work on RAMDISK kernels as well. Sinc
Handle systems, such as the Dell Precision 3640, that access GenericSerialBus operating regions witout checking whether they're really available. This needs to work on RAMDISK kernels as well. Since we don't want to pull in the i2c subsystem on those, provide a separate and much simpler dummy implementation of the GenericSerialBus access code when SMALL_KERNEL is defined.
ok tb@
show more ...
|
#
73a5351e |
| 18-Mar-2021 |
yasuoka <yasuoka@openbsd.org> |
Fix previous (1.258). It breaks if localX itself is an object reference. found and test by Rafael Avila de Espindola
ok kettenis
|
#
71a585ed |
| 10-Mar-2021 |
tobhe <tobhe@openbsd.org> |
Handle named references in acpi_getdevlist(). Fixes a regression in acpitz caused by the reference handling change from December.
ok kettenis@ patrick@
|
#
abe2aacc |
| 10-Mar-2021 |
patrick <patrick@openbsd.org> |
Our ACPI namerefs are pointers to the byte structures for ACPI names. These are not in a printable format, hence printing them as string is wrong. Additionally, aml_searchrel()/aml_searchname() expe
Our ACPI namerefs are pointers to the byte structures for ACPI names. These are not in a printable format, hence printing them as string is wrong. Additionally, aml_searchrel()/aml_searchname() expect the name to be passed in a printable format as well. Passing a nameref can lead to an out-of-bounds read, and the comparison can fail. Hence make sure that namerefs are passed to aml_getname() first, which returns printable strings. Note that aml_getname() uses a static buffer, so there are a few restrictions how the string can be used.
ok kettenis@
show more ...
|
#
c1053d6a |
| 07-Mar-2021 |
yasuoka <yasuoka@openbsd.org> |
Fix aml_store() to work properly when the lvalue is a reference of LocalX. In that case, resolving the reference must be done before resetting the LocalX variable. test daniel
ok kettenis
|
#
d90a88ce |
| 17-Dec-2020 |
kettenis <kettenis@openbsd.org> |
Fix some issues with referencing named ACPI nodes from Packages. These references need to be resolved at runtime rather than when they're parsed such that they pick up the right values for those node
Fix some issues with referencing named ACPI nodes from Packages. These references need to be resolved at runtime rather than when they're parsed such that they pick up the right values for those nodes which can be changed when for example _INI methods run.
The current approach is to replace these reference with a string that names the node in question. The problem with that is that packages can also contain normal strings. Which means that we need special code that depends on the context where the package is used.
This diff takes a different approach by retaining a reference when parsing. Code that uses a package will need to resolve this reference but there is no ambiguiety anymore.
ok patrick@
show more ...
|
#
28747bd2 |
| 27-Sep-2020 |
kettenis <kettenis@openbsd.org> |
Add workaround for Lenovo X1 gen 8 which has AML that tries to invoke ToHexString() on a Package. Should probably be replaced by a better solution after release.
ok deraadt@
|
#
dd1b5e45 |
| 16-Sep-2020 |
jsg <jsg@openbsd.org> |
disable acpivout brightness control on machines aware of Windows 8
On a HP ProBook 650 G1 acpivout backlight brightness control only works if we don't claim to be Windows 8. If we don't claim to be
disable acpivout brightness control on machines aware of Windows 8
On a HP ProBook 650 G1 acpivout backlight brightness control only works if we don't claim to be Windows 8. If we don't claim to be Windows 8 _BCL gives 21 levels with increments of 5, otherwise 101 levels (0-100) and a _BCM that does nothing. This is related to requirements Microsoft has for Windows 8 and later hardware certification.
Having acpivout not fully attach lets inteldrm handle brightness ioctls. Brightness control via physical buttons will require a new acpi driver for the HP flavour of WMI.
Add Windows 10 2004 _OSI value to the list while here.
ok mpi@ kmos@ on an earlier version tested by kmos@ on 6460b and 6470b ProBooks which had the same problem feedback and ok kettenis@
show more ...
|
#
c950c8a4 |
| 26-Aug-2020 |
kettenis <kettenis@openbsd.org> |
Let aml_copyvalue() handle AML_OBJTYPE_DEVICE.
ok jmatthew@
|
#
85fcfc35 |
| 26-Aug-2020 |
visa <visa@openbsd.org> |
Declare hw_{prod,serial,uuid,vendor,ver} in <sys/systm.h>.
OK deraadt@, mpi@
|
#
ad7f7af0 |
| 21-Jul-2020 |
deraadt <deraadt@openbsd.org> |
acpi can use IPL_BIO (a low interrupt) since it only enqueues operations for later processing. The use of a high interrupt will predate suspend/resume efforts, we had to redesign acpi to be non-reen
acpi can use IPL_BIO (a low interrupt) since it only enqueues operations for later processing. The use of a high interrupt will predate suspend/resume efforts, we had to redesign acpi to be non-reentrant obviously discussed with kettenis, in snaps for more than a week
show more ...
|
#
cd0007da |
| 09-May-2020 |
jca <jca@openbsd.org> |
aml_die() doesn't return, hint the compiler
Avoids an uninitialized variable warning. ok kettenis@
|
#
1fa3f0a0 |
| 06-Apr-2020 |
cheloha <cheloha@openbsd.org> |
acpi(4): acpi_sleep(): tsleep(9) -> tsleep_nsec(9)
kettenis@ notes that ACPI integers are supposed to be unsigned, but ours are signed. This is a much deeper problem than what I'm looking to change
acpi(4): acpi_sleep(): tsleep(9) -> tsleep_nsec(9)
kettenis@ notes that ACPI integers are supposed to be unsigned, but ours are signed. This is a much deeper problem than what I'm looking to change with this conversion. To work around the issue for now we can round the sleep interval up to 1 millisecond.
There is a very nasty-looking rwsleep(9) call elsewhere in dev/acpi/dsdt.c that I'm going to leave as-is for now to avoid breaking something.
With input from pirofti@, kettenis@, and mortimer@.
Tested by Lucas Raab, Moises Simon, mortimer@, and gkoehler@.
ok kettenis@
show more ...
|
#
9a3ba62a |
| 16-Oct-2019 |
mlarkin <mlarkin@openbsd.org> |
Add a few newer _OSI strings to the parser.
Early in the release cycle is the right time to do this.
"yes please" jcs@. ok deraadt@
|
#
1eea934d |
| 10-Oct-2019 |
mlarkin <mlarkin@openbsd.org> |
Make reading past the end of an AML array not a panic.
Several machines have broken AML which reads past the end the end of an array. Previously this was an aml_die/panic. acpica just warns on such
Make reading past the end of an AML array not a panic.
Several machines have broken AML which reads past the end the end of an array. Previously this was an aml_die/panic. acpica just warns on such accesses, so this diff makes us do the same.
ok kettenis, jcs, deraadt
show more ...
|
#
738d52f8 |
| 10-Oct-2019 |
mlarkin <mlarkin@openbsd.org> |
Remove trailing whitespace
|
#
72b62a38 |
| 31-Jul-2019 |
jcs <jcs@openbsd.org> |
aml_find_node: perform callback on matched direct-child nodes before recursing into child devices looking for matches.
This ensures that when walking nodes with acpi_inidev, a method like \_SB_.PCI0
aml_find_node: perform callback on matched direct-child nodes before recursing into child devices looking for matches.
This ensures that when walking nodes with acpi_inidev, a method like \_SB_.PCI0._INI will be executed before \_SB_.PCI0.I2C1.TPL1._INI.
This matches how ACPICA walks nodes and a commonly-used DSDT template assumes that \OSYS has been initialized in \_SB_.PCI0._INI before being used by other device _INI methods.
This should also help to execute \_INI and \_SB_._INI first, if present, which ACPICA does explicitly.
Tested in snaps, ok deraadt
show more ...
|
#
becffb29 |
| 31-Jul-2019 |
jcs <jcs@openbsd.org> |
The ACPI 3 spec says the ToHexString and ToDec(imal)String operators can take a data argument of Integer, String, or Buffer types, not just Integer.
ok kettenis, deraadt
|
#
67fadc30 |
| 10-Jan-2019 |
kettenis <kettenis@openbsd.org> |
Properly implement (as far as we can) Event()/Signal()/Wait() AML operations.
ok mpi@, tedu@, deraadt@
|