<div dir="ltr">Hello,<div><br></div><div>Sorry for the late e-mail for the work in the previous week. Last week I haven't coded much, but I have made an assessment about what should be done to enable EPT. I can't just enable EPT from configs, I first have to build the EPT page-tables/vkernel page-tables in order to be able to bootstrap the vkernel. Browsing through the EPT chapter in the Intel manual, I saw that EPT page-tables format is **different** than the normal page-table. This means I can't use the current pmap code at all. Dillon came with the idea of removing the PG_* defines and introduce them in the "struct pmap", thus enabling us of using a custom pmap, depending on type of page-tables. We are not sure this would be the best approach.</div>
<div><br></div><div>I looked over FreeBSD code and they build another module for allocating/mapping the memory for the GUEST (including building the page-tables). The code is very simple as they are wiring all the memory for the guest. Dillon said that would be cool if we implement this directly in the pmap code because would enable us the posibility to not wire all the memory for a guest and be able to run more of them with an memory overcommit using swapping.</div>
<div><br></div><div>I also looked in AMD manual to see what are the page-table structures for NPT but it doesn't seem to differ from the normal ones. It's wierd why Intel did change them.</div><div><br></div><div>
Thanks,</div><div>Mihai</div></div>