hwl: Fixes seldom compile error and move semantics for bus variables
Fixes some bugs in the hardware layer module
Bug Fixes
- [hwl]:
- Fixed noexcept signature of defaulted copy constructor: this caused problems for some compiler versions
- Fixes bus variable move constructor. When moved, a new mutex is used. The alternative is wrapping the mutex in a unique_ptr, which reduces cache-coherency though.
- Fixes variable base class constructor calls for mutex/lock class types changed via macros
Breaking Changes
- [hwl]:
- makeDevice() API changes to not adding the device to the bus yet. (old variant wouldn't have worked anyway)