@hirojin @dr1ft The pic shows C# code, which may mean that Common Language Runtime stuff can be executed the same way on x86 as well as on ARM.
HAL is for the OS to abstract the decvces; and CLR has something called PAL (Platform Abstraction Library) a quite crappy component that coaxes your .NET code into something that can run on non-Windows.