For questions dealing with hardware abstraction layer
Hardware Abstraction Layer HAL provides an abstraction interface on hardware of the system. The purpose of HAL is to allow applications to discover and use the hardware utilizing an abstract API without modifying every application that uses the device.