Implementation of Virtual Machine Monitor for ARM Architecture
Akihiro Suzuki, Shuichi Oikawa
Abstract
Akihiro Suzuki, Shuichi Oikawa
Abstract
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.
OpenAlex reports 2 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
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.
Key concepts: Hypervisor, Operating system, Computer science, Virtual machine, Embedded system, ARM architecture, Architecture, Mode (computer interface)