Commit Graph

97 Commits

Author SHA1 Message Date
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