Abstract
With the advance of technology, virtualization has a chance to be applied in embedded devices. It can make embedded device to run in more secure environment, and let multiple operating systems simultaneously run in one machine for more application. Therefore, embedded virtualization will be developed in the future. KVM (kernel virtual machine) is one of open-source system virtualization tools. It has supported x86, PowerPC and so on, but not supported arm architecture yet. Consequently, this paper introduces a new system virtualization based on KVM for ARM V6 architecture, and emphasizes the content about processor virtualization. KVM-ARM lightly modified guest kernel’s source code by para-virtualization to fully monitor and emulate all the privileged instruction in guest, moreover, held up every exception, dispatching these exceptions into KVM exception handler or host’s exception handler after analysis. In addition, this paper designed an optimization to reduce a large number of instruction emulations. It transformed guest’s privileged instructions into non-privileged instructions in view of register files in advance. Therefore, guest system will not be trapped when running in virtual environment. Finally, this paper used Mibench and Lmbech to evaluate guest’s performance when guest runs in virtual machine KVM-ARM emulated. In terms of experiments, KVM-ARM-Opt’s performance improvement is about 10%-30% in user space, and about 10% in Kernel basic operations.