summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/amd64/acpica/madt.c2
-rw-r--r--sys/conf/files6
-rw-r--r--sys/dev/acpica/Osd/OsdSynch.c9
-rw-r--r--sys/dev/acpica/Osd/OsdTable.c3
-rw-r--r--sys/dev/acpica/acpi.c14
-rw-r--r--sys/dev/acpica/acpi_pci_link.c101
-rw-r--r--sys/dev/acpica/acpi_resource.c273
-rw-r--r--sys/dev/acpica/acpivar.h10
-rw-r--r--sys/i386/acpica/madt.c2
-rw-r--r--sys/modules/acpi/acpi/Makefile11
-rw-r--r--usr.sbin/acpi/Makefile.inc2
-rw-r--r--usr.sbin/acpi/acpidb/Makefile85
-rw-r--r--usr.sbin/acpi/acpidb/acpidb.c6
-rw-r--r--usr.sbin/acpi/iasl/Makefile78
14 files changed, 343 insertions, 259 deletions
diff --git a/sys/amd64/acpica/madt.c b/sys/amd64/acpica/madt.c
index 3af0b73..14282f5 100644
--- a/sys/amd64/acpica/madt.c
+++ b/sys/amd64/acpica/madt.c
@@ -229,7 +229,7 @@ madt_probe(void)
* the version 1.0 portion of the RSDP. Version 2.0 has
* an additional checksum that we verify first.
*/
- if (AcpiTbChecksum(rsdp, ACPI_RSDP_XCHECKSUM_LENGTH) != 0) {
+ if (AcpiTbGenerateChecksum(rsdp, ACPI_RSDP_XCHECKSUM_LENGTH)) {
if (bootverbose)
printf("MADT: RSDP failed extended checksum\n");
return (ENXIO);
diff --git a/sys/conf/files b/sys/conf/files
index 59c3d52..db0395f 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -208,6 +208,7 @@ contrib/dev/acpica/nsxfeval.c optional acpi
contrib/dev/acpica/nsxfname.c optional acpi
contrib/dev/acpica/nsxfobj.c optional acpi
contrib/dev/acpica/psargs.c optional acpi
+contrib/dev/acpica/psloop.c optional acpi
contrib/dev/acpica/psopcode.c optional acpi
contrib/dev/acpica/psparse.c optional acpi
contrib/dev/acpica/psscope.c optional acpi
@@ -219,6 +220,7 @@ contrib/dev/acpica/rsaddr.c optional acpi
contrib/dev/acpica/rscalc.c optional acpi
contrib/dev/acpica/rscreate.c optional acpi
contrib/dev/acpica/rsdump.c optional acpi
+contrib/dev/acpica/rsinfo.c optional acpi
contrib/dev/acpica/rsio.c optional acpi
contrib/dev/acpica/rsirq.c optional acpi
contrib/dev/acpica/rslist.c optional acpi
@@ -235,6 +237,8 @@ contrib/dev/acpica/tbutils.c optional acpi
contrib/dev/acpica/tbxface.c optional acpi
contrib/dev/acpica/tbxfroot.c optional acpi
contrib/dev/acpica/utalloc.c optional acpi
+contrib/dev/acpica/utcache.c optional acpi \
+ compile-with "${NORMAL_C} -DACPI_USE_LOCAL_CACHE"
contrib/dev/acpica/utclib.c optional acpi
contrib/dev/acpica/utcopy.c optional acpi
contrib/dev/acpica/utdebug.c optional acpi
@@ -244,7 +248,9 @@ contrib/dev/acpica/utglobal.c optional acpi
contrib/dev/acpica/utinit.c optional acpi
contrib/dev/acpica/utmath.c optional acpi
contrib/dev/acpica/utmisc.c optional acpi
+contrib/dev/acpica/utmutex.c optional acpi
contrib/dev/acpica/utobject.c optional acpi
+contrib/dev/acpica/utstate.c optional acpi
contrib/dev/acpica/utxface.c optional acpi
contrib/dev/ath/freebsd/ah_osdep.c optional ath_hal \
compile-with "${NORMAL_C} -I$S/contrib/dev/ath/freebsd"
diff --git a/sys/dev/acpica/Osd/OsdSynch.c b/sys/dev/acpica/Osd/OsdSynch.c
index f579d4e..659b6fb 100644
--- a/sys/dev/acpica/Osd/OsdSynch.c
+++ b/sys/dev/acpica/Osd/OsdSynch.c
@@ -351,18 +351,19 @@ AcpiOsDeleteLock (ACPI_HANDLE Handle)
* (and thus can't block) but since we have ithreads, we don't worry
* about potentially blocking.
*/
-void
-AcpiOsAcquireLock (ACPI_HANDLE Handle, UINT32 Flags)
+ACPI_NATIVE_UINT
+AcpiOsAcquireLock (ACPI_HANDLE Handle)
{
struct mtx *m = (struct mtx *)Handle;
if (Handle == NULL)
- return;
+ return (0);
mtx_lock(m);
+ return (0);
}
void
-AcpiOsReleaseLock (ACPI_HANDLE Handle, UINT32 Flags)
+AcpiOsReleaseLock (ACPI_HANDLE Handle, ACPI_NATIVE_UINT Flags)
{
struct mtx *m = (struct mtx *)Handle;
diff --git a/sys/dev/acpica/Osd/OsdTable.c b/sys/dev/acpica/Osd/OsdTable.c
index f938ad8..ce33e51 100644
--- a/sys/dev/acpica/Osd/OsdTable.c
+++ b/sys/dev/acpica/Osd/OsdTable.c
@@ -104,7 +104,8 @@ AcpiOsTableOverride (
sprintf(fake_ssdt.AslCompilerId, "%.4s", "FBSD");
fake_ssdt.AslCompilerRevision = htole32(1);
fake_ssdt.no_op = htole32(0x005c0310); /* Scope(\) */
- fake_ssdt.Checksum -= AcpiTbChecksum(&fake_ssdt, sizeof(fake_ssdt));
+ fake_ssdt.Checksum -= AcpiTbGenerateChecksum(&fake_ssdt,
+ sizeof(fake_ssdt));
}
*NewTable = (void *)&fake_ssdt;
}
diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c
index efab546..bb34549 100644
--- a/sys/dev/acpica/acpi.c
+++ b/sys/dev/acpica/acpi.c
@@ -1957,7 +1957,7 @@ acpi_FindIndexedResource(ACPI_BUFFER *buf, int index, ACPI_RESOURCE **resp)
return (AE_BAD_PARAMETER);
/* Check for terminator */
- if (rp->Id == ACPI_RSTYPE_END_TAG || rp->Length == 0)
+ if (rp->Type == ACPI_RESOURCE_TYPE_END_TAG || rp->Length == 0)
return (AE_NOT_FOUND);
rp = ACPI_NEXT_RESOURCE(rp);
}
@@ -1989,7 +1989,7 @@ acpi_AppendBufferResource(ACPI_BUFFER *buf, ACPI_RESOURCE *res)
if ((buf->Pointer = AcpiOsAllocate(buf->Length)) == NULL)
return (AE_NO_MEMORY);
rp = (ACPI_RESOURCE *)buf->Pointer;
- rp->Id = ACPI_RSTYPE_END_TAG;
+ rp->Type = ACPI_RESOURCE_TYPE_END_TAG;
rp->Length = 0;
}
if (res == NULL)
@@ -2005,7 +2005,7 @@ acpi_AppendBufferResource(ACPI_BUFFER *buf, ACPI_RESOURCE *res)
/* Range check, don't go outside the buffer */
if (rp >= (ACPI_RESOURCE *)((u_int8_t *)buf->Pointer + buf->Length))
return (AE_BAD_PARAMETER);
- if (rp->Id == ACPI_RSTYPE_END_TAG || rp->Length == 0)
+ if (rp->Type == ACPI_RESOURCE_TYPE_END_TAG || rp->Length == 0)
break;
rp = ACPI_NEXT_RESOURCE(rp);
}
@@ -2022,8 +2022,8 @@ acpi_AppendBufferResource(ACPI_BUFFER *buf, ACPI_RESOURCE *res)
* for some reason we are stuffing a *really* huge resource.
*/
while ((((u_int8_t *)rp - (u_int8_t *)buf->Pointer) +
- res->Length + ACPI_RESOURCE_LENGTH_NO_DATA +
- ACPI_RESOURCE_LENGTH) >= buf->Length) {
+ res->Length + ACPI_RS_SIZE_NO_DATA +
+ ACPI_RS_SIZE_MIN) >= buf->Length) {
if ((newp = AcpiOsAllocate(buf->Length * 2)) == NULL)
return (AE_NO_MEMORY);
bcopy(buf->Pointer, newp, buf->Length);
@@ -2035,11 +2035,11 @@ acpi_AppendBufferResource(ACPI_BUFFER *buf, ACPI_RESOURCE *res)
}
/* Insert the new resource. */
- bcopy(res, rp, res->Length + ACPI_RESOURCE_LENGTH_NO_DATA);
+ bcopy(res, rp, res->Length + ACPI_RS_SIZE_NO_DATA);
/* And add the terminator. */
rp = ACPI_NEXT_RESOURCE(rp);
- rp->Id = ACPI_RSTYPE_END_TAG;
+ rp->Type = ACPI_RESOURCE_TYPE_END_TAG;
rp->Length = 0;
return (AE_OK);
diff --git a/sys/dev/acpica/acpi_pci_link.c b/sys/dev/acpica/acpi_pci_link.c
index d7d1f63..8041f78 100644
--- a/sys/dev/acpica/acpi_pci_link.c
+++ b/sys/dev/acpica/acpi_pci_link.c
@@ -168,8 +168,8 @@ acpi_count_irq_resources(ACPI_RESOURCE *res, void *context)
struct link_count_request *req;
req = (struct link_count_request *)context;
- switch (res->Id) {
- case ACPI_RSTYPE_START_DPF:
+ switch (res->Type) {
+ case ACPI_RESOURCE_TYPE_START_DEPENDENT:
switch (req->in_dpf) {
case DPF_OUTSIDE:
/* We've started the first DPF. */
@@ -181,14 +181,14 @@ acpi_count_irq_resources(ACPI_RESOURCE *res, void *context)
break;
}
break;
- case ACPI_RSTYPE_END_DPF:
+ case ACPI_RESOURCE_TYPE_END_DEPENDENT:
/* We are finished with DPF parsing. */
KASSERT(req->in_dpf != DPF_OUTSIDE,
("%s: end dpf when not parsing a dpf", __func__));
req->in_dpf = DPF_OUTSIDE;
break;
- case ACPI_RSTYPE_IRQ:
- case ACPI_RSTYPE_EXT_IRQ:
+ case ACPI_RESOURCE_TYPE_IRQ:
+ case ACPI_RESOURCE_TYPE_EXTENDED_IRQ:
/*
* Don't count resources if we are in a DPF set that we are
* ignoring.
@@ -207,8 +207,8 @@ link_add_crs(ACPI_RESOURCE *res, void *context)
ACPI_SERIAL_ASSERT(pci_link);
req = (struct link_res_request *)context;
- switch (res->Id) {
- case ACPI_RSTYPE_START_DPF:
+ switch (res->Type) {
+ case ACPI_RESOURCE_TYPE_START_DEPENDENT:
switch (req->in_dpf) {
case DPF_OUTSIDE:
/* We've started the first DPF. */
@@ -222,14 +222,14 @@ link_add_crs(ACPI_RESOURCE *res, void *context)
break;
}
break;
- case ACPI_RSTYPE_END_DPF:
+ case ACPI_RESOURCE_TYPE_END_DEPENDENT:
/* We are finished with DPF parsing. */
KASSERT(req->in_dpf != DPF_OUTSIDE,
("%s: end dpf when not parsing a dpf", __func__));
req->in_dpf = DPF_OUTSIDE;
break;
- case ACPI_RSTYPE_IRQ:
- case ACPI_RSTYPE_EXT_IRQ:
+ case ACPI_RESOURCE_TYPE_IRQ:
+ case ACPI_RESOURCE_TYPE_EXTENDED_IRQ:
KASSERT(req->link_index < req->sc->pl_num_links,
("%s: array boundary violation", __func__));
link = &req->sc->pl_links[req->link_index];
@@ -242,10 +242,10 @@ link_add_crs(ACPI_RESOURCE *res, void *context)
* systems return multiple IRQs (which is nonsense for _CRS)
* when the link hasn't been programmed.
*/
- if (res->Id == ACPI_RSTYPE_IRQ) {
- if (res->Data.Irq.NumberOfInterrupts == 1)
+ if (res->Type == ACPI_RESOURCE_TYPE_IRQ) {
+ if (res->Data.Irq.InterruptCount == 1)
link->l_irq = res->Data.Irq.Interrupts[0];
- } else if (res->Data.ExtendedIrq.NumberOfInterrupts == 1)
+ } else if (res->Data.ExtendedIrq.InterruptCount == 1)
link->l_irq = res->Data.ExtendedIrq.Interrupts[0];
/*
@@ -268,13 +268,14 @@ link_add_prs(ACPI_RESOURCE *res, void *context)
{
struct link_res_request *req;
struct link *link;
- UINT32 *irqs;
- int i;
+ UINT8 *irqs = NULL;
+ UINT32 *ext_irqs = NULL;
+ int i, is_ext_irq = 1;
ACPI_SERIAL_ASSERT(pci_link);
req = (struct link_res_request *)context;
- switch (res->Id) {
- case ACPI_RSTYPE_START_DPF:
+ switch (res->Type) {
+ case ACPI_RESOURCE_TYPE_START_DEPENDENT:
switch (req->in_dpf) {
case DPF_OUTSIDE:
/* We've started the first DPF. */
@@ -286,14 +287,16 @@ link_add_prs(ACPI_RESOURCE *res, void *context)
break;
}
break;
- case ACPI_RSTYPE_END_DPF:
+ case ACPI_RESOURCE_TYPE_END_DEPENDENT:
/* We are finished with DPF parsing. */
KASSERT(req->in_dpf != DPF_OUTSIDE,
("%s: end dpf when not parsing a dpf", __func__));
req->in_dpf = DPF_OUTSIDE;
break;
- case ACPI_RSTYPE_IRQ:
- case ACPI_RSTYPE_EXT_IRQ:
+ case ACPI_RESOURCE_TYPE_IRQ:
+ is_ext_irq = 0;
+ /* fall through */
+ case ACPI_RESOURCE_TYPE_EXTENDED_IRQ:
/*
* Don't parse resources if we are in a DPF set that we are
* ignoring.
@@ -317,13 +320,13 @@ link_add_prs(ACPI_RESOURCE *res, void *context)
* _SRS.
*/
bcopy(res, &link->l_prs_template, sizeof(ACPI_RESOURCE));
- if (res->Id == ACPI_RSTYPE_IRQ) {
- link->l_num_irqs = res->Data.Irq.NumberOfInterrupts;
- irqs = res->Data.Irq.Interrupts;
- } else {
+ if (is_ext_irq) {
link->l_num_irqs =
- res->Data.ExtendedIrq.NumberOfInterrupts;
- irqs = res->Data.ExtendedIrq.Interrupts;
+ res->Data.ExtendedIrq.InterruptCount;
+ ext_irqs = res->Data.ExtendedIrq.Interrupts;
+ } else {
+ link->l_num_irqs = res->Data.Irq.InterruptCount;
+ irqs = res->Data.Irq.Interrupts;
}
if (link->l_num_irqs == 0)
break;
@@ -337,9 +340,15 @@ link_add_prs(ACPI_RESOURCE *res, void *context)
link->l_irqs = malloc(sizeof(int) * link->l_num_irqs,
M_PCI_LINK, M_WAITOK | M_ZERO);
for (i = 0; i < link->l_num_irqs; i++) {
- link->l_irqs[i] = irqs[i];
- if (irqs[i] >= NUM_ISA_INTERRUPTS)
- link->l_isa_irq = FALSE;
+ if (is_ext_irq) {
+ link->l_irqs[i] = ext_irqs[i];
+ if (ext_irqs[i] >= NUM_ISA_INTERRUPTS)
+ link->l_isa_irq = FALSE;
+ } else {
+ link->l_irqs[i] = irqs[i];
+ if (irqs[i] >= NUM_ISA_INTERRUPTS)
+ link->l_isa_irq = FALSE;
+ }
}
break;
default:
@@ -669,8 +678,8 @@ acpi_pci_link_srs_from_crs(struct acpi_pci_link_softc *sc, ACPI_BUFFER *srsbuf)
resource = (ACPI_RESOURCE *)crsbuf.Pointer;
end = (ACPI_RESOURCE *)((char *)crsbuf.Pointer + crsbuf.Length);
for (;;) {
- switch (resource->Id) {
- case ACPI_RSTYPE_START_DPF:
+ switch (resource->Type) {
+ case ACPI_RESOURCE_TYPE_START_DEPENDENT:
switch (in_dpf) {
case DPF_OUTSIDE:
/* We've started the first DPF. */
@@ -685,19 +694,19 @@ acpi_pci_link_srs_from_crs(struct acpi_pci_link_softc *sc, ACPI_BUFFER *srsbuf)
}
resptr = NULL;
break;
- case ACPI_RSTYPE_END_DPF:
+ case ACPI_RESOURCE_TYPE_END_DEPENDENT:
/* We are finished with DPF parsing. */
KASSERT(in_dpf != DPF_OUTSIDE,
("%s: end dpf when not parsing a dpf", __func__));
in_dpf = DPF_OUTSIDE;
resptr = NULL;
break;
- case ACPI_RSTYPE_IRQ:
+ case ACPI_RESOURCE_TYPE_IRQ:
MPASS(i < sc->pl_num_links);
- MPASS(link->l_prs_template.Id == ACPI_RSTYPE_IRQ);
+ MPASS(link->l_prs_template.Type == ACPI_RESOURCE_TYPE_IRQ);
newres = link->l_prs_template;
resptr = &newres;
- resptr->Data.Irq.NumberOfInterrupts = 1;
+ resptr->Data.Irq.InterruptCount = 1;
if (PCI_INTERRUPT_VALID(link->l_irq)) {
KASSERT(link->l_irq < NUM_ISA_INTERRUPTS,
("%s: can't put non-ISA IRQ %d in legacy IRQ resource type",
@@ -708,12 +717,12 @@ acpi_pci_link_srs_from_crs(struct acpi_pci_link_softc *sc, ACPI_BUFFER *srsbuf)
link++;
i++;
break;
- case ACPI_RSTYPE_EXT_IRQ:
+ case ACPI_RESOURCE_TYPE_EXTENDED_IRQ:
MPASS(i < sc->pl_num_links);
- MPASS(link->l_prs_template.Id == ACPI_RSTYPE_EXT_IRQ);
+ MPASS(link->l_prs_template.Type == ACPI_RESOURCE_TYPE_EXTENDED_IRQ);
newres = link->l_prs_template;
resptr = &newres;
- resptr->Data.ExtendedIrq.NumberOfInterrupts = 1;
+ resptr->Data.ExtendedIrq.InterruptCount = 1;
if (PCI_INTERRUPT_VALID(link->l_irq))
resptr->Data.ExtendedIrq.Interrupts[0] =
link->l_irq;
@@ -737,7 +746,7 @@ acpi_pci_link_srs_from_crs(struct acpi_pci_link_softc *sc, ACPI_BUFFER *srsbuf)
return (status);
}
}
- if (resource->Id == ACPI_RSTYPE_END_TAG)
+ if (resource->Type == ACPI_RESOURCE_TYPE_END_TAG)
break;
resource = ACPI_NEXT_RESOURCE(resource);
if (resource >= end)
@@ -764,10 +773,10 @@ acpi_pci_link_srs_from_links(struct acpi_pci_link_softc *sc,
/* Add a new IRQ resource from each link. */
link = &sc->pl_links[i];
newres = link->l_prs_template;
- if (newres.Id == ACPI_RSTYPE_IRQ) {
+ if (newres.Type == ACPI_RESOURCE_TYPE_IRQ) {
/* Build an IRQ resource. */
- newres.Data.Irq.NumberOfInterrupts = 1;
+ newres.Data.Irq.InterruptCount = 1;
if (PCI_INTERRUPT_VALID(link->l_irq)) {
KASSERT(link->l_irq < NUM_ISA_INTERRUPTS,
("%s: can't put non-ISA IRQ %d in legacy IRQ resource type",
@@ -778,7 +787,7 @@ acpi_pci_link_srs_from_links(struct acpi_pci_link_softc *sc,
} else {
/* Build an ExtIRQ resuorce. */
- newres.Data.ExtendedIrq.NumberOfInterrupts = 1;
+ newres.Data.ExtendedIrq.InterruptCount = 1;
if (PCI_INTERRUPT_VALID(link->l_irq))
newres.Data.ExtendedIrq.Interrupts[0] =
link->l_irq;
@@ -835,11 +844,11 @@ acpi_pci_link_route_irqs(device_t dev)
resource = (ACPI_RESOURCE *)srsbuf.Pointer;
end = (ACPI_RESOURCE *)((char *)srsbuf.Pointer + srsbuf.Length);
for (;;) {
- if (resource->Id == ACPI_RSTYPE_END_TAG)
+ if (resource->Type == ACPI_RESOURCE_TYPE_END_TAG)
break;
- switch (resource->Id) {
- case ACPI_RSTYPE_IRQ:
- case ACPI_RSTYPE_EXT_IRQ:
+ switch (resource->Type) {
+ case ACPI_RESOURCE_TYPE_IRQ:
+ case ACPI_RESOURCE_TYPE_EXTENDED_IRQ:
MPASS(i < sc->pl_num_links);
/*
diff --git a/sys/dev/acpica/acpi_resource.c b/sys/dev/acpica/acpi_resource.c
index 9f01e94..cde23e2 100644
--- a/sys/dev/acpica/acpi_resource.c
+++ b/sys/dev/acpica/acpi_resource.c
@@ -60,14 +60,14 @@ acpi_lookup_irq_handler(ACPI_RESOURCE *res, void *context)
struct lookup_irq_request *req;
u_int irqnum, irq;
- switch (res->Id) {
- case ACPI_RSTYPE_IRQ:
- case ACPI_RSTYPE_EXT_IRQ:
- if (res->Id == ACPI_RSTYPE_IRQ) {
- irqnum = res->Data.Irq.NumberOfInterrupts;
+ switch (res->Type) {
+ case ACPI_RESOURCE_TYPE_IRQ:
+ case ACPI_RESOURCE_TYPE_EXTENDED_IRQ:
+ if (res->Type == ACPI_RESOURCE_TYPE_IRQ) {
+ irqnum = res->Data.Irq.InterruptCount;
irq = res->Data.Irq.Interrupts[0];
} else {
- irqnum = res->Data.ExtendedIrq.NumberOfInterrupts;
+ irqnum = res->Data.ExtendedIrq.InterruptCount;
irq = res->Data.ExtendedIrq.Interrupts[0];
}
if (irqnum != 1)
@@ -111,23 +111,23 @@ acpi_config_intr(device_t dev, ACPI_RESOURCE *res)
u_int irq;
int pol, trig;
- switch (res->Id) {
- case ACPI_RSTYPE_IRQ:
- KASSERT(res->Data.Irq.NumberOfInterrupts == 1,
+ switch (res->Type) {
+ case ACPI_RESOURCE_TYPE_IRQ:
+ KASSERT(res->Data.Irq.InterruptCount == 1,
("%s: multiple interrupts", __func__));
irq = res->Data.Irq.Interrupts[0];
- trig = res->Data.Irq.EdgeLevel;
- pol = res->Data.Irq.ActiveHighLow;
+ trig = res->Data.Irq.Triggering;
+ pol = res->Data.Irq.Polarity;
break;
- case ACPI_RSTYPE_EXT_IRQ:
- KASSERT(res->Data.ExtendedIrq.NumberOfInterrupts == 1,
+ case ACPI_RESOURCE_TYPE_EXTENDED_IRQ:
+ KASSERT(res->Data.ExtendedIrq.InterruptCount == 1,
("%s: multiple interrupts", __func__));
irq = res->Data.ExtendedIrq.Interrupts[0];
- trig = res->Data.ExtendedIrq.EdgeLevel;
- pol = res->Data.ExtendedIrq.ActiveHighLow;
+ trig = res->Data.ExtendedIrq.Triggering;
+ pol = res->Data.ExtendedIrq.Polarity;
break;
default:
- panic("%s: bad resource type %u", __func__, res->Id);
+ panic("%s: bad resource type %u", __func__, res->Type);
}
BUS_CONFIG_INTR(dev, irq, (trig == ACPI_EDGE_SENSITIVE) ?
INTR_TRIGGER_EDGE : INTR_TRIGGER_LEVEL, (pol == ACPI_ACTIVE_HIGH) ?
@@ -186,129 +186,129 @@ acpi_parse_resources(device_t dev, ACPI_HANDLE handle,
curr += res->Length;
/* Handle the individual resource types */
- switch(res->Id) {
- case ACPI_RSTYPE_END_TAG:
+ switch(res->Type) {
+ case ACPI_RESOURCE_TYPE_END_TAG:
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES, "EndTag\n"));
curr = last;
break;
- case ACPI_RSTYPE_FIXED_IO:
- if (res->Data.FixedIo.RangeLength <= 0)
+ case ACPI_RESOURCE_TYPE_FIXED_IO:
+ if (res->Data.FixedIo.AddressLength <= 0)
break;
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES, "FixedIo 0x%x/%d\n",
- res->Data.FixedIo.BaseAddress,
- res->Data.FixedIo.RangeLength));
+ res->Data.FixedIo.Address,
+ res->Data.FixedIo.AddressLength));
set->set_ioport(dev, context,
- res->Data.FixedIo.BaseAddress,
- res->Data.FixedIo.RangeLength);
+ res->Data.FixedIo.Address,
+ res->Data.FixedIo.AddressLength);
break;
- case ACPI_RSTYPE_IO:
- if (res->Data.Io.RangeLength <= 0)
+ case ACPI_RESOURCE_TYPE_IO:
+ if (res->Data.Io.AddressLength <= 0)
break;
- if (res->Data.Io.MinBaseAddress == res->Data.Io.MaxBaseAddress) {
+ if (res->Data.Io.Minimum == res->Data.Io.Maximum) {
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES, "Io 0x%x/%d\n",
- res->Data.Io.MinBaseAddress,
- res->Data.Io.RangeLength));
+ res->Data.Io.Minimum,
+ res->Data.Io.AddressLength));
set->set_ioport(dev, context,
- res->Data.Io.MinBaseAddress,
- res->Data.Io.RangeLength);
+ res->Data.Io.Minimum,
+ res->Data.Io.AddressLength);
} else {
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES, "Io 0x%x-0x%x/%d\n",
- res->Data.Io.MinBaseAddress,
- res->Data.Io.MaxBaseAddress,
- res->Data.Io.RangeLength));
+ res->Data.Io.Minimum,
+ res->Data.Io.Maximum,
+ res->Data.Io.AddressLength));
set->set_iorange(dev, context,
- res->Data.Io.MinBaseAddress,
- res->Data.Io.MaxBaseAddress,
- res->Data.Io.RangeLength,
+ res->Data.Io.Minimum,
+ res->Data.Io.Maximum,
+ res->Data.Io.AddressLength,
res->Data.Io.Alignment);
}
break;
- case ACPI_RSTYPE_FIXED_MEM32:
- if (res->Data.FixedMemory32.RangeLength <= 0)
+ case ACPI_RESOURCE_TYPE_FIXED_MEMORY32:
+ if (res->Data.FixedMemory32.AddressLength <= 0)
break;
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES, "FixedMemory32 0x%x/%d\n",
- res->Data.FixedMemory32.RangeBaseAddress,
- res->Data.FixedMemory32.RangeLength));
+ res->Data.FixedMemory32.Address,
+ res->Data.FixedMemory32.AddressLength));
set->set_memory(dev, context,
- res->Data.FixedMemory32.RangeBaseAddress,
- res->Data.FixedMemory32.RangeLength);
+ res->Data.FixedMemory32.Address,
+ res->Data.FixedMemory32.AddressLength);
break;
- case ACPI_RSTYPE_MEM32:
- if (res->Data.Memory32.RangeLength <= 0)
+ case ACPI_RESOURCE_TYPE_MEMORY32:
+ if (res->Data.Memory32.AddressLength <= 0)
break;
- if (res->Data.Memory32.MinBaseAddress ==
- res->Data.Memory32.MaxBaseAddress) {
+ if (res->Data.Memory32.Minimum ==
+ res->Data.Memory32.Maximum) {
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES, "Memory32 0x%x/%d\n",
- res->Data.Memory32.MinBaseAddress,
- res->Data.Memory32.RangeLength));
+ res->Data.Memory32.Minimum,
+ res->Data.Memory32.AddressLength));
set->set_memory(dev, context,
- res->Data.Memory32.MinBaseAddress,
- res->Data.Memory32.RangeLength);
+ res->Data.Memory32.Minimum,
+ res->Data.Memory32.AddressLength);
} else {
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES, "Memory32 0x%x-0x%x/%d\n",
- res->Data.Memory32.MinBaseAddress,
- res->Data.Memory32.MaxBaseAddress,
- res->Data.Memory32.RangeLength));
+ res->Data.Memory32.Minimum,
+ res->Data.Memory32.Maximum,
+ res->Data.Memory32.AddressLength));
set->set_memoryrange(dev, context,
- res->Data.Memory32.MinBaseAddress,
- res->Data.Memory32.MaxBaseAddress,
- res->Data.Memory32.RangeLength,
+ res->Data.Memory32.Minimum,
+ res->Data.Memory32.Maximum,
+ res->Data.Memory32.AddressLength,
res->Data.Memory32.Alignment);
}
break;
- case ACPI_RSTYPE_MEM24:
- if (res->Data.Memory24.RangeLength <= 0)
+ case ACPI_RESOURCE_TYPE_MEMORY24:
+ if (res->Data.Memory24.AddressLength <= 0)
break;
- if (res->Data.Memory24.MinBaseAddress ==
- res->Data.Memory24.MaxBaseAddress) {
+ if (res->Data.Memory24.Minimum ==
+ res->Data.Memory24.Maximum) {
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES, "Memory24 0x%x/%d\n",
- res->Data.Memory24.MinBaseAddress,
- res->Data.Memory24.RangeLength));
- set->set_memory(dev, context, res->Data.Memory24.MinBaseAddress,
- res->Data.Memory24.RangeLength);
+ res->Data.Memory24.Minimum,
+ res->Data.Memory24.AddressLength));
+ set->set_memory(dev, context, res->Data.Memory24.Minimum,
+ res->Data.Memory24.AddressLength);
} else {
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES, "Memory24 0x%x-0x%x/%d\n",
- res->Data.Memory24.MinBaseAddress,
- res->Data.Memory24.MaxBaseAddress,
- res->Data.Memory24.RangeLength));
+ res->Data.Memory24.Minimum,
+ res->Data.Memory24.Maximum,
+ res->Data.Memory24.AddressLength));
set->set_memoryrange(dev, context,
- res->Data.Memory24.MinBaseAddress,
- res->Data.Memory24.MaxBaseAddress,
- res->Data.Memory24.RangeLength,
+ res->Data.Memory24.Minimum,
+ res->Data.Memory24.Maximum,
+ res->Data.Memory24.AddressLength,
res->Data.Memory24.Alignment);
}
break;
- case ACPI_RSTYPE_IRQ:
+ case ACPI_RESOURCE_TYPE_IRQ:
/*
* from 1.0b 6.4.2
* "This structure is repeated for each separate interrupt
* required"
*/
set->set_irq(dev, context, res->Data.Irq.Interrupts,
- res->Data.Irq.NumberOfInterrupts, res->Data.Irq.EdgeLevel,
- res->Data.Irq.ActiveHighLow);
+ res->Data.Irq.InterruptCount, res->Data.Irq.Triggering,
+ res->Data.Irq.Polarity);
break;
- case ACPI_RSTYPE_DMA:
+ case ACPI_RESOURCE_TYPE_DMA:
/*
* from 1.0b 6.4.3
* "This structure is repeated for each separate dma channel
* required"
*/
set->set_drq(dev, context, res->Data.Dma.Channels,
- res->Data.Dma.NumberOfChannels);
+ res->Data.Dma.ChannelCount);
break;
- case ACPI_RSTYPE_START_DPF:
- ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES, "start dependant functions\n"));
- set->set_start_dependant(dev, context,
+ case ACPI_RESOURCE_TYPE_START_DEPENDENT:
+ ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES, "start dependent functions\n"));
+ set->set_start_dependent(dev, context,
res->Data.StartDpf.CompatibilityPriority);
break;
- case ACPI_RSTYPE_END_DPF:
- ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES, "end dependant functions\n"));
- set->set_end_dependant(dev, context);
+ case ACPI_RESOURCE_TYPE_END_DEPENDENT:
+ ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES, "end dependent functions\n"));
+ set->set_end_dependent(dev, context);
break;
- case ACPI_RSTYPE_ADDRESS32:
+ case ACPI_RESOURCE_TYPE_ADDRESS32:
if (res->Data.Address32.AddressLength <= 0)
break;
if (res->Data.Address32.ProducerConsumer != ACPI_CONSUMER) {
@@ -331,47 +331,47 @@ acpi_parse_resources(device_t dev, ACPI_HANDLE handle,
if (res->Data.Address32.ResourceType == ACPI_MEMORY_RANGE) {
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES,
"Address32/Memory 0x%x/%d\n",
- res->Data.Address32.MinAddressRange,
+ res->Data.Address32.Minimum,
res->Data.Address32.AddressLength));
set->set_memory(dev, context,
- res->Data.Address32.MinAddressRange,
+ res->Data.Address32.Minimum,
res->Data.Address32.AddressLength);
} else {
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES,
"Address32/IO 0x%x/%d\n",
- res->Data.Address32.MinAddressRange,
+ res->Data.Address32.Minimum,
res->Data.Address32.AddressLength));
set->set_ioport(dev, context,
- res->Data.Address32.MinAddressRange,
+ res->Data.Address32.Minimum,
res->Data.Address32.AddressLength);
}
} else {
if (res->Data.Address32.ResourceType == ACPI_MEMORY_RANGE) {
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES,
"Address32/Memory 0x%x-0x%x/%d\n",
- res->Data.Address32.MinAddressRange,
- res->Data.Address32.MaxAddressRange,
+ res->Data.Address32.Minimum,
+ res->Data.Address32.Maximum,
res->Data.Address32.AddressLength));
set->set_memoryrange(dev, context,
- res->Data.Address32.MinAddressRange,
- res->Data.Address32.MaxAddressRange,
+ res->Data.Address32.Minimum,
+ res->Data.Address32.Maximum,
res->Data.Address32.AddressLength,
res->Data.Address32.Granularity);
} else {
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES,
"Address32/IO 0x%x-0x%x/%d\n",
- res->Data.Address32.MinAddressRange,
- res->Data.Address32.MaxAddressRange,
+ res->Data.Address32.Minimum,
+ res->Data.Address32.Maximum,
res->Data.Address32.AddressLength));
set->set_iorange(dev, context,
- res->Data.Address32.MinAddressRange,
- res->Data.Address32.MaxAddressRange,
+ res->Data.Address32.Minimum,
+ res->Data.Address32.Maximum,
res->Data.Address32.AddressLength,
res->Data.Address32.Granularity);
}
}
break;
- case ACPI_RSTYPE_ADDRESS16:
+ case ACPI_RESOURCE_TYPE_ADDRESS16:
if (res->Data.Address16.AddressLength <= 0)
break;
if (res->Data.Address16.ProducerConsumer != ACPI_CONSUMER) {
@@ -394,62 +394,62 @@ acpi_parse_resources(device_t dev, ACPI_HANDLE handle,
if (res->Data.Address16.ResourceType == ACPI_MEMORY_RANGE) {
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES,
"Address16/Memory 0x%x/%d\n",
- res->Data.Address16.MinAddressRange,
+ res->Data.Address16.Minimum,
res->Data.Address16.AddressLength));
set->set_memory(dev, context,
- res->Data.Address16.MinAddressRange,
+ res->Data.Address16.Minimum,
res->Data.Address16.AddressLength);
} else {
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES,
"Address16/IO 0x%x/%d\n",
- res->Data.Address16.MinAddressRange,
+ res->Data.Address16.Minimum,
res->Data.Address16.AddressLength));
set->set_ioport(dev, context,
- res->Data.Address16.MinAddressRange,
+ res->Data.Address16.Minimum,
res->Data.Address16.AddressLength);
}
} else {
if (res->Data.Address16.ResourceType == ACPI_MEMORY_RANGE) {
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES,
"Address16/Memory 0x%x-0x%x/%d\n",
- res->Data.Address16.MinAddressRange,
- res->Data.Address16.MaxAddressRange,
+ res->Data.Address16.Minimum,
+ res->Data.Address16.Maximum,
res->Data.Address16.AddressLength));
set->set_memoryrange(dev, context,
- res->Data.Address16.MinAddressRange,
- res->Data.Address16.MaxAddressRange,
+ res->Data.Address16.Minimum,
+ res->Data.Address16.Maximum,
res->Data.Address16.AddressLength,
res->Data.Address16.Granularity);
} else {
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES,
"Address16/IO 0x%x-0x%x/%d\n",
- res->Data.Address16.MinAddressRange,
- res->Data.Address16.MaxAddressRange,
+ res->Data.Address16.Minimum,
+ res->Data.Address16.Maximum,
res->Data.Address16.AddressLength));
set->set_iorange(dev, context,
- res->Data.Address16.MinAddressRange,
- res->Data.Address16.MaxAddressRange,
+ res->Data.Address16.Minimum,
+ res->Data.Address16.Maximum,
res->Data.Address16.AddressLength,
res->Data.Address16.Granularity);
}
}
break;
- case ACPI_RSTYPE_ADDRESS64:
+ case ACPI_RESOURCE_TYPE_ADDRESS64:
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES,
"unimplemented Address64 resource\n"));
break;
- case ACPI_RSTYPE_EXT_IRQ:
+ case ACPI_RESOURCE_TYPE_EXTENDED_IRQ:
if (res->Data.ExtendedIrq.ProducerConsumer != ACPI_CONSUMER) {
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES,
"ignored ExtIRQ producer\n"));
break;
}
- set->set_irq(dev, context,res->Data.ExtendedIrq.Interrupts,
- res->Data.ExtendedIrq.NumberOfInterrupts,
- res->Data.ExtendedIrq.EdgeLevel,
- res->Data.ExtendedIrq.ActiveHighLow);
+ set->set_ext_irq(dev, context, res->Data.ExtendedIrq.Interrupts,
+ res->Data.ExtendedIrq.InterruptCount,
+ res->Data.ExtendedIrq.Triggering,
+ res->Data.ExtendedIrq.Polarity);
break;
- case ACPI_RSTYPE_VENDOR:
+ case ACPI_RESOURCE_TYPE_VENDOR:
ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES,
"unimplemented VendorSpecific resource\n"));
break;
@@ -479,13 +479,15 @@ static void acpi_res_set_memory(device_t dev, void *context,
static void acpi_res_set_memoryrange(device_t dev, void *context,
u_int32_t low, u_int32_t high,
u_int32_t length, u_int32_t align);
-static void acpi_res_set_irq(device_t dev, void *context, u_int32_t *irq,
+static void acpi_res_set_irq(device_t dev, void *context, u_int8_t *irq,
int count, int trig, int pol);
-static void acpi_res_set_drq(device_t dev, void *context, u_int32_t *drq,
+static void acpi_res_set_ext_irq(device_t dev, void *context,
+ u_int32_t *irq, int count, int trig, int pol);
+static void acpi_res_set_drq(device_t dev, void *context, u_int8_t *drq,
int count);
-static void acpi_res_set_start_dependant(device_t dev, void *context,
+static void acpi_res_set_start_dependent(device_t dev, void *context,
int preference);
-static void acpi_res_set_end_dependant(device_t dev, void *context);
+static void acpi_res_set_end_dependent(device_t dev, void *context);
struct acpi_parse_resource_set acpi_res_parse_set = {
acpi_res_set_init,
@@ -495,9 +497,10 @@ struct acpi_parse_resource_set acpi_res_parse_set = {
acpi_res_set_memory,
acpi_res_set_memoryrange,
acpi_res_set_irq,
+ acpi_res_set_ext_irq,
acpi_res_set_drq,
- acpi_res_set_start_dependant,
- acpi_res_set_end_dependant
+ acpi_res_set_start_dependent,
+ acpi_res_set_end_dependent
};
struct acpi_res_context {
@@ -576,7 +579,7 @@ acpi_res_set_memoryrange(device_t dev, void *context, u_int32_t low,
}
static void
-acpi_res_set_irq(device_t dev, void *context, u_int32_t *irq, int count,
+acpi_res_set_irq(device_t dev, void *context, u_int8_t *irq, int count,
int trig, int pol)
{
struct acpi_res_context *cp = (struct acpi_res_context *)context;
@@ -592,7 +595,23 @@ acpi_res_set_irq(device_t dev, void *context, u_int32_t *irq, int count,
}
static void
-acpi_res_set_drq(device_t dev, void *context, u_int32_t *drq, int count)
+acpi_res_set_ext_irq(device_t dev, void *context, u_int32_t *irq, int count,
+ int trig, int pol)
+{
+ struct acpi_res_context *cp = (struct acpi_res_context *)context;
+
+ if (cp == NULL || irq == NULL)
+ return;
+
+ /* This implements no resource relocation. */
+ if (count != 1)
+ return;
+
+ bus_set_resource(dev, SYS_RES_IRQ, cp->ar_nirq++, *irq, 1);
+}
+
+static void
+acpi_res_set_drq(device_t dev, void *context, u_int8_t *drq, int count)
{
struct acpi_res_context *cp = (struct acpi_res_context *)context;
@@ -607,23 +626,23 @@ acpi_res_set_drq(device_t dev, void *context, u_int32_t *drq, int count)
}
static void
-acpi_res_set_start_dependant(device_t dev, void *context, int preference)
+acpi_res_set_start_dependent(device_t dev, void *context, int preference)
{
struct acpi_res_context *cp = (struct acpi_res_context *)context;
if (cp == NULL)
return;
- device_printf(dev, "dependant functions not supported\n");
+ device_printf(dev, "dependent functions not supported\n");
}
static void
-acpi_res_set_end_dependant(device_t dev, void *context)
+acpi_res_set_end_dependent(device_t dev, void *context)
{
struct acpi_res_context *cp = (struct acpi_res_context *)context;
if (cp == NULL)
return;
- device_printf(dev, "dependant functions not supported\n");
+ device_printf(dev, "dependent functions not supported\n");
}
/*
diff --git a/sys/dev/acpica/acpivar.h b/sys/dev/acpica/acpivar.h
index 9c0547d..eae6a40 100644
--- a/sys/dev/acpica/acpivar.h
+++ b/sys/dev/acpica/acpivar.h
@@ -323,13 +323,15 @@ struct acpi_parse_resource_set {
uint32_t length);
void (*set_memoryrange)(device_t dev, void *context, uint32_t low,
uint32_t high, uint32_t length, uint32_t align);
- void (*set_irq)(device_t dev, void *context, u_int32_t *irq,
+ void (*set_irq)(device_t dev, void *context, u_int8_t *irq,
int count, int trig, int pol);
- void (*set_drq)(device_t dev, void *context, u_int32_t *drq,
+ void (*set_ext_irq)(device_t dev, void *context, u_int32_t *irq,
+ int count, int trig, int pol);
+ void (*set_drq)(device_t dev, void *context, u_int8_t *drq,
int count);
- void (*set_start_dependant)(device_t dev, void *context,
+ void (*set_start_dependent)(device_t dev, void *context,
int preference);
- void (*set_end_dependant)(device_t dev, void *context);
+ void (*set_end_dependent)(device_t dev, void *context);
};
extern struct acpi_parse_resource_set acpi_res_parse_set;
diff --git a/sys/i386/acpica/madt.c b/sys/i386/acpica/madt.c
index 6b6a6e6..d0c8496 100644
--- a/sys/i386/acpica/madt.c
+++ b/sys/i386/acpica/madt.c
@@ -229,7 +229,7 @@ madt_probe(void)
* the version 1.0 portion of the RSDP. Version 2.0 has
* an additional checksum that we verify first.
*/
- if (AcpiTbChecksum(rsdp, ACPI_RSDP_XCHECKSUM_LENGTH) != 0) {
+ if (AcpiTbGenerateChecksum(rsdp, ACPI_RSDP_XCHECKSUM_LENGTH)) {
if (bootverbose)
printf("MADT: RSDP failed extended checksum\n");
return (ENXIO);
diff --git a/sys/modules/acpi/acpi/Makefile b/sys/modules/acpi/acpi/Makefile
index 79d37d2..d6ae1d1 100644
--- a/sys/modules/acpi/acpi/Makefile
+++ b/sys/modules/acpi/acpi/Makefile
@@ -24,15 +24,15 @@ SRCS+= hwacpi.c hwgpe.c hwregs.c hwsleep.c hwtimer.c
SRCS+= nsaccess.c nsalloc.c nsdump.c nseval.c nsinit.c
SRCS+= nsload.c nsnames.c nsobject.c nsparse.c nssearch.c
SRCS+= nsutils.c nswalk.c nsxfeval.c nsxfname.c nsxfobj.c
-SRCS+= psargs.c psopcode.c psparse.c psscope.c
+SRCS+= psargs.c psloop.c psopcode.c psparse.c psscope.c
SRCS+= pstree.c psutils.c pswalk.c psxface.c
-SRCS+= rsaddr.c rscalc.c rscreate.c rsdump.c rsio.c
+SRCS+= rsaddr.c rscalc.c rscreate.c rsdump.c rsinfo.c rsio.c
SRCS+= rsirq.c rslist.c rsmemory.c rsmisc.c rsutils.c
SRCS+= rsxface.c tbconvrt.c tbget.c tbgetall.c tbinstal.c
SRCS+= tbrsdt.c tbutils.c tbxface.c tbxfroot.c utalloc.c
-SRCS+= utclib.c utcopy.c utdebug.c utdelete.c uteval.c
-SRCS+= utglobal.c utinit.c utmath.c utmisc.c utobject.c
-SRCS+= utxface.c
+SRCS+= utcache.c utclib.c utcopy.c utdebug.c utdelete.c
+SRCS+= uteval.c utglobal.c utinit.c utmath.c utmisc.c
+SRCS+= utmutex.c utobject.c utstate.c utxface.c
# OSPM layer and core hardware drivers
SRCS+= acpi.c acpi_button.c acpi_isab.c
@@ -64,6 +64,7 @@ DBSRC+= dbinput.c dbstats.c dbutils.c dbxface.c
DBSRC+= dmbuffer.c dmnames.c dmopcode.c dmobject.c dmresrc.c dmresrcl.c
DBSRC+= dmresrcs.c dmutils.c dmwalk.c
+CFLAGS+=-DACPI_USE_LOCAL_CACHE
.if !defined(KERNBUILDDIR)
.if ACPI_MAX_THREADS
CFLAGS+=-DACPI_MAX_THREADS=${ACPI_MAX_THREADS}
diff --git a/usr.sbin/acpi/Makefile.inc b/usr.sbin/acpi/Makefile.inc
index 2fce920..3237afb 100644
--- a/usr.sbin/acpi/Makefile.inc
+++ b/usr.sbin/acpi/Makefile.inc
@@ -2,7 +2,7 @@
# $FreeBSD$
ACPICA_DIR= ${.CURDIR}/../../../sys/contrib/dev/acpica
-CFLAGS+= -I${.CURDIR}/../../../sys -I${ACPICA_DIR} -I${ACPICA_DIR}/compiler
+CFLAGS+= -I${.CURDIR}/../../../sys
.if exists(${.CURDIR}/../../Makefile.inc)
.include "${.CURDIR}/../../Makefile.inc"
diff --git a/usr.sbin/acpi/acpidb/Makefile b/usr.sbin/acpi/acpidb/Makefile
index 5541b56..7ad2970 100644
--- a/usr.sbin/acpi/acpidb/Makefile
+++ b/usr.sbin/acpi/acpidb/Makefile
@@ -1,38 +1,61 @@
# $FreeBSD$
PROG= acpidb
-SRCS+= acpidb.c
+SRCS= acpidb.c
SRCS+= osunixxf.c
-SRCS+= dbcmds.c dbdisply.c dbexec.c dbfileio.c \
- dbhistry.c dbinput.c dbstats.c dbutils.c \
- dbxface.c dmbuffer.c dmnames.c dmobject.c \
- dmopcode.c dmresrc.c dmresrcl.c dmresrcs.c \
- dmutils.c dmwalk.c dsfield.c dsinit.c \
- dsmethod.c dsmthdat.c dsobject.c dsopcode.c \
- dsutils.c dswexec.c dswload.c dswscope.c dswstate.c \
- evevent.c evgpe.c evgpeblk.c evmisc.c \
- evregion.c evrgnini.c evsci.c evxface.c \
- evxfevnt.c evxfregn.c exconfig.c exconvrt.c \
- excreate.c exdump.c exfield.c exfldio.c \
- exmisc.c exmutex.c exnames.c exoparg1.c \
- exoparg2.c exoparg3.c exoparg6.c exprep.c \
- exregion.c exresnte.c exresolv.c exresop.c \
- exstore.c exstoren.c exstorob.c exsystem.c exutils.c \
- hwacpi.c hwgpe.c hwregs.c hwsleep.c \
- nsaccess.c nsalloc.c nsdump.c nseval.c \
- nsinit.c nsload.c nsnames.c nsobject.c \
- nsparse.c nssearch.c nsutils.c nswalk.c \
- nsxfeval.c nsxfname.c nsxfobj.c \
- psargs.c psopcode.c psparse.c psscope.c \
- pstree.c psutils.c pswalk.c psxface.c \
- rsaddr.c rscalc.c rscreate.c rsdump.c \
- rsio.c rsirq.c rslist.c rsmemory.c \
- rsmisc.c rsutils.c rsxface.c \
- tbconvrt.c tbget.c tbgetall.c tbinstal.c \
- tbrsdt.c tbutils.c tbxface.c tbxfroot.c \
- utalloc.c utcopy.c utdebug.c utdelete.c \
- uteval.c utglobal.c utinit.c utmath.c \
- utmisc.c utobject.c utxface.c
+
+# debugger
+SRCS+= dbcmds.c dbdisply.c dbexec.c dbfileio.c dbhistry.c \
+ dbinput.c dbstats.c dbutils.c dbxface.c
+
+# disassembler
+SRCS+= dmbuffer.c dmnames.c dmobject.c dmopcode.c dmresrc.c \
+ dmresrcl.c dmresrcs.c dmutils.c dmwalk.c
+
+# events
+SRCS+= evevent.c evgpe.c evgpeblk.c evmisc.c evregion.c \
+ evrgnini.c evsci.c evxface.c evxfevnt.c evxfregn.c
+
+# hardware
+SRCS+= hwacpi.c hwgpe.c hwregs.c hwsleep.c
+
+# interpreter/dispatcher
+SRCS+= dsfield.c dsinit.c dsmethod.c dsmthdat.c dsobject.c \
+ dsopcode.c dsutils.c dswexec.c dswload.c dswscope.c \
+ dswstate.c
+
+# interpreter/executer
+SRCS+= exconfig.c exconvrt.c excreate.c exdump.c exfield.c \
+ exfldio.c exmisc.c exmutex.c exnames.c exoparg1.c \
+ exoparg2.c exoparg3.c exoparg6.c exprep.c exregion.c \
+ exresnte.c exresolv.c exresop.c exstore.c exstoren.c \
+ exstorob.c exsystem.c exutils.c
+
+# interpreter/parser
+SRCS+= psargs.c psloop.c psopcode.c psparse.c psscope.c \
+ pstree.c psutils.c pswalk.c psxface.c
+
+# namespace
+SRCS+= nsaccess.c nsalloc.c nsdump.c nseval.c nsinit.c \
+ nsload.c nsnames.c nsobject.c nsparse.c nssearch.c \
+ nsutils.c nswalk.c nsxfeval.c nsxfname.c nsxfobj.c
+
+# resources
+SRCS+= rsaddr.c rscalc.c rscreate.c rsdump.c rsinfo.c \
+ rsio.c rsirq.c rslist.c rsmemory.c rsmisc.c \
+ rsutils.c rsxface.c
+
+# tables
+SRCS+= tbconvrt.c tbget.c tbgetall.c tbinstal.c tbrsdt.c \
+ tbutils.c tbxface.c tbxfroot.c
+
+# tools/acpiexec
+SRCS+= aeexec.c
+
+# utilities
+SRCS+= utalloc.c utcache.c utcopy.c utdebug.c utdelete.c \
+ uteval.c utglobal.c utinit.c utmath.c utmisc.c \
+ utmutex.c utobject.c utstate.c utxface.c
MAN= acpidb.8
WARNS?= 2
diff --git a/usr.sbin/acpi/acpidb/acpidb.c b/usr.sbin/acpi/acpidb/acpidb.c
index c53a265..5c9d528 100644
--- a/usr.sbin/acpi/acpidb/acpidb.c
+++ b/usr.sbin/acpi/acpidb/acpidb.c
@@ -41,9 +41,9 @@
#include <stdlib.h>
#include <unistd.h>
-#include <acpi.h>
-#include <acnamesp.h>
-#include <acdebug.h>
+#include <contrib/dev/acpica/acpi.h>
+#include <contrib/dev/acpica/acnamesp.h>
+#include <contrib/dev/acpica/acdebug.h>
/*
* Dummy DSDT Table Header
diff --git a/usr.sbin/acpi/iasl/Makefile b/usr.sbin/acpi/iasl/Makefile
index afe0d81..9b341c2 100644
--- a/usr.sbin/acpi/iasl/Makefile
+++ b/usr.sbin/acpi/iasl/Makefile
@@ -1,38 +1,60 @@
# $FreeBSD$
PROG= iasl
-SRCS= aslcompiler.y.h aslcompilerlex.l aslcompilerparse.y \
- aslanalyze.c aslcodegen.c \
- aslcompile.c aslerror.c aslfiles.c asllength.c \
- asllisting.c aslload.c asllookup.c aslmain.c \
- aslmap.c aslopcodes.c asloperands.c aslresource.c \
- aslrestype1.c aslrestype2.c asltree.c aslutils.c \
- asltransform.c aslfold.c aslstubs.c aslopt.c
-SRCS+= adisasm.c getopt.c osunixxf.c
-SRCS+= dbfileio.c dmbuffer.c dmnames.c dmopcode.c dmobject.c \
- dmresrc.c dmresrcl.c dmresrcs.c dmutils.c dmwalk.c \
- dsopcode.c dsutils.c dswexec.c dswload.c \
- dswscope.c dswstate.c dsfield.c dsobject.c \
- exconvrt.c excreate.c exdump.c exmisc.c \
- exmutex.c exnames.c exoparg1.c exoparg2.c \
- exoparg3.c exoparg6.c exprep.c exregion.c \
- exresnte.c exresolv.c exresop.c exstore.c \
- exstoren.c exstorob.c exsystem.c exutils.c \
- nsaccess.c nsalloc.c nsdump.c nsnames.c nsobject.c \
- nsparse.c nssearch.c nsutils.c nswalk.c nsxfobj.c \
- psargs.c psopcode.c psparse.c psscope.c \
- pstree.c psutils.c pswalk.c \
- tbinstal.c tbutils.c \
- utalloc.c utcopy.c utdebug.c utdelete.c \
- utglobal.c utobject.c utmisc.c utmath.c
+SRCS= adisasm.c
+SRCS+= osunixxf.c
-MAN= iasl.8
+# common
+SRCS+= getopt.c
+
+# compiler
+SRCS+= aslanalyze.c aslcodegen.c aslcompile.c aslcompiler.y.h \
+ aslcompilerlex.l aslcompilerparse.y aslerror.c \
+ aslfiles.c aslfold.c asllength.c asllisting.c \
+ aslload.c asllookup.c aslmain.c aslmap.c aslopcodes.c \
+ asloperands.c aslopt.c aslresource.c aslrestype1.c \
+ aslrestype2.c aslstubs.c asltransform.c asltree.c \
+ aslutils.c
+
+# debugger
+SRCS+= dbfileio.c
+
+# disassembler
+SRCS+= dmbuffer.c dmnames.c dmobject.c dmopcode.c dmresrc.c \
+ dmresrcl.c dmresrcs.c dmutils.c dmwalk.c
+
+# interpreter/dispatcher
+SRCS+= dsfield.c dsobject.c dsopcode.c dsutils.c dswexec.c \
+ dswload.c dswscope.c dswstate.c
+
+# interpreter/executer
+SRCS+= exconvrt.c excreate.c exdump.c exmisc.c exmutex.c \
+ exnames.c exoparg1.c exoparg2.c exoparg3.c exoparg6.c \
+ exprep.c exregion.c exresnte.c exresolv.c exresop.c \
+ exstore.c exstoren.c exstorob.c exsystem.c exutils.c
-CFLAGS+= -D_ACPI_ASL_COMPILER -I.
+# interpreter/parser
+SRCS+= psargs.c psloop.c psopcode.c psparse.c psscope.c \
+ pstree.c psutils.c pswalk.c
+
+# namespace
+SRCS+= nsaccess.c nsalloc.c nsdump.c nsnames.c nsobject.c \
+ nsparse.c nssearch.c nsutils.c nswalk.c nsxfobj.c
+
+# tables
+SRCS+= tbinstal.c tbutils.c
+
+# utilities
+SRCS+= utalloc.c utcache.c utcopy.c utdebug.c utdelete.c \
+ utglobal.c utmath.c utmisc.c utmutex.c utobject.c \
+ utstate.c
+
+MAN= iasl.8
+CFLAGS+= -DACPI_ASL_COMPILER -I.
CFLAGS+= -D_USE_BERKELEY_YACC
-LFLAGS= -i -PAslCompiler
-YFLAGS= -d -pAslCompiler
+LFLAGS= -i -PAslCompiler
+YFLAGS= -d -pAslCompiler
CLEANFILES= aslcompiler.y.h aslcompilerlex.l aslcompilerparse.y
OpenPOWER on IntegriCloud