Commit Graph

184 Commits

Author SHA1 Message Date
jkim
e72362d4d0 Catch up with ACPI-CA 20051021 import 2005-11-01 22:44:08 +00:00
njl
b9ae4bae64 Correct column alignment. 2005-07-28 19:41:52 +00:00
njl
ff3802a6f0 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
njl
feb635227b Use the current BST/BIF ioctls, not the deprecated ones.
MFC after:	2 days
2005-07-22 19:19:00 +00:00
scottl
f37aa50bc8 Fix a small style problem and add a __packed pragma for safety. 2005-02-17 21:09:26 +00:00
njl
01fa142d7e Note addition of MCFG support. 2005-02-14 16:32:32 +00:00
scottl
332a6d5ce3 Add support for parsing MCFG tables. 2005-02-14 11:21:48 +00:00
ru
114ea39c76 Fixed the misplaced $FreeBSD$. 2005-02-09 18:07:17 +00:00
ru
c05985f13f Sort sections. 2005-01-18 20:02:45 +00:00
njl
848b0d85e8 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
imp
00db5ac668 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
imp
d211cd088b 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
phk
897db391de 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
imp
b6ac51fc6e Minor style(9) before possible larger commits. 2004-11-16 06:25:02 +00:00
philip
34ee3dd317 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
39c4570592 With the addition of a proper prototype, this is now WARNS=6 clean. 2004-11-13 01:54:22 +00:00
philip
985b7bf736 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
65415730ab 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
njl
122c371535 Update a comment that was outdated. 2004-10-05 21:24:20 +00:00
njl
d99a39abe6 Back out the -s flag and go back to dumping the SSDTs by default. 2004-10-05 20:45:05 +00:00
njl
c5a7af0768 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
njl
7195f265b6 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
njl
0b7bb0599c 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
njl
83f40b7711 Update man page for supported table types.
MFC after:	1 day
2004-08-18 05:50:32 +00:00
njl
0e6427381e 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
df7926e569 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
njl
5e2ceaef26 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
a202a07472 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
ru
4b39413aeb Removed trailing whitespace. 2004-07-02 19:07:33 +00:00
njl
df4b7b1ecb Also print out the standard header for FADT since it has one. 2004-06-30 03:23:51 +00:00
ru
dc54ee200d Assorted markup, grammar, and spelling fixes. 2004-06-13 18:03:44 +00:00
ru
ee4a7e8b45 Tidy up markup. 2004-06-06 17:49:57 +00:00
ru
3cf80505ca Expand contraction. 2004-06-04 19:21:06 +00:00
ru
5e3e611342 Markup nit: make the list of options look better. 2004-06-04 19:20:43 +00:00
njl
570d897aff 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
njl
a26da2bf55 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
njl
20762a623d Add suspend/resume support to the debugger. 2004-05-25 02:56:55 +00:00
njl
e37a9f86ef 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
njl
826ff6bea7 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
njl
adf833a830 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
des
31cd8c7867 Minor style issues. 2004-05-10 21:18:03 +00:00
njl
6e5024f5b5 Instead of using a static, check for the FADT revision before using it.
This fixes a bug where acpidump -d crashed (but not -t -d).

Submitted by:	Alex Vasylenko <lxv@omut.org>
2004-04-18 05:21:36 +00:00
takawata
75cdec46df Fix style breakage.
Noticed by: njl
2004-03-05 02:48:22 +00:00
takawata
88a283005e Make unprivilaged user can see battery info. 2004-03-04 17:03:49 +00:00
des
42f562f3a8 I don't normally use my middle name, so remove it from attributions in
man pages (though not from copyright notices).  While I'm here, add email
addresses where appropriate.
2004-01-25 11:39:42 +00:00
ru
5af89f4e3a - Use the standard .y and .l transformation rules -- this fixes
the usual parallel make race in custom .y rules.

- Fixed some style bugs.

