In this section we describe how we made the FreeBSD kernel ACPI-aware. We first implemented our own version of the ACPI core software (we later switched to ACPI-CA). We then addressed the issues of ACPI device enumeration, supporting ACPI sleep modes, and ACPI thermal management.