Implementation of Virtual Machine Monitor for ARM Architecture
Akihiro Suzuki, Shuichi Oikawa · 2010
In these days, the performance gain of hardware promotes the use of Virtual Machine Monitors (VMMs) even in embedded systems. By using VMMs, we can overcome many of the issues in embedded systems. Therefore, we implemented a VMM for the ARM architecture that is the most widely used CPU for embedded systems. Since the VMM executes in privileged mode and its guest OS executes in non-privileged mode, the VMM can catch the execution of sensitive instructions as exceptions and emulate them appropriately. The guest OS can execute in non-privileged mode thanks to the virtual banked registers and the virtual processor mode provided by the VMM. Domains are used to for the access control between the guest OS and the VMM. The VMM was implemented for the ARM926EJ-S processor, and can successfully boot the Linux on it.