- Removed -v from YFLAGS.

Prodded by:     bde
Reviewed by:    bde, njl
2004-01-13 20:53:56 +00:00
ru
ad83565985 Use my newly acquired magic stick and put aslcompiler.y.h into
SRCS to teach make(1) that many .c sources are dependent on it.
This fixes parallel (-j) builds and makes it possible to build
individual .o files separately.

While here, removed PROG from CLEANFILES -- it's taken care of
already by bsd.prog.mk.
2004-01-11 19:26:33 +00:00
njl
3092e49246 Clean up the check for invalid X_DSDT and X_FACS portions of the FADT.
Add fadt_revision for telling if the FADT has correct 64 bit addresses,
separate from whether the XSDT has legal 64 bit addresses.
2004-01-04 22:27:53 +00:00
njl
dc92f60c73 Add support for /etc/rc.suspend and /etc/rc.resume for ACPI. They are
called directly from acpiconf(8).  Change both scripts to take a
subsystem (apm|acpi) and sleep level (suspend,standby|1-5) argument.
2003-12-30 17:28:06 +00:00
njl
6a559fd9e1 Add a newline even if IAPC_BOOT_ARCH == 0. 2003-10-29 17:59:05 +00:00
njl
1343b60a86 Only print an end '}' if the field was non-zero (i.e. there were some flags
to print).
2003-09-21 03:51:48 +00:00
njl
430e8af165 Correct typo in comment. 2003-09-14 00:40:24 +00:00
njl
5a3c5ce9aa For dumping the DSDT (-o option), be sure to use the X_DSDT address if
appropriate.  This should be the last change to make ia64 work.
2003-09-14 00:37:52 +00:00
njl
31d2c70e5e Add the -i flag to acpiconf(8) to retrieve battery information.
Rename a few structure elements.
2003-09-13 20:13:01 +00:00
njl
2978054385 C2/C3 latency is in microseconds (us), not ms. 2003-09-13 18:47:49 +00:00
njl
05db443aaf Only print various optional fields if they are non-zero. Always print the
required fields, no matter what their value.
2003-09-13 18:44:05 +00:00
njl
2d2b8d3823 Reduce the default width for IO port GAS printing.
Courtesy of:	rwatson's chart presentation
2003-09-13 17:32:45 +00:00
njl
e0b3f83077 Add dumping of the ECDT table.
Courtesy of:	USENIX hall track
2003-09-10 23:52:12 +00:00
njl
a77d2b18b1 o Workaround a bug where my T23 reports that it is ACPI 2.0x compatible
but has invalid 64 bit pointers for FACS and DSDT.
o Finish work to print all of the FADT and FACS.
o Resort the comment generating functions.  Submitted by: marcel

Courtesy of:	BSDcon back wall
2003-09-10 22:00:45 +00:00
njl
af72a7d7ba Add support for ACPI 2.x and the XSDT.
Submitted by:	marcel
2003-09-09 08:54:04 +00:00
njl
69df64797d Rename FACP to FADT throughout.
Update FADT for new fields including pm_profile, pstate_cnt, and cst_cnt.
Add acpi_print_gas() for printing various address formats.
Print FACS contents.
Remove unused code.
2003-09-09 08:31:58 +00:00
njl
b061e7d26c Now that amldb(8) is no longer needed by acpidump, remove the last vestiges
of the original userland ACPI implementation.  amldb is still available from
the devel/acpicatools port.
2003-08-28 03:38:18 +00:00
njl
f51148df74 Modify acpidump to use iasl(8) as the backend for disassembling AML.
Also clean up the output of dumped tables.  Update the man page for the
new usage.  Make WARNS=6 clean.
2003-08-28 03:33:07 +00:00
njl
b984cea442 Remove the band-aid to make these compile on amd64/ia64. 2003-08-11 15:49:14 +00:00
marcel
e97cb4c9d9 Apparently I limited my testing of the ductape and bubblegum solution
to acpidb. The same problem exists in iasl. Add JIT patching there
too.
Add a comment to both makefiles to increase the chance that both
kludges are removed when a real solution is committed.
2003-08-09 19:11:20 +00:00
marcel
af63867e64 Perform first-aid: unbreak the build for amd64 and ia64 by patching
osunixxf.c on the fly. This avoids having to pull it from the vendor
branch or otherwise pollute the repository with new short-lived files.

