From e8d472a7af145b973c47c8acd684e8e7f4c01122 Mon Sep 17 00:00:00 2001 From: Jung-uk Kim Date: Tue, 1 Nov 2005 22:44:08 +0000 Subject: [PATCH] Catch up with ACPI-CA 20051021 import --- sys/amd64/acpica/madt.c | 2 +- sys/conf/files | 6 + sys/dev/acpica/Osd/OsdSynch.c | 9 +- sys/dev/acpica/Osd/OsdTable.c | 3 +- sys/dev/acpica/acpi.c | 14 +- sys/dev/acpica/acpi_pci_link.c | 101 ++++++------ sys/dev/acpica/acpi_resource.c | 273 ++++++++++++++++++--------------- sys/dev/acpica/acpivar.h | 10 +- sys/i386/acpica/madt.c | 2 +- sys/modules/acpi/acpi/Makefile | 11 +- usr.sbin/acpi/Makefile.inc | 2 +- usr.sbin/acpi/acpidb/Makefile | 85 ++++++---- usr.sbin/acpi/acpidb/acpidb.c | 6 +- usr.sbin/acpi/iasl/Makefile | 78 ++++++---- 14 files changed, 343 insertions(+), 259 deletions(-) diff --git a/sys/amd64/acpica/madt.c b/sys/amd64/acpica/madt.c index 3af0b73b559a..14282f535154 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 59c3d5201cd7..db0395ff62b6 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 f579d4e9c2d6..659b6fb91fd7 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 f938ad8a3be9..ce33e519c646 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 efab54623958..bb34549eb838 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 d7d1f6330234..8041f785a5b0 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 9f01e94b0262..cde23e22c234 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 9c0547d24daf..eae6a4084186 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 6b6a6e6718ac..d0c8496be5a4 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 79d37d2a288f..d6ae1d13fe93 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 2fce9209e18d..3237afbc32a2 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 5541b5611aff..7ad2970cd8b0 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 c53a265ee484..5c9d528aaf67 100644 --- a/usr.sbin/acpi/acpidb/acpidb.c +++ b/usr.sbin/acpi/acpidb/acpidb.c @@ -41,9 +41,9 @@ #include #include -#include -#include -#include +#include +#include +#include /* * Dummy DSDT Table Header diff --git a/usr.sbin/acpi/iasl/Makefile b/usr.sbin/acpi/iasl/Makefile index afe0d81cd5ca..9b341c25d7a7 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 + +# 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 + +# 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+= -D_ACPI_ASL_COMPILER -I. - +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