summaryrefslogtreecommitdiffstats
path: root/usr.sbin/bhyve/acpi.h
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2014-01-02 21:26:59 +0000
committerjhb <jhb@FreeBSD.org>2014-01-02 21:26:59 +0000
commit7fc6c377c858c86ad0c781c2bfefb38c396151fa (patch)
treec01bbcb7f17a6da8be3f9a9ffb1c43ab4f14ee6c /usr.sbin/bhyve/acpi.h
parent57c75d298a4e4e33abcd44cca93b01d253bff4bf (diff)
downloadFreeBSD-src-7fc6c377c858c86ad0c781c2bfefb38c396151fa.zip
FreeBSD-src-7fc6c377c858c86ad0c781c2bfefb38c396151fa.tar.gz
Rework the DSDT generation code a bit to generate more accurate info about
LPC devices. Among other things, the LPC serial ports now appear as ACPI devices. - Move the info for the top-level PCI bus into the PCI emulation code and add ResourceProducer entries for the memory ranges decoded by the bus for memory BARs. - Add a framework to allow each PCI emulation driver to optionally write an entry into the DSDT under the \_SB_.PCI0 namespace. The LPC driver uses this to write a node for the LPC bus (\_SB_.PCI0.ISA). - Add a linker set to allow any LPC devices to write entries into the DSDT below the LPC node. - Move the existing DSDT block for the RTC to the RTC driver. - Add DSDT nodes for the AT PIC, the 8254 ISA timer, and the LPC UART devices. - Add a "SuperIO" device under the LPC node to claim "system resources" aling with a linker set to allow various drivers to add IO or memory ranges that should be claimed as a system resource. - Add system resource entries for the extended RTC IO range, the registers used for ACPI power management, the ELCR, PCI interrupt routing register, and post data register. - Add various helper routines for generating DSDT entries. Reviewed by: neel (earlier version)
Diffstat (limited to 'usr.sbin/bhyve/acpi.h')
-rw-r--r--usr.sbin/bhyve/acpi.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/usr.sbin/bhyve/acpi.h b/usr.sbin/bhyve/acpi.h
index b48186a..57edc48 100644
--- a/usr.sbin/bhyve/acpi.h
+++ b/usr.sbin/bhyve/acpi.h
@@ -43,5 +43,11 @@
struct vmctx;
int acpi_build(struct vmctx *ctx, int ncpu);
+void dsdt_line(const char *fmt, ...);
+void dsdt_fixed_ioport(uint16_t iobase, uint16_t length);
+void dsdt_fixed_irq(uint8_t irq);
+void dsdt_fixed_mem32(uint32_t base, uint32_t length);
+void dsdt_indent(int levels);
+void dsdt_unindent(int levels);
#endif /* _ACPI_H_ */
OpenPOWER on IntegriCloud