This should hold until the real fix arrives.
2003-08-09 07:06:09 +00:00
njl
4b26ed59de Hook acpidb(8) and iasl(8) up to the build and unhook amldb(8). It will
be going away after a short while but still available in ports.
2003-08-08 03:20:59 +00:00
njl
29ad90976f Add man pages for acpidb and iasl 2003-08-07 18:09:17 +00:00
njl
c425e70132 Add the acpidb and iasl utilities. This is not yet hooked up to the build.
Obtained from:	acpicatools port by Iwasaki-san
2003-08-07 16:51:50 +00:00
peter
120ded5cfe Hoo sed I kan spel? 2003-08-02 01:58:33 +00:00
peter
fa1757a156 Dump the HPET information block.
What is the HPET I hear you ask?  It is the High Precision Event Timer
that is supposed to supplement and eventually replace the 8254 timer and
the RTC periodic interrupts.  Among other things, it is 64 bit (can be
run in 32 bit mode for 32 bit cpus), and is suitable as a replacement for
the ACPI timer on SMP systems (the specs are much better) and as a
replacement for the ITC based synthetic clock for on ia64 systems.

It seems IA64 and AMD64 systems tend to have this.  It is likely to start
showing up in i386 systems if it isn't already on some of them.
2003-08-02 01:55:03 +00:00
njl
1e480ac87f Allow sleep states to be specified as S1, S2, ...
This is used by zzz(8).
2003-07-28 16:22:45 +00:00
njl
32b2682952 Support functions for the new ACPI import.
* AcpiOsDerivePciId(): finds a bus number, given the slot/func and the
    acpi parse tree.
  * AcpiOsPredefinedOverride(): use the sysctl hw.acpi.os_name to
    override the value for _OS.

Ideas from:	takawata, jhb
Reviewed by:	takawata, marcel
Tested on:	i386, ia64
2003-04-29 18:50:34 +00:00
njl
9dfe2aa5f6 Fix a warning about deprecated string literals.
Reviewed by:	diff
2003-04-15 05:15:50 +00:00
jhb
ad195fdafd Add code to parse the contents of an ACPI MADT table and to dump its
contents in the form of a comment in the acpidump output.  The output
is not in the prettiest output, but it does work correctly.

Approved by:	marcel
2003-01-08 20:46:25 +00:00
jhb
ca9e5cfca1 Add structure definitions for the various items in a ACPI Multiple
APIC Descriptor Table (MADT) which has the signature 'ACPI'.

Approved by:	marcel
2003-01-08 20:45:23 +00:00
schweikh
fec6546e12 english(4) police. 2002-12-27 12:15:40 +00:00
marcel
e8ad71d379 o Use sysctl machdep.acpi_root to get the physical address of the
RSDP. Scan the first 1MB on i386 if the sysctl fails,
o  Extend struct ACPIrsdp with the ACPI 2.0 fields which involves
   changing a prior reserved field into the ACPI revision,
o  Only calculate the RSDP checksum on the first 20 bytes to remain
   compatible with ACPI 1.0 tables; we don't check the extended
   checksum covering the whole table,
o  Use the length field in the RSDP to map the RSDP into the address
   space so that we don't have to know about future extensions here.
