Home | History | Annotate | Download | only in acpidump
History log of /src/usr.sbin/acpitools/acpidump/acpi_user.c
RevisionDateAuthorComments
 1.6  06-Dec-2020  jmcneill acpi: add character device for accessing ACPI tables

The /dev/acpi character device gives an aperture into physical memory
that allows only read access to known ACPI tables: RSDP, XSDT/RSDT, and
the root tables. Adapt acpidump(8) to use this interface by default,
falling back to the old /dev/mem method if it is not available or if
ACPIDUMP_USE_DEVMEM=1 is set in the environment. The user visible benefit
of this change is that "options INSECURE" is no longer required to
dump ACPI tables.
 1.5  20-Aug-2020  riastradh mmap MAP_FAILED audit.
 1.4  04-Aug-2017  msaitoh Sync with FreeBSD's r321294:
- Dump TCG ACPI spec table (TCPA) more.
- Dump DMA Remapping Reporting table (DMAR).
- Consistently cast ACPICA 64-bit integer types when we print them.
- Display the 'Flags' field in the HPET Description Table.
- Do not crash when RSDT/XSDT contains an empty entry.
- Print 64-bit addresses clearly with leading zeros to avoid confusions.
- Create temp file safely.
- Add missing flags into FADT.
- Print some new ACPI 5.1 MADT entries.
- Use __arraycount().
- Warn and exit loop on invalid subtable length.
- Fix the type used to hold the value returned from getopt. On arm64 char is
unsigned so will never be -1.
 1.3  03-Aug-2017  msaitoh On UEFI environment, ACPI table is not at low address. Get ACPI root pointer
from hw.acpi.root first. Same as FreeBSD. This change fixes a problem that
acpidump(8) showed "acpidump: Can't find ACPI information".

XXX pullup-8
 1.2  22-Dec-2009  cegger branches: 1.2.38;
Import acpidump from FreeBSD per request from jmcneill@
Changes made in the port:
- adapt path to iasl from /usr/sbin/iasl to /usr/bin/iasl
- fix realpath() usage to accomplish NetBSD's behaviour
- use EXIT_FAILURE/EXIT_SUCCESS everywhere
- fix crash on corrupt DSDT file and print proper error message
- implemented additional ACPI table parsers for
BERT, BOOT, CPEP, DBGP, EINJ, ERST, HEST, MSCT, SBST,
SLIT, SPCR, TCPA, WAET, WDAT and WDRT
 1.1  14-Jan-2007  christos Add acpitools
 1.2.38.2  22-Nov-2017  martin Pull up following revision(s) (requested by msaitoh in ticket #378):
usr.sbin/acpitools/acpidump/acpi_user.c: revision 1.4
usr.sbin/acpitools/acpidump/acpi.c: revision 1.20
usr.sbin/acpitools/acpidump/acpidump.c: revision 1.7
usr.sbin/acpitools/acpidump/acpi.c: revision 1.21
usr.sbin/acpitools/acpidump/acpidump.8: revision 1.10
usr.sbin/acpitools/acpidump/acpi.c: revision 1.22
usr.sbin/acpitools/acpidump/acpidump.h: revision 1.6
usr.sbin/acpitools/acpidump/acpi.c: revision 1.23
usr.sbin/acpitools/acpidump/acpidump.h: revision 1.7
usr.sbin/acpitools/acpidump/acpi.c: revision 1.24
usr.sbin/acpitools/acpidump/acpidump.8: revision 1.8
usr.sbin/acpitools/acpidump/acpi.c: revision 1.25
usr.sbin/acpitools/acpidump/acpidump.8: revision 1.9
usr.sbin/acpitools/acpidump/acpi.c: revision 1.26
usr.sbin/acpitools/acpidump/acpi.c: revision 1.28
usr.sbin/acpitools/acpidump/acpi.c: revision 1.16
usr.sbin/acpitools/acpidump/acpi.c: revision 1.17
usr.sbin/acpitools/acpidump/acpi.c: revision 1.18
usr.sbin/acpitools/acpidump/acpi.c: revision 1.19
Sync with FreeBSD's r321294:
- Dump TCG ACPI spec table (TCPA) more.
- Dump DMA Remapping Reporting table (DMAR).
- Consistently cast ACPICA 64-bit integer types when we print them.
- Display the 'Flags' field in the HPET Description Table.
- Do not crash when RSDT/XSDT contains an empty entry.
- Print 64-bit addresses clearly with leading zeros to avoid confusions.
- Create temp file safely.
- Add missing flags into FADT.
- Print some new ACPI 5.1 MADT entries.
- Use __arraycount().
- Warn and exit loop on invalid subtable length.
- Fix the type used to hold the value returned from getopt. On arm64 char is
unsigned so will never be -1.
Check DSDT signature in acpi_handle_fadt() for broken ACPI table.
Add new function acpi_select_address() derived from acpi_get_fadt_revision().
On some systems, 32bit address is used for (X)Dsdt even if (X)Facs uses 64bit.
Don't assume an address size from FADT revision.
- Decode ACPI_HEST_GENERIC_V2.
- Decode ACPI_MADT_GENERIC_MSI_FRAME.
- Add NMI, CMCI, MCE, GPIO-Signal, ARMv8 SEA, ARMv8 SEI and GSIV
in acpi_print_hest_notify().
- Add ACPI_EINJ_SET_ERROR_TYPE_WITH_ADDRESS and ACPI_EINJ_GET_EXECUTE_TIMINGS
in acpi_print_einj_action().
- Add ACPI_ERST_EXECUTE_TIMINGS in acpi_print_erst_action().
- Decode NFIT (NVDIMM Firmware Interface Table) from FreeBSD.
Part of FreeBSD r323045:
- Print Valid Field in ACPI_NFIT_CONTROL_REGION with 0x%02x.
- Fix Flags of ACPI_NFIT_CONTROL_REGION.
- Add "Performance Server" and "Tablet" for Preferred_PM_Profile.
- Don't print FADT_RESET_REG if FADT version is 1.
- Print FADT ArmBootFlags, MinorRevision, SleepControl, SleepStatus and
HypervisorId.
- Print "{}" even if any flags aren't set.
Decode the following entries:
- DBG2 (Debug Port Table 2)
- SPMI (Server Platform Management Interface Table)
- WDDT (Watchdog Timer Description Table)
- UEFI (UEFI, not fully decoded yet)
Fix calculation the offset of the Action Table in WDAT to print each
entries correctly.
- Calculate offset of a sub header correctly in acpi_handle_hest() to print
all of sub entries in HEST correctly.
- Print a SpaceID number for unknown ID in acpi_print_gas().
- Use PRINTFLAG() in acpi_print_hest_notify().
- Use %u instead of %d for unsigned values in acpi_print_hest_generic().
- Space, tab and newline change for consistency output.
- Print a type number for unknown HEST sub entry ID.
Don't define GAS address ID constants in acpidump.h and use actypes.h's
definitions. No functional change.
Cosmetic change (tab and newline).
 1.2.38.1  22-Nov-2017  martin Pull up following revision(s) (requested by msaitoh in ticket #377):
usr.sbin/acpitools/acpidump/acpi_user.c: revision 1.3
On UEFI environment, ACPI table is not at low address. Get ACPI root pointer
from hw.acpi.root first. Same as FreeBSD. This change fixes a problem that
acpidump(8) showed "acpidump: Can't find ACPI information".
XXX pullup-8

RSS XML Feed