This is a header library that provides generic low-level facilities, mainly abstractions of architecture-specific operations that C/C++ do not abstract. It is intended to be usable by the kernel, user apps, and standalone code such as bootloaders, with either C or C++. It contains both privileged and nonprivileged operations (and some, such as reading a clock, whose privileged status and/or availability in a standalone environment depends on the architecture or other factors); it is up to the user of the library to know whether it is privileged enough to use any given function.