Commit Graph

73 Commits

Author SHA1 Message Date
Ed Schouten
71ccf09269 The last big commit: let usr.sbin/ use WARNS=6 by default. 2010-01-02 11:07:44 +00:00
John Baldwin
986dffaf53 - Use the headers from ACPI-CA to define various constants and structures
for table layouts, etc. rather than homerolling our own structures and
  constants in acpidump.h.
- Verify the extended checksum on the RSDP.
- Handle new ACPI 3.0 fields in MADT including X2APIC entries and
  UIDs for local SAPICs.
- Add handling for new ACPI 3.0 flags in the FADT.

Reviewed by:	jkim
MFC after:	1 month
2009-08-25 20:35:57 +00:00
John Baldwin
a0333ad155 Parse the System Resource Affinity Table ('SRAT') used to describe affinity
relationships between CPUs and memory.

Reviewed by:	jkim
Approved by:	re (kib)
MFC after:	1 week
2009-07-29 19:07:24 +00:00
Jung-uk Kim
990651167b Import ACPICA 20090521. 2009-06-05 18:50:45 +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
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
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
59a3c79da6 Sort sections. 2005-01-18 20:02:45 +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
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
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
f4e1e42f4b Expand contraction. 2004-06-04 19:21:06 +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
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
Nate Lawson
c2962974d0 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
Nate Lawson
c83f0f992a 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
Nate Lawson
4e36f5a1b9 Add a newline even if IAPC_BOOT_ARCH == 0. 2003-10-29 17:59:05 +00:00
Nate Lawson
69a9febdc2 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
Nate Lawson
5cd10ac5d9 Correct typo in comment. 2003-09-14 00:40:24 +00:00
Nate Lawson
2e71eb1257 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
Nate Lawson
51c1824f80 C2/C3 latency is in microseconds (us), not ms. 2003-09-13 18:47:49 +00:00
Nate Lawson
c08c4e81fc 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
Nate Lawson
e47f1780cd Reduce the default width for IO port GAS printing.
Courtesy of:	rwatson's chart presentation
2003-09-13 17:32:45 +00:00
Nate Lawson
55d7ff9ea2 Add dumping of the ECDT table.
Courtesy of:	USENIX hall track
2003-09-10 23:52:12 +00:00
Nate Lawson
773b6454af 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
Nate Lawson
a74172ab68 Add support for ACPI 2.x and the XSDT.
Submitted by:	marcel
2003-09-09 08:54:04 +00:00
Nate Lawson
8e6a8737d7 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
Nate Lawson
945137d9b4 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 Wemm
55da3c73ae Hoo sed I kan spel? 2003-08-02 01:58:33 +00:00
Peter Wemm
79d7565c5a 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
Nate Lawson
d6c5005c05 Fix a warning about deprecated string literals.
Reviewed by:	diff
2003-04-15 05:15:50 +00:00
John Baldwin
0a47312495 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
John Baldwin
7f3d3d9b26 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