2002-12-19 08:06:53 +00:00
ru
fef14a0ffe mdoc(7) police: markup fixes.
Approved by:	re
2002-11-27 15:31:08 +00:00
jhb
428b49c893 Use __packed. 2002-10-09 19:46:09 +00:00
jhb
f1acb2c2a8 Only include parent directory Makefile.inc if it exists. Now you can
cvs co acpi and build acpi utilities w/o needing the usr.sbin Makefile.inc.
2002-09-17 14:56:23 +00:00
takawata
8ed6aafe9d Add sleep state explanation.
Requested by: murray at Cafe in Tokyo.
2002-09-16 12:11:25 +00:00
ru
ce971426f4 mdoc(7) police: Removed redundant .Ns calls. 2002-08-13 16:07:28 +00:00
charnier
d2168fe021 The .Nm utility 2002-07-14 14:47:15 +00:00
iwasaki
57bb0b6ca4 Resolve conflicts arising from the ACPI CA 20020611 import. 2002-07-09 17:54:02 +00:00
takawata
036636ab01 Fix bug on method local named object related panic and Bankfield
operation.
2002-03-02 15:05:26 +00:00
ru
5357957389 mdoc(7) police: kill WEOL and HSB, tidy up the AUTHORS section. 2002-01-10 14:36:17 +00:00
msmith
78b1a73890 Add support for decoding Buffer objects that contain PnP/ACPI resource
streams.  Since the output is bulky, it's controlled by the '-r'
option.

Document this in the manpage, and clean up some awkward English a
little.
2002-01-02 07:01:34 +00:00
cjc
5b52488acf Make the error messaging more helpful.
PR:		31483
Approved by:	iwasaki, ru
MFC after:	4 days
2001-11-30 11:35:01 +00:00
takawata
07757cfc52 Collect multi name handling.
Reported by :    Stephan Kulow <coolo@caldera.de>
2001-10-23 14:54:15 +00:00
iwasaki
7b150e8681 Fix UserTerms disassembling. Now that dumped ASL can be compiled with
ports/devel/acpitools (iasl).
 - Merge AML parser to build ACPI namespace
 - Comment header info. out so that ASL compiler ignore them
 - Fix DSDT header size to be discarded when DSDT file is specified
   for input (acpidump and amldb)
 - Write DSDT header as well into DSDT file for output
 - Fix some trivial typo (Concatenate and SizeOf)
 - Remove DEBUG_FLAGS from Makefile (acpidump and amldb)
2001-10-22 17:25:32 +00:00
dd
5a8c4c551c Fix typo.
PR:		30342
Submitted by:	Giorgos Keramidas <charon@labs.gr>
2001-09-05 19:21:25 +00:00
ru
4345758876 mdoc(7) police:
Avoid using parenthesis enclosure macros (.Pq and .Po/.Pc) with plain text.
Not only this slows down the mdoc(7) processing significantly, but it also
has an undesired (in this case) effect of disabling hyphenation within the
entire enclosed block.
2001-08-07 15:48:51 +00:00
msmith
61acbada86 ACPI CA doesn't recognis S4BIOS as a seperate sleep type anymore, so
drop support for it here until we work out a better way of handling it.
2001-07-21 21:51:44 +00:00
obrien
9c97c8f02d Perform a major cleanup of the usr.sbin Makefiles.
These are not perfectly in agreement with each other style-wise, but they
are orders of orders of magnitude more consistent style-wise than before.
2001-07-20 06:20:32 +00:00
obrien
be022bb715 Remove GCC'isms in CFLAGS. 2001-07-20 04:23:13 +00:00
dd
911ca14c87 Remove whitespace at EOL. 2001-07-15 08:06:20 +00:00
ru
0d5f9334cf mdoc(7) police: removed HISTORY info from the .Os call. 2001-07-10 15:12:08 +00:00
dd
eaa6ee03b8 mdoc(7) police: remove extraneous .Pp before and/or after .Sh. 2001-07-09 09:54:33 +00:00
ru
05e503d80a mdoc(7) police: sort SEE ALSO xrefs (sort -b -f +2 -3 +1 -2). 2001-07-06 16:46:48 +00:00