<div dir="ltr">A port seems like a much more tractable project than a rewrite for sure.  The KVM instruction emulator is more or less proven and works, so reason not to port it I think.  Agreed on the intern project, it would be great for that.<div><br></div><div>- Cory</div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Jan 17, 2019 at 10:40 AM Anthony Liguori <<a href="mailto:aliguori@amazon.com">aliguori@amazon.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Paolo Bonzini <<a href="mailto:pbonzini@redhat.com" target="_blank">pbonzini@redhat.com</a>> writes:<br>
<br>
> On 17/01/19 19:07, Cory Maccarrone wrote:<br>
>> One suggestion I might make would be a rust-implemented instruction<br>
>> emulator for cracking open MMIOs.  Seems useful for VMMs in general to me.<br>
><br>
> That's part of the plans indeed, but the support for userspace MMIO<br>
> emulation is not in upstream KVM yet.<br>
<br>
We you thinking a straight port of emulate.c to Rust or something from<br>
scratch?<br>
<br>
I think a port is interesting as an intern project.  I think a new<br>
emulator from scratch is a bit unrealistic as an intern project.<br>
<br>
Regards,<br>
<br>
Anthony Liguori<br>
<br>
><br>
> Paolo<br>
><br>
>> On Wed, Jan 9, 2019 at 10:07 AM Paolo Bonzini <<a href="mailto:pbonzini@redhat.com" target="_blank">pbonzini@redhat.com</a><br>
>> <mailto:<a href="mailto:pbonzini@redhat.com" target="_blank">pbonzini@redhat.com</a>>> wrote:<br>
>> <br>
>>     QEMU would be glad to host projects related to VMMs in Rust as part of<br>
>>     Google summer of Code and Outreachy.  This includes all of Firecracker,<br>
>>     CrosVM and common infrastructure that could be reused by multiple<br>
>>     virtual machine monitors; with my QEMU hat, I would obviously favor the<br>
>>     latter :)).<br>
>> <br>
>>     An idea could be to migrate Firecracker and CrosVM to the Fuchsia crates<br>
>>     that were mentioned early here on the mailing list, and/or implement a<br>
>>     sample vhost-user client using whatever standard set of crates are<br>
>>     established.  Another possibility is PCI and virtio-pci in Firecracker.<br>
>> <br>
>>     Thanks,<br>
>> <br>
>>     Paolo<br>
>> <br>
>>     _______________________________________________<br>
>>     Rust-vmm mailing list<br>
>>     <a href="mailto:Rust-vmm@lists.opendev.org" target="_blank">Rust-vmm@lists.opendev.org</a> <mailto:<a href="mailto:Rust-vmm@lists.opendev.org" target="_blank">Rust-vmm@lists.opendev.org</a>><br>
>>     <a href="http://lists.opendev.org/cgi-bin/mailman/listinfo/rust-vmm" rel="noreferrer" target="_blank">http://lists.opendev.org/cgi-bin/mailman/listinfo/rust-vmm</a><br>
>> <br>
>> <br>
>> <br>
>> -- <br>
>> Cory Maccarrone | Staff Software Engineer | <a href="mailto:maccarro@google.com" target="_blank">maccarro@google.com</a><br>
>> <mailto:<a href="mailto:maccarro@google.com" target="_blank">maccarro@google.com</a>> | Google<br>
>> <br>
><br>
><br>
> _______________________________________________<br>
> Rust-vmm mailing list<br>
> <a href="mailto:Rust-vmm@lists.opendev.org" target="_blank">Rust-vmm@lists.opendev.org</a><br>
> <a href="http://lists.opendev.org/cgi-bin/mailman/listinfo/rust-vmm" rel="noreferrer" target="_blank">http://lists.opendev.org/cgi-bin/mailman/listinfo/rust-vmm</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><span style="font-family:"Times New Roman";font-size:medium"><div style="line-height:1.5em;padding-top:10px;margin-top:10px;color:rgb(85,85,85);font-family:sans-serif;font-size:small"><span style="line-height:19px;border-width:2px 0px 0px;border-style:solid;border-color:rgb(213,15,37);padding-top:2px;margin-top:2px">Cory Maccarrone |</span><span style="line-height:19px;border-width:2px 0px 0px;border-style:solid;border-color:rgb(51,105,232);padding-top:2px;margin-top:2px"> Staff Software Engineer |</span><span style="line-height:19px;border-width:2px 0px 0px;border-style:solid;border-color:rgb(0,153,57);padding-top:2px;margin-top:2px"> <a href="mailto:maccarro@google.com" target="_blank">maccarro@google.com</a> |</span><span style="line-height:19px;border-width:2px 0px 0px;border-style:solid;border-color:rgb(238,178,17);padding-top:2px;margin-top:2px"> Google</span></div><div><span style="line-height:19px;border-width:2px 0px 0px;border-style:solid;border-color:rgb(238,178,17);padding-top:2px;margin-top:2px"><br></span></div></span></div></div>