hal Hardware Abstraction Layer
HAL provides unified API to different hardware via
In result, even if you have some hardware-specific code, most of them still can be run portable between many platforms.
HAL must stay a thin layer, else you will get not a little fun hardware console, but yet another Linux.