Commit Graph

140 Commits

Author SHA1 Message Date
Rui Paulo
76c586c6a1 Update to reflect reality:
* iasl(8) supports ACPI 3.0b.
	* Add new options.

MFC after:	1 week
2008-05-20 12:07:02 +00:00
John Birrell
0aad0f2282 These are the things that the tinderbox has problems with because it
doesn't use the default CFLAGS which contain -fno-strict-aliasing.

Until the code is cleaned up, just add -fno-strict-aliasing to the
CFLAGS of these for the tinderboxes' sake, allowing the rest of the
tree to have -Werror enabled again.
2007-11-20 02:07:30 +00:00
John Birrell
5fae240990 Use an explicit pointer cast since NULL isn't guaranteed to be defined
as a pointer type.

Submitted by: Christoph Mallon - christoph mallon at gmx de
2007-11-18 09:13:08 +00:00
John Birrell
347f22bec6 Use a NULL instead of a zero to avoid a compiler warning about a missing sentinel. 2007-11-18 03:45:55 +00:00
Marcel Moolenaar
c44b9f1811 Fix acpidump(8) on ia64. Revision 1.13 introduced an uninitialized
variable bug that's hidden by the precense of the hint_acpi_0_rsdp
hint on 386 and amd64. There's never a need for such hint on ia64.

Approved by: re (kensmith)
2007-07-28 17:46:04 +00:00
Nate Lawson
00a304487f Update the suspend/resume user API while maintaining backwards compat.
Improvements:
* /etc/rc.suspend,rc.resume are always run, no matter the source of the
  suspend request (user or kernel, apm or acpi)
* suspend now requires positive user acknowledgement.  If a user program
  wants to cancel the suspend, they can.  If one of the user programs
  hangs or doesn't respond within 10 seconds, the system suspends anyway.
* /dev/apm is clonable, allowing multiple listeners for suspend events.
  In the future, xorg-server can use this to be informed about suspend
  even if there are other listeners (i.e. apmd).

Changes:
* Two new ACPI ioctls:  REQSLPSTATE and ACKSLPSTATE.  Request begins the
  process of suspending by notifying all listeners.  acpi is monitored by
  devd(8) and /dev/apm listener(s) are also counted.  Users register their
  approval or disapproval via Ack.  If anyone disapproves, suspend is vetoed.
* Old user programs or kernel modules that used SETSLPSTATE continue to
  work.  A message is printed once that this interface is deprecated.
* acpiconf gains the -k flag to ack the suspend request.  This flag is
  undocumented on purpose since it's only used by /etc/rc.suspend.  It is
  not intended to be a permanent change and will be removed once a better
  power API is implemented.
* S5 (power off) is no longer supported via acpiconf -s 5 or apm -z/-Z.
  This restores previous behavior of halt/shutdown -p being the interface.
* Miscellaneous improvements to error reporting

Approved by:	re
2007-06-21 22:50:37 +00:00
Takanori Watanabe
87f9f09a13 Correct HPET header handling.
MFC after: 7 days
2007-03-27 17:03:52 +00:00
Jung-uk Kim
2be4e4713a Catch up with ACPI-CA 20070320 import. 2007-03-22 18:16:43 +00:00
Nate Lawson
ceb8cd6464 Document exact command preferred for sending ASL as part of bug reports. 2007-03-14 22:55:30 +00:00
Jung-uk Kim
e8d472a7af Catch up with ACPI-CA 20051021 import 2005-11-01 22:44:08 +00:00
Nate Lawson
0af442fbcf Correct column alignment. 2005-07-28 19:41:52 +00:00
Nate Lawson
7a20dc58a8 Fix nits in reporting battery information and add battery status reporting.
Rate units are mA/mW, not mAh/mWh.  Get full battery status and time
remaining from ACPIIO_BATT_GET_BATTINFO instead of BST.

