Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Jul 2015 14:49:06 +0300
From:      Mihai Carabas <mihai.carabas@gmail.com>
To:        soc-status@freebsd.org
Subject:   Re: [GSOC] bhyve port on ARM - weekly status report
Message-ID:  <CANg1yUsAifBweEKHBZbMrEpYmTd60ACq-H6aJ9Px%2BRb6ZK8moQ@mail.gmail.com>
In-Reply-To: <CANg1yUvyjTezxURAJi2EnYh6WLGVwSJbMSQNUEV0A2Un7kKNjA@mail.gmail.com>
References:  <CANg1yUspT8uHtX4bu0kO5dWLssvv-5457kSBovdyNKpi-OQ1kw@mail.gmail.com> <CANg1yUvgvtp5asPXLmtjwkROZ4Kf=mrOxXFcwvwdseYoQkcivA@mail.gmail.com> <CANg1yUsT=RRiNffq6cEXZArR4dYg9RiRc3dgc%2BCXMaY8JYir2Q@mail.gmail.com> <CANg1yUvyjTezxURAJi2EnYh6WLGVwSJbMSQNUEV0A2Un7kKNjA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANg1yUsAifBweEKHBZbMrEpYmTd60ACq-H6aJ9Px%2BRb6ZK8moQ>