Abstract
Virtualization is a very important technique on resource sharing and server security, and it becomes an indispensable technique on cloud computing. Most of embedded hardware devices are developed on ARM architecture because of simpler instruction sets than X86 and excellent power consumption. To the accompaniment of popular cloud computing, ARM holding also targets on server market to create more business-opportunities. Therefore, ARM provided new architecture for the incoming cloud computing generation.Hardware-assisted extension is supported since ARMv7. Without hardware-assisted extension, shadow page table is the general method to implement memory virtualization. In addition, complex work for maintaining shadow page table such as walking guest page table and building reverse map are necessary for memory virtualization on ARM. In contrast to ARMv6, ARMv7-A provides a special processor mode for hypervisor implementation. Besides, there are some specific registers controlling processor, memory, or I/O virtualization. What’s more, ARMv7-A provides a two-stage memory system control which formed into 64-bit descriptor, covering 40-bit memory address space. In this thesis, I will discuss how to implement memory virtualization with ARMv7-A hardware-assisted virtualization extension.