PR:		bin/83672
MFC after:	2 days
2005-07-28 19:31:28 +00:00
Nate Lawson
d551ef2b72 Use the current BST/BIF ioctls, not the deprecated ones.
MFC after:	2 days
2005-07-22 19:19:00 +00:00
Scott Long
348c9a5668 Fix a small style problem and add a __packed pragma for safety. 2005-02-17 21:09:26 +00:00
Nate Lawson
24945e902d Note addition of MCFG support. 2005-02-14 16:32:32 +00:00
Scott Long
a47e681b24 Add support for parsing MCFG tables. 2005-02-14 11:21:48 +00:00
Ruslan Ermilov
6b806d21d1 Fixed the misplaced $FreeBSD$. 2005-02-09 18:07:17 +00:00
Ruslan Ermilov
59a3c79da6 Sort sections. 2005-01-18 20:02:45 +00:00
Nate Lawson
a41e7b6aa9 Catch up with the kernel and set any global variables we are using, in
particular, enabling interpreter workarounds for bad ASL.

MFC after:	1 day
2005-01-03 04:14:05 +00:00
Warner Losh
bfccea1e5d o Report charge/discharge rate and remaining capacity in the proper
units (as specified in _BIF). (noted by Bruno Ducrot)
o In looking in the standard, if the cap numbers are 0xffffffff, then acpi
  is reporting unknown for that field.  Report unknown numbers properly.
o Update the state to reflect charging, discharging and critical.
2004-11-24 16:02:20 +00:00
Warner Losh
95e583726f phk jumped the gun and posted what looks like a preliminary version of
my patches for this information.  Commit my more complete version.
This version isn't complete yet, since some details aren't handled
right just yet.

Poaching by: phk
2004-11-24 15:32:07 +00:00
Poul-Henning Kamp
fdcef74733 Dump current status of battery as well.
The -i code doesn't really belong here in the first place I would think,
but keep it together for now.
2004-11-24 12:49:39 +00:00
Warner Losh
46433fccd1 Minor style(9) before possible larger commits. 2004-11-16 06:25:02 +00:00
Philip Paeps
6af2c48a95 Somehow I missed this last night, acpi_init() doesn't return an int.
Spotted by:	Randy Bush <randy@psg.com>
2004-11-13 15:16:35 +00:00
Philip Paeps
413efd9141 With the addition of a proper prototype, this is now WARNS=6 clean. 2004-11-13 01:54:22 +00:00
Philip Paeps
9599d206a4 Two uint32_t casts crept in where they shouldn't have.
ACPI_TYPE_INTEGER can be 64 bits wide in acpi v2.
2004-11-13 01:49:22 +00:00
Philip Paeps
e18d08c9b0 Change some formats and add some casts to make this
WARNS=2 clean, and mark it as such.

PR:		71672 (partly)
Reviewed by:	njl
2004-11-13 01:34:51 +00:00
Nate Lawson
b64e1b6732 Update a comment that was outdated. 2004-10-05 21:24:20 +00:00
Nate Lawson
f7675a5634 Back out the -s flag and go back to dumping the SSDTs by default. 2004-10-05 20:45:05 +00:00
Nate Lawson
e840018e96 Update the man page for the -s flag and other changes that we've missed.
MFC after:	3 days
2004-10-05 02:19:30 +00:00
Nate Lawson
62c7bde198 Add the -s flag to make dumping SSDTs optional (disabled by default).
Since we can only override the DSDT, a custom ASL dumped previously that
contained SSDTs would result in lots of multiple definition errors.

A longer-term fix involves adding the ability to override SSDTs to ACPI-CA.

MFC after:	3 days
2004-10-05 02:18:53 +00:00
Nate Lawson
5cf6d493ab When one entry in the RSDT is corrupted, just skip it instead of bailing out.
This gets us the info we need on systems which have proprietary tables that
don't match the standard.  For instance, an AMI system has a table of type
"OEMB" with an invalid checksum.

