8infy wrote:
rdos wrote:
In my experience, the only thing you need ACPI for is to map PCI interrupts for devices that don't support MSI or MSI-X. Perhaps also to initialize motherboard states which you must do by fooling the system into believing you are the latest Windows version(s).
This just shows your limited understanding of what ACPI is.
Actually, I manage quite well without ACPI on single core machines.
8infy wrote:
ACPI is a must for the following cases:
- discovering any devices not discoverable otherwise (ISA, PS/2, serial, anything non-pci, ...)
Wrong. Many of these use fixed addresses, and when they don't they can be detected by scanning a limited number of addresses. Also, when serial ports reside on expansion cards, ACPI has no idea. And ACPI cannot tell you if there is a functional PS/2 keyboard or mouse.
8infy wrote:
- discovering routing/locations/ownership of devices (PCI, USB, I2C, ...) by inspecting _ADR/_PRT and similar objects
Not needed. PCI has it's own means of enumerating devices that is far superior to ACPI, and more correct too. USB resides on PCI, so no idea why ACPI would benefit USB.
8infy wrote:
- memory, cpu hotplug/unplug
Memory is delivered by BIOS or UEFI, not ACPI. I do not support hot plug.
8infy wrote:
- shutting the system down, or suspending (_S1 - _S4)
I see no reason why I would want to support power management, but yes, if you want to support power management, ACPI would be of great help.
8infy wrote:
- managing system resources like IO, memory, etc ranges (a kernel will inspect all _CRS buffers and reserve all to prevent conflicts)
The memory map is supplied by BIOS/UEFI, not ACPI.
8infy wrote:
- battery stats (percentage, charging/discharging, etc)
- AC adapter status
Yes, but I don't care about power management.
8infy wrote:
- keyboard fn+X shortcuts and other OEM-defined keys
I don't think so. ACPI has no idea which keyboard you plugged in.
8infy wrote:
- backlight
- fans, temperatures, etc
Most of these are documented in chipsets.
8infy wrote:
You can absolutely route interrupts to userspace
Maybe possible, but you don't want to do it. For one, the interrupt might not even happen in the process where ACPI is mapped.