Commit Graph

55 Commits

Author SHA1 Message Date
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
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
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
3cf80505ca Expand contraction. 2004-06-04 19:21:06 +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
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
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
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
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
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
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
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
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
jhb
428b49c893 Use __packed. 2002-10-09 19:46:09 +00:00
charnier
d2168fe021 The .Nm utility 2002-07-14 14:47:15 +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
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
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
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
ru
05e503d80a mdoc(7) police: sort SEE ALSO xrefs (sort -b -f +2 -3 +1 -2). 2001-07-06 16:46:48 +00:00
ru
afd506414e - Backout botched attempt to introduce MANSECT feature.
- MAN[1-9] -> MAN.
2001-03-26 14:42:20 +00:00
ru
f10dc9aca1 Set the default manual section for usr.sbin/ to 8. 2001-03-20 18:17:26 +00:00
ru
68da07f735 mdoc(7) police: removed leading (non-sense) .Ns call. 2001-02-06 16:22:17 +00:00
ru
c23c39b3a4 mdoc(7) police: removed history info from the .Os FreeBSD call. 2000-12-14 11:52:05 +00:00