This shows you the differences between two versions of the page.
— |
acpi [2014/11/12 13:48] (current) lionelsambuc created |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== ACPI ===== | ||
+ | Support for [[http://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface|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 [[http://www.acpica.org/|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. | ||
+ | |||
+ | * Currently the driver provides interface to discover PCI interrupts routing information only | ||
+ | * Does not register interrupt hooks to handle events | ||
+ | |||
+ | 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. | ||