History log of /openbsd/sys/dev/acpi/dsdt.c (Results 1 – 25 of 268)
Revision Date Author Comments
# 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@


1234567891011