Age | Commit message (Collapse) | Author |
|
ok mpi@, tedu@, deraadt@
|
|
for now as amd64/i386 firmware still caters for legacy OSes that only
support a single PCI segment.
ok patrick@
|
|
ok mpi@, jung@, krw@, deraadt@
|
|
pocket which has a questionable BIOS. The code will now simply printf
and return to the caller without doing any I/O in this case. The spec
defines this to be undefined behaviour anyway.
ok kettenis, deraadt, pirofti
|
|
ok mlarkin@
|
|
pointed out by stsp@
|
|
ok mlarkin@
|
|
ok mlarkin@
|
|
provide the OEM defined regions that are used by the AML on some
Cherryview-based machines.
ok mlarkin@
|
|
|
|
assignment outside of the conditional.
ok stsp@
|
|
From Anton Lindqvist (anton.lindqvist(at)gmail.com)
|
|
|
|
The DSDT on at MacBooks takes many different and beneficial code
paths when the OS reports to be Darwin, but due to the way it checks
OSI, we can't just add Darwin to the aml_valid_osi array since later
checks for Windows variants will supersede the Darwin check.
Fixes suspend and keeps Thunderbolt ports powered up after resume.
One regression is that the acpibat driver no longer attaches and
will require an ACPI Smart Battery driver, which is in the works.
Adapted from a similar change in the Linux kernel from 2014.
ok deraadt
|
|
before.
|
|
uses the mapping between AML nodes and PCI devices that we establish.
Because _INIT methods may end up calling aml_rdpciaddr(), make sure we
create that mapping early. Also handle devices that aren't actually present.
These devices are now included in the mapping and reads will return an
all-ones patterm whereas writes are a no-op..
ok mlarkin@
|
|
ok jca@ (a while back)
|
|
This is needed by an upcoming acpiec commit that handles machines breaking
the current ACPI specifications.
Change suggested by and ok kettenis@, guenther@
|
|
ok kettenis@
|
|
these occurring recently.
|
|
The second argument of aml_showvalue() was probably supposed to set
the verbosity level through dnprintf() but in fact it does nothing.
OK deraadt@
|
|
|
|
AML to peek and poke at GPIO pins as if it were reading and writing
registers. For now this only implements peeking at pins. It will print
a message if AML attempt to poke at a pin. And it will panic if the
assumptions made in the code are violated.
ok mlarkin@
|
|
ACPI specs. With the correct value, it can now be used in a few places
instead of hardcoding 0x79.
ok kettenis@
|
|
2001.1 SP1 Windows Server 2003 SP1
2006.1 Windows Server 2008
2006 SP1 Windows Vista SP1
2006 SP2 Windows Vista SP2
2015 Windows 10
ok kettenis@
|
|
traverse sideways. This seems to be what all callersexpect it to do, and
fixes a bug in dwiic(4) where it would try to access i2c devices on busses
they're not attached to.
If there is any fallout from this change, the right thing to do is probably
to make sure callers pass the right node.
While there, change the return type to void, as the return value was useless
and none of the callers looked at it.
ok mlarkin@
|
|
This version also makes sure writes are properly aligned, preventing
the panics seen with the previous incarnation of this change.
Fixes battery status passthrough in vmware, brightness keys on my x220
and who knows what else.
ok mlarkin@, deraadt@
|
|
if the field is bigger. Fixes crashes seen on HP bc2500 blades with MP
kernels.
ok kettenis@
|
|
handling into RAMDISK. This is now possible because the install media
has ample room. The goal is to reduce special cases where we may be
skipping (unknown) important operations...
ok mlarkin kettenis
|
|
have any direct symbols used. Tested for indirect use by compiling
amd64/i386/sparc64 kernels.
ok tedu@ deraadt@
|
|
ok mpi@ kspillner@
|
|
modified. Some Sony and Asus laptops don't like this; the read seems to
trigger an unwanted SMI that makes the machine hang. Diagnosed by mpi@
ok mpi@
|
|
after discussions with beck deraadt kettenis.
|
|
width that isn't compatible with the alignment of the region:
OperationRegion (SATC, SystemMemory, 0xE008800A, 0x04)
Field (SATC, DWordAcc, NoLock, Preserve)
{
STCL, 16
}
DWordAcc means 4-byte access, but 0xE008800A is only 2-byte aligned.
Moreover, the region itself is 4 bytes long. From this I conclude
that 4-byte wide access to a 2-byte aligned address is really wanted
in cases like this.
ok deraadt@
|
|
must use the bus_space(9) API to access it instead of memcpy(9). Also make
sure we properly align access to fields that need more than byte alignment.
ok guenther@
|
|
(used only when ACPI_DEBUG is enabled)
From a diff on tech@ by Fabian Raetz, with a minor change by me, tested
on i386 and amd64 with ACPI_DEBUG enabled and disabled.
|
|
Get rid of the fake global lock code that these functions were using before.
ok pirofti@, mlarkin@
|
|
code paths.
ok pirofti@
|
|
by newer firmware. May cause problems with brightness control on some systems.
"lets see what happens" kettenis@, and.. deraadt@ agrees (..hopefully).
|
|
ok deraadt@
|
|
a couple of machines and so far caused no regressions. Pt this in the tree
now to get wider testing.
ok deraadt@
|
|
resolves a problem parsing the AML on an ASUS UX21A
originally from armani@
ok kettenis@
|
|
actually defined. The ACPI standard isn't clear wether this is allowed,
but it makes some sense to just initialize the object with the source of
the Store(). Fixes the resulting panic on that particular machine.
ok mlarkin@
|
|
only worked for field units that were 8 bits or less in size on fields
using byte access. Fixes issues origionally reported by jcs@ and armani@.
ok mlarkin@
|
|
ok millert@
|
|
function pointer arguments which are {used as,} wrappers around the kernel
printf function.
No functional change.
|
|
I think this diff is the way to go if we want to have proper locking in
our acpi drivers. This doesn't hook onto anything from the kernel and
is just building framework towards locking.
Okay mlarkin@, kettenis@.
|
|
on an AML node. Shortens the tricky code in a lot of callers.
Earlier version seen by pirofti and kettenis.
|
|
|
|
|