[GSOC] bhyve port on ARM - weekly status report

Mihai Carabas mihai.carabas at gmail.com
Wed Jul 1 11:49:08 UTC 2015


Hi everyone,

Sorry for the late weekly status report.


> Further I've written an initialization code for HYP mode, installing a
> stub handler for HYP exception for platforms that have support for this.
> The stub handler permits changing the exception vectors. Later, when the
> vmm module will be loaded, the handler will be replaced by a fully fledged
> one which will take care of VM context switch and various exceptions. [2]
>
> In the last week I copied the vmm code from amd64 platform and I stripped
it down to only basic operations (vmm init/cleanup, vminit/cleanup and
vmrun). I've written some code for mapping operation [1] (PL-2 stage1  and
PL1 stage-2 - combined) for LPAE format (this is the only format supported
in HYP-mode). Unfortunatelly the FreeBSD pmap code doesn't support LPAE
format and I couldn't integrate memory management in the PMAP
infrastructure (like it is currently in amd64 - this will be handled after
this basic implementation because is an entire project that needs to be
tackled).

I've also been writing the low-level initialization code for the hypervisor
to replace the stub code installed at boot time. Right now we are able to
insert the vmm-arm.ko module which performs all the necesary initialization
(installs the new exception vector, activates the MMU). When we remove the
vmm-arm module the stub exception vector is reinstalled and the MMU
deactivated, bringing the host to the initial state.

Thank you,
Mihai

[1]
https://svnweb.freebsd.org/socsvn/soc2015/mihai/bhyve-on-arm-head/sys/arm/vmm/mmu.c?view=markup


More information about the soc-status mailing list