I assume the hardware abstraction layer knows the particulars of the underlying hardware through ACPI tables. Are these tables updated by the BIOS? I assume the BIOS puts them in memory in a location the OS will be able to locate.

How does the hardware abstraction layer or hal.dll reliably know how to translate a generic driver instruction to something the firmware understands? How does it interface perfectly between x driver combinations and y device combinations, every time?

  • well, ACPI advertises Capabilities and provides information on how to make use of them, so a driver can implement logic like if dev0 has capability WakeOnLan then ... , allowing a generic driver to make use of the feature if available, and handle it safely if not. – Frank Thomas Aug 15 '18 at 3:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.