Tested by:	Maxim Maximov <mcsi_at_mcsi.pp.ru>
MFC after:	1 day
2004-08-18 05:56:07 +00:00
Nate Lawson
64f3d62cda Update man page for supported table types.
MFC after:	1 day
2004-08-18 05:50:32 +00:00
Nate Lawson
e079f9491a Remove the ACPIIO_ENABLE and ACPIIO_DISABLE ioctls as well as all
callers.  These ioctls attempted to enable and disable the ACPI
interpreter at runtime.  In practice, it is not possible to boot with
ACPI and then disable it on many systems and trying to do so can cause
crashes, interrupt storms, etc.  Binary compatibility with userland is
retained.

MFC after:	2 days
2004-08-18 05:48:24 +00:00
Marcel Moolenaar
7611a6dcd6 We now handle SSDT tables. Remove a reference from the BUGS section
and explicitly mention SSDT when we talk about the DSDT so that people
don't have to guess whether it includes the SSDT.
While here, touch date.

Pointed out by: le@
2004-08-16 20:33:20 +00:00
Nate Lawson
c5fe547333 Comment out the ability to enable/disable ACPI at runtime. This appears
to not work reliably and crash some systems.  It is not supported at all
on others.  Pending discussion, the underlying ioctls will be removed.
2004-08-15 23:39:37 +00:00
Marcel Moolenaar
bfa3f012cd Add support for SSDT tables. Dumping or disassembling the DSDT will
now include the contents if any SSDT table as well. This makes use
of the property that one can concatenate the body of SSDT tables to
the DSDT, updating the DSDT header (length and checksum) and end up
with a larger and valid DSDT table. Hence, this also works with -f.

Reviewed by: njl@
2004-08-13 22:59:09 +00:00
Ruslan Ermilov
d37ea99837 Removed trailing whitespace. 2004-07-02 19:07:33 +00:00
Nate Lawson
2177d4e68d Also print out the standard header for FADT since it has one. 2004-06-30 03:23:51 +00:00
Ruslan Ermilov
9cdb6ee164 Assorted markup, grammar, and spelling fixes. 2004-06-13 18:03:44 +00:00
Ruslan Ermilov
037ac99f39 Tidy up markup. 2004-06-06 17:49:57 +00:00
Ruslan Ermilov
f4e1e42f4b Expand contraction. 2004-06-04 19:21:06 +00:00
Ruslan Ermilov
444d819f63 Markup nit: make the list of options look better. 2004-06-04 19:20:43 +00:00
Nate Lawson
a773b841f2 Unify the start/size parameters for the RSDP search area. Don't bother
trying to exclude the top end of the range since it should hurt to overlap
by 4 bytes in the off-chance the RSDP signature appears incorrectly at the
very top of our search space.
2004-05-28 07:25:23 +00:00
Nate Lawson
2c0d74e8e8 Use the correct location of the EBDA for searching for the RSDP.
The EBDA is the 1 KB area addressed by the 16 bit pointer at 0x40E.

Pointed out by:	robert.moore AT intel.com
2004-05-25 05:52:48 +00:00
Nate Lawson
f0dfade9f7 Add suspend/resume support to the debugger. 2004-05-25 02:56:55 +00:00
Nate Lawson
07c8b2af05 If the revision is 0, don't trust the length in the RSDP. Instead assume
an ACPI version 1.0 length.
2004-05-16 18:02:47 +00:00
Nate Lawson
2ff84d1485 Read in the entire RSDP but only run the standard checksum over the
version 1 header.  Add comments to explain what we're doing here better.

Reported by:	Alex Vasylenko <lxv@omut.org>
2004-05-16 05:31:40 +00:00
Nate Lawson
8fc0f4c675 Instead of scanning the entire lower 1 MB of RAM, only scan locations
where the RSD PTR can actually occur.  According to section 5.2.2
of the ACPI spec, we only consider two regions for the base address:

    1. EBDA (0x0 - 0x3FF)
    2. High memory (0xE0000 - 0xFFFFF)

I don't know whether this fixes any actual problems but is more correct.
2004-05-14 16:52:39 +00:00
Dag-Erling Smørgrav
476daaec24 Minor style issues. 2004-05-10 21:18:03 +00:00