4 ms·
I think the solution is simple: ACPI
by ChickeNES 3y ago
I think the solution is simple: ACPI
- IshKebab 3y agoI don't have any experience of ACPI but it doesn't not sound like a sane alternative to DeviceTree: https://stackoverflow.com/a/56235466/265521 https://stackoverflow.com/a/56235466/265521 > ACPI is the unprofessional, hackish attempt of bios and board vendors to solve a small subset of the problems that DT already solved long ago. > In November 2003, Linus Torvalds—author of the Linux kernel—described ACPI as "a complete design disaster in every way". I'm not sure Linus has the best design sense but it doesn't sound like he is wrong here: > Much of the firmware ACPI functionality is provided in bytecode of ACPI Machine Language (AML), a Turing-complete, domain-specific low-level language, stored in the ACPI tables.[7] To make use of the ACPI tables, the operating system must have an interpreter for the AML bytecode. A reference AML interpreter implementation is provided by the ACPI Component Architecture (ACPICA). At the BIOS development time, AML bytecode is compiled from the ASL (ACPI Source Language) code. Wtf.
- ahoka 3y agoWhat would you use instead of bytecode? I think the problem with ACPI is the clunky implementation, not the basic ideas themselves.
- IshKebab 3y agoI'm still learning about this stuff to be honest, but I don't really understand what problems would need bytecode in the first place? What is implemented in ACPI in bytecode?
- ahoka 3y agoCPU and OS independent methods. For example to shutdown, reboot or change video mode. Much easier to run a bytecode sandboxed on any platform.