![]() | |||||||||||
Messages in this thread |
Moore, Robert wrote: > Here's some notes from 2001: > > Why ACPI is in the kernel > > ACPI and the AML interpreter are required very early during kernel > initialization, before the device drivers are loaded. Control methods > are executed by the interpreter at this time (such as all device _INI > methods). > > ACPI owns the ACPI hardware and ACPI interrupt (SCI), and therefore this > part of the ACPI subsystem is similar to a device driver. > > Control methods that are executed via the AML interpreter are allowed > direct access to all of physical memory, all I/O space, and all PCI > configuration space (via Operation Regions.) > > Device drivers such as the Embedded Controller, Battery, and Thermal use > ACPI services and execute AML control methods during their operation. > > Device driver callback routines are invoked directly from the AML > interpreter when the ASL Notify operation is executed. > > ACPI and the AML interpreter cannot be paged out. How do you wake up > the disk used for paging? Not a good idea for other device drivers to > depend on code that may be paged out. > > Also, > > As of May 2000, the AML interpreter was in acpid! Shortly after that, we > made a conscious decision to move it into the driver for the reasons > above. The code may be large (for Linux), but it is necessary and must > remain resident (it is non-pageable). None of this implies that the interpreter cannot be in initramfs-like userspace, which neither requires a device driver nor will ever be paged out. Jeff - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||
| Last update: 2005-03-22 14:07 [from the cache] ©2003-2008 | |||||||||||