<div dir="ltr">Hello,<br><div class="gmail_extra"><br><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div><div>At this point I have a single-core vkernel running in VMX non-root context, without sendmail. The sendmail is throwing an UD fault. I will investigate today and see what instruction is missing. Also I will implement the check for UD instruction (if it is "syscall" opcode or anything else). Another thing is modifying the vkernel a bit further in order to be able to run with multiple cores.</div>
</div></div></div></blockquote><div>The sendmail problem was due to the fact that CR4_XSAVE wasn't enabled and the instructions associated with it were thrown UD fault (e.g. "xgetbv") . It was a little hard to find it because at first the db_disasm was letting me know that the instruction was the "lgdt", but it was impossible (the vkernel userspace doesn't execute this instruction). Than I manually checked the byte code and saw in the Intel Reference Manual the instruction. Also I've enriched the db_disasm code to recognize these new group of instructions (the code is not so tightly coupled as the original one -> should have a review before commiting to master).</div>
<div><br></div><div>Also I've implemented the support for multiple cores and is working ok in some random situations. Due to race condition I think, the vkernel threads enters in some infinit loops trying to solve some faults. I've spent the last 3-4 days debugging this and with the help of Dillon and vsrinivas I managed to advanced a little with the debugging, but the source of the bug is unknown yet.</div>
<div><br></div><div>Also Dillon did a little refactoring to my code, modifying the way I cached some attributes, in order to modify those attributes only and only when is needed. I didn't integrate the code to my branch yet (I took only some pieces of it). I will do this after I solve the bug.</div>
<div><br></div><div>After solving the bug, the next big steps are starting configuring EPT and see what can I reuse from the "old" pmap code. </div><div><br></div><div>Thanks,</div><div>Mihai</div></div></div></div>