Table of Contents

ACPI

Support for ACPI in Minix has 2 parts, in-kernel code and a userspace driver.

Kernel

The in-kernel code is used to locate the ACPI information in memory and export this to userland, discover IO APICs and all CPU in a multi-processor system.

Userspace ACPI driver

The userspace driver is based on the ACPI CA library. The library covers the whole ACPI functionality which means that in theory Minix can uses any of the ACPI feature, the functionality is limited though.

It is fairly easy to add interfaces to any other functions as need be. Minix does not have any use for this yet.

The main disadvantage of the ACPI driver is that it can access any system memory and IO ports which is a possible vulnerability. It is not possible to limit the memory acces in the sense of the the isolation policies as implemented in current Minix.