Working guest!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I finally managed to get a working prompt on the guest. It's not too quick
though. An ls operation takes around 15 seconds and it takes about 5 minutes
to boot the guest. Compared to QEMU emulation, which takes around 35 minutes
it's an improvement, but of course not usable.

Just wanted to give a quick follow-up on the latest e-mails as well:

 - I changed QEMU to synchronize enough registers to give backtraces during
guest execution which was a big help for debugging.
 - The console was not created because the device ID's were incorrectly
read, because there was a bug in the emulation code.
 - Running the init program introduced some challenges with copy_to_user
(and related), since they use some special load with translation
instructions on ARM.
 - Switching to user space introduced a whole new set of problems with
domains and access permissions, which essentially requires me to keep around
two shadow page tables per process or do a lot of updating of access
permissions when the guest switches cpu mode.
 - I fixed interrupt injection for aborts where I updated a fault register
for both instruction prefetch aborts and data aborts, which broke the guest
handler.
 - Finally I made some performance improvements in the world-switch code to
shorten my debug cycle.

I'm probably going to take a small break from the development work (like
three weeks or so) while I relocate back to Denmark. Afterwards the plans
with the project are (in order):
 - Improve performance
 - Support ARMv6 and ARMv7 (related to performance)
 - Cleanup code and upstream Linux
 - More features...

Thanks for all the great help so far.

And a happy new year to all!

/Christoffer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.cs.columbia.edu/pipermail/android-virt/attachments/20100103/18f9e644/attachment.html


[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux