diff options
author | sjg <sjg@FreeBSD.org> | 2015-05-27 01:19:58 +0000 |
---|---|---|
committer | sjg <sjg@FreeBSD.org> | 2015-05-27 01:19:58 +0000 |
commit | 65145fa4c81da358fcbc3b650156dab705dfa34e (patch) | |
tree | 55c065b6730aaac2afb6c29933ee6ec5fa4c4249 /usr.sbin/acpi | |
parent | 60ff4eb0dff94a04d75d0d52a3957aaaf5f8c693 (diff) | |
parent | e6b664c390af88d4a87208bc042ce503da664c3b (diff) | |
download | FreeBSD-src-65145fa4c81da358fcbc3b650156dab705dfa34e.zip FreeBSD-src-65145fa4c81da358fcbc3b650156dab705dfa34e.tar.gz |
Merge sync of head
Diffstat (limited to 'usr.sbin/acpi')
-rw-r--r-- | usr.sbin/acpi/acpiconf/acpiconf.c | 34 | ||||
-rw-r--r-- | usr.sbin/acpi/acpidb/Makefile | 9 | ||||
-rw-r--r-- | usr.sbin/acpi/acpidb/acpidb.c | 8 | ||||
-rw-r--r-- | usr.sbin/acpi/acpidump/acpi.c | 82 | ||||
-rw-r--r-- | usr.sbin/acpi/iasl/Makefile | 29 | ||||
-rw-r--r-- | usr.sbin/acpi/iasl/Makefile.depend | 5 |
6 files changed, 90 insertions, 77 deletions
diff --git a/usr.sbin/acpi/acpiconf/acpiconf.c b/usr.sbin/acpi/acpiconf/acpiconf.c index 5ca2f98..1fab4b6 100644 --- a/usr.sbin/acpi/acpiconf/acpiconf.c +++ b/usr.sbin/acpi/acpiconf/acpiconf.c @@ -136,16 +136,30 @@ acpi_battinfo(int num) if (ioctl(acpifd, ACPIIO_BATT_GET_BATTINFO, &battio) == -1) err(EX_IOERR, "get battery user info (%d) failed", num); if (battio.battinfo.state != ACPI_BATT_STAT_NOT_PRESENT) { - printf("State:\t\t\t"); - if (battio.battinfo.state == 0) - printf("high "); - if (battio.battinfo.state & ACPI_BATT_STAT_CRITICAL) - printf("critical "); - if (battio.battinfo.state & ACPI_BATT_STAT_DISCHARG) - printf("discharging "); - if (battio.battinfo.state & ACPI_BATT_STAT_CHARGING) - printf("charging "); - printf("\n"); + const char *state; + switch (battio.battinfo.state & ACPI_BATT_STAT_BST_MASK) { + case 0: + state = "high"; + break; + case ACPI_BATT_STAT_DISCHARG: + state = "discharging"; + break; + case ACPI_BATT_STAT_CHARGING: + state = "charging"; + break; + case ACPI_BATT_STAT_CRITICAL: + state = "critical"; + break; + case ACPI_BATT_STAT_DISCHARG | ACPI_BATT_STAT_CRITICAL: + state = "critical discharging"; + break; + case ACPI_BATT_STAT_CHARGING | ACPI_BATT_STAT_CRITICAL: + state = "critical charging"; + break; + default: + state = "invalid"; + } + printf("State:\t\t\t%s\n", state); if (battio.battinfo.cap == -1) printf("Remaining capacity:\tunknown\n"); else diff --git a/usr.sbin/acpi/acpidb/Makefile b/usr.sbin/acpi/acpidb/Makefile index 15d114d..d470a9b 100644 --- a/usr.sbin/acpi/acpidb/Makefile +++ b/usr.sbin/acpi/acpidb/Makefile @@ -12,9 +12,9 @@ SRCS+= dbcmds.c dbconvert.c dbdisply.c dbexec.c dbfileio.c \ dbtest.c dbutils.c dbxface.c # components/disassembler -SRCS+= dmbuffer.c dmdeferred.c dmnames.c dmobject.c dmopcode.c \ - dmresrc.c dmresrcl.c dmresrcl2.c dmresrcs.c dmutils.c \ - dmwalk.c +SRCS+= dmbuffer.c dmcstyle.c dmdeferred.c dmnames.c dmobject.c \ + dmopcode.c dmresrc.c dmresrcl.c dmresrcl2.c dmresrcs.c \ + dmutils.c dmwalk.c # components/dispatcher SRCS+= dsargs.c dscontrol.c dsfield.c dsinit.c dsmethod.c \ @@ -74,7 +74,6 @@ MAN= acpidb.8 WARNS?= 3 CFLAGS+= -DACPI_EXEC_APP -fno-strict-aliasing -DPADD= ${LIBPTHREAD} -LDADD= -lpthread +LIBADD= pthread .include <bsd.prog.mk> diff --git a/usr.sbin/acpi/acpidb/acpidb.c b/usr.sbin/acpi/acpidb/acpidb.c index 3688caf..b3d0021 100644 --- a/usr.sbin/acpi/acpidb/acpidb.c +++ b/usr.sbin/acpi/acpidb/acpidb.c @@ -74,6 +74,7 @@ static struct ACPIRegionContentList RegionContentList; static int aml_simulation_initialized = 0; ACPI_PHYSICAL_ADDRESS AeLocalGetRootPointer(void); +void AeDoObjectOverrides(void); void AeTableOverride(ACPI_TABLE_HEADER *, ACPI_TABLE_HEADER **); static void aml_simulation_init(void); @@ -99,6 +100,11 @@ AcpiOsGetRootPointer(void) } void +AeDoObjectOverrides(void) +{ +} + +void AeTableOverride(ACPI_TABLE_HEADER *ExistingTable, ACPI_TABLE_HEADER **NewTable) { } @@ -472,7 +478,7 @@ load_dsdt(const char *dsdtfile) return (-1); } - AcpiDbGetTableFromFile(filetmp, NULL); + AcpiDbGetTableFromFile(filetmp, NULL, TRUE); AcpiDbInitialize(); AcpiGbl_DebuggerConfiguration = 0; diff --git a/usr.sbin/acpi/acpidump/acpi.c b/usr.sbin/acpi/acpidump/acpi.c index ae7ebf2..52a9e8a 100644 --- a/usr.sbin/acpi/acpidump/acpi.c +++ b/usr.sbin/acpi/acpidump/acpi.c @@ -168,12 +168,18 @@ acpi_print_gas(ACPI_GENERIC_ADDRESS *gas) { switch(gas->SpaceId) { case ACPI_GAS_MEMORY: - printf("0x%08lx:%u[%u] (Memory)", (u_long)gas->Address, - gas->BitOffset, gas->BitWidth); + if (gas->BitWidth <= 32) + printf("0x%08x:%u[%u] (Memory)", + (u_int)gas->Address, gas->BitOffset, + gas->BitWidth); + else + printf("0x%016jx:%u[%u] (Memory)", + (uintmax_t)gas->Address, gas->BitOffset, + gas->BitWidth); break; case ACPI_GAS_IO: - printf("0x%02lx:%u[%u] (IO)", (u_long)gas->Address, - gas->BitOffset, gas->BitWidth); + printf("0x%02x:%u[%u] (IO)", (u_int)gas->Address, + gas->BitOffset, gas->BitWidth); break; case ACPI_GAS_PCI: printf("%x:%x+0x%x (PCI)", (uint16_t)(gas->Address >> 32), @@ -194,7 +200,7 @@ acpi_print_gas(ACPI_GENERIC_ADDRESS *gas) case ACPI_GAS_DATATABLE: case ACPI_GAS_FIXED: default: - printf("0x%08lx (?)", (u_long)gas->Address); + printf("0x%016jx (?)", (uintmax_t)gas->Address); break; } } @@ -831,7 +837,7 @@ acpi_handle_dmar_drhd(ACPI_DMAR_HARDWARE_UNIT *drhd) #undef PRINTFLAG printf("\tSegment=%d\n", drhd->Segment); - printf("\tAddress=0x%0jx\n", (uintmax_t)drhd->Address); + printf("\tAddress=0x%016jx\n", (uintmax_t)drhd->Address); remaining = drhd->Header.Length - sizeof(ACPI_DMAR_HARDWARE_UNIT); if (remaining > 0) @@ -856,8 +862,8 @@ acpi_handle_dmar_rmrr(ACPI_DMAR_RESERVED_MEMORY *rmrr) printf("\tType=RMRR\n"); printf("\tLength=%d\n", rmrr->Header.Length); printf("\tSegment=%d\n", rmrr->Segment); - printf("\tBaseAddress=0x%0jx\n", (uintmax_t)rmrr->BaseAddress); - printf("\tLimitAddress=0x%0jx\n", (uintmax_t)rmrr->EndAddress); + printf("\tBaseAddress=0x%016jx\n", (uintmax_t)rmrr->BaseAddress); + printf("\tLimitAddress=0x%016jx\n", (uintmax_t)rmrr->EndAddress); remaining = rmrr->Header.Length - sizeof(ACPI_DMAR_RESERVED_MEMORY); if (remaining > 0) @@ -912,7 +918,7 @@ acpi_handle_dmar_rhsa(ACPI_DMAR_RHSA *rhsa) printf("\n"); printf("\tType=RHSA\n"); printf("\tLength=%d\n", rhsa->Header.Length); - printf("\tBaseAddress=0x%0jx\n", (uintmax_t)rhsa->BaseAddress); + printf("\tBaseAddress=0x%016jx\n", (uintmax_t)rhsa->BaseAddress); printf("\tProximityDomain=0x%08x\n", rhsa->ProximityDomain); } @@ -1074,7 +1080,6 @@ acpi_print_rsdt(ACPI_TABLE_HEADER *rsdp) ACPI_TABLE_RSDT *rsdt; ACPI_TABLE_XSDT *xsdt; int i, entries; - u_long addr; rsdt = (ACPI_TABLE_RSDT *)rsdp; xsdt = (ACPI_TABLE_XSDT *)rsdp; @@ -1085,18 +1090,11 @@ acpi_print_rsdt(ACPI_TABLE_HEADER *rsdp) for (i = 0; i < entries; i++) { if (i > 0) printf(", "); - switch (addr_size) { - case 4: - addr = le32toh(rsdt->TableOffsetEntry[i]); - break; - case 8: - addr = le64toh(xsdt->TableOffsetEntry[i]); - break; - default: - addr = 0; - } - assert(addr != 0); - printf("0x%08lx", addr); + if (addr_size == 4) + printf("0x%08x", le32toh(rsdt->TableOffsetEntry[i])); + else + printf("0x%016jx", + (uintmax_t)le64toh(xsdt->TableOffsetEntry[i])); } printf(" }\n"); printf(END_COMMENT); @@ -1212,8 +1210,8 @@ acpi_print_fadt(ACPI_TABLE_HEADER *sdp) printf(", RESET_VALUE=%#x\n", fadt->ResetValue); } if (acpi_get_fadt_revision(fadt) > 1) { - printf("\tX_FACS=0x%08lx, ", (u_long)fadt->XFacs); - printf("X_DSDT=0x%08lx\n", (u_long)fadt->XDsdt); + printf("\tX_FACS=0x%016jx, ", (uintmax_t)fadt->XFacs); + printf("X_DSDT=0x%016jx\n", (uintmax_t)fadt->XDsdt); printf("\tX_PM1a_EVT_BLK="); acpi_print_gas(&fadt->XPm1aEventBlock); if (fadt->XPm1bEventBlock.Address != 0) { @@ -1268,10 +1266,9 @@ acpi_print_facs(ACPI_TABLE_FACS *facs) printf("S4BIOS"); printf("\n"); - if (facs->XFirmwareWakingVector != 0) { - printf("\tX_Firm_Wake_Vec=%08lx\n", - (u_long)facs->XFirmwareWakingVector); - } + if (facs->XFirmwareWakingVector != 0) + printf("\tX_Firm_Wake_Vec=%016jx\n", + (uintmax_t)facs->XFirmwareWakingVector); printf("\tVersion=%u\n", facs->Version); printf(END_COMMENT); @@ -1321,8 +1318,8 @@ acpi_print_rsd_ptr(ACPI_TABLE_RSDP *rp) printf("\tRSDT=0x%08x, cksum=%u\n", rp->RsdtPhysicalAddress, rp->Checksum); } else { - printf("\tXSDT=0x%08lx, length=%u, cksum=%u\n", - (u_long)rp->XsdtPhysicalAddress, rp->Length, + printf("\tXSDT=0x%016jx, length=%u, cksum=%u\n", + (uintmax_t)rp->XsdtPhysicalAddress, rp->Length, rp->ExtendedChecksum); } printf(END_COMMENT); @@ -1342,17 +1339,12 @@ acpi_handle_rsdt(ACPI_TABLE_HEADER *rsdp) xsdt = (ACPI_TABLE_XSDT *)rsdp; entries = (rsdp->Length - sizeof(ACPI_TABLE_HEADER)) / addr_size; for (i = 0; i < entries; i++) { - switch (addr_size) { - case 4: + if (addr_size == 4) addr = le32toh(rsdt->TableOffsetEntry[i]); - break; - case 8: + else addr = le64toh(xsdt->TableOffsetEntry[i]); - break; - default: - assert((addr = 0)); - } - + if (addr == 0) + continue; sdp = (ACPI_TABLE_HEADER *)acpi_map_sdt(addr); if (acpi_checksum(sdp, sdp->Length)) { warnx("RSDT entry %d (sig %.4s) is corrupt", i, @@ -1547,16 +1539,12 @@ sdt_from_rsdt(ACPI_TABLE_HEADER *rsdp, const char *sig, ACPI_TABLE_HEADER *last) xsdt = (ACPI_TABLE_XSDT *)rsdp; entries = (rsdp->Length - sizeof(ACPI_TABLE_HEADER)) / addr_size; for (i = 0; i < entries; i++) { - switch (addr_size) { - case 4: + if (addr_size == 4) addr = le32toh(rsdt->TableOffsetEntry[i]); - break; - case 8: + else addr = le64toh(xsdt->TableOffsetEntry[i]); - break; - default: - assert((addr = 0)); - } + if (addr == 0) + continue; sdt = (ACPI_TABLE_HEADER *)acpi_map_sdt(addr); if (last != NULL) { if (sdt == last) diff --git a/usr.sbin/acpi/iasl/Makefile b/usr.sbin/acpi/iasl/Makefile index 8f021a3..e9faad2 100644 --- a/usr.sbin/acpi/iasl/Makefile +++ b/usr.sbin/acpi/iasl/Makefile @@ -4,8 +4,8 @@ PROG= iasl # common SRCS= adfile.c adisasm.c adwalk.c ahids.c ahpredef.c \ - ahuuids.c cmfsize.c dmextern.c dmrestag.c dmtable.c \ - dmtbdump.c dmtbinfo.c getopt.c + ahtable.c ahuuids.c cmfsize.c dmextern.c dmrestag.c \ + dmtable.c dmtbdump.c dmtbinfo.c getopt.c # compiler SRCS+= aslanalyze.c aslascii.c aslbtypes.c aslcodegen.c \ @@ -16,23 +16,24 @@ SRCS+= aslanalyze.c aslascii.c aslbtypes.c aslcodegen.c \ aslmapenter.c aslmapoutput.c aslmaputils.c \ aslmessages.c aslmethod.c aslnamesp.c asloffset.c \ aslopcodes.c asloperands.c aslopt.c asloptions.c \ - aslpredef.c aslprepkg.c aslresource.c aslrestype1.c \ - aslrestype1i.c aslrestype2.c aslrestype2d.c \ - aslrestype2e.c aslrestype2q.c aslrestype2s.c \ - aslrestype2w.c aslstartup.c aslstubs.c asltransform.c \ - asltree.c aslutils.c asluuid.c aslwalks.c aslxref.c \ - dtcompile.c dtexpress.c dtfield.c dtio.c dtparser.y.h \ - dtparserlex.c dtparserparse.c dtsubtable.c dttable.c \ - dttemplate.c dtutils.c prexpress.c prmacros.c \ - prparser.y.h prparserlex.c prparserparse.c prscan.c \ - prutils.c + aslpredef.c aslprepkg.c aslprintf.c aslprune.c \ + aslresource.c aslrestype1.c aslrestype1i.c \ + aslrestype2.c aslrestype2d.c aslrestype2e.c \ + aslrestype2q.c aslrestype2s.c aslrestype2w.c \ + aslstartup.c aslstubs.c asltransform.c asltree.c \ + aslutils.c asluuid.c aslwalks.c aslxref.c dtcompile.c \ + dtexpress.c dtfield.c dtio.c dtparser.y.h dtparserlex.c \ + dtparserparse.c dtsubtable.c dttable.c dttemplate.c \ + dtutils.c prexpress.c prmacros.c prparser.y.h \ + prparserlex.c prparserparse.c prscan.c prutils.c # components/debugger SRCS+= dbfileio.c # components/disassembler -SRCS+= dmbuffer.c dmdeferred.c dmnames.c dmopcode.c dmresrc.c \ - dmresrcl.c dmresrcl2.c dmresrcs.c dmutils.c dmwalk.c +SRCS+= dmbuffer.c dmcstyle.c dmdeferred.c dmnames.c dmopcode.c \ + dmresrc.c dmresrcl.c dmresrcl2.c dmresrcs.c dmutils.c \ + dmwalk.c # components/dispatcher SRCS+= dsargs.c dscontrol.c dsfield.c dsobject.c dsopcode.c \ diff --git a/usr.sbin/acpi/iasl/Makefile.depend b/usr.sbin/acpi/iasl/Makefile.depend index 82b4665..0630151 100644 --- a/usr.sbin/acpi/iasl/Makefile.depend +++ b/usr.sbin/acpi/iasl/Makefile.depend @@ -10,6 +10,7 @@ DIRDEPS = \ lib/${CSU_DIR} \ lib/libc \ lib/libcompiler_rt \ + usr.bin/yacc.host \ .include <dirdeps.mk> @@ -60,6 +61,10 @@ aslpredef.o: aslcompiler.y.h aslpredef.po: aslcompiler.y.h aslprepkg.o: aslcompiler.y.h aslprepkg.po: aslcompiler.y.h +aslprintf.o: aslcompiler.y.h +aslprintf.po: aslcompiler.y.h +aslprune.o: aslcompiler.y.h +aslprune.po: aslcompiler.y.h aslresource.o: aslcompiler.y.h aslresource.po: aslcompiler.y.h aslrestype1.o: aslcompiler.y.h |