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

[Xen-devel] [PATCH] [QEMU-DM] Upgrade emulated UART to 16550A.

  • To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Trolle Selander" <trolle.selander@xxxxxxxxx>
  • Date: Tue, 4 Dec 2007 17:32:39 +0100
  • Delivery-date: Tue, 04 Dec 2007 08:33:20 -0800
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=received:message-id:date:from:to:subject:mime-version:content-type; b=tXSw+t70iMFljudnhbw1AUi6RWmvyYYCZrpJju/QSPZobiPj0YnyuKJguSRUJzR7c+deBbK63KlSOGpxwuomqru2tCnmnS6DeY6jmptDYlgW6LRywcQCJ4jfCAqKN0AcctP0V/LWm/EfnfKUae4PFH1TO4clFOH1sHSRxt5VI68=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

This patch adds 16550 emulation to qemu-dm. I still consider it a work in progress, but from my testing, it consistently performs better than the old code already, sometimes considerably so (on my laptop, dumping out data over serial from a HVM DomU -> pty in Dom0 was up to 5.3 times faster than with the old 16450 code). I can consistenly reach full 115200 baud speeds over physical serial lines when the virtual device is backed by a phys port, which I never could with the old code.

There are still some things to be done. I want to add proper error handling, so that overflow/framing & parity errors on the physical port get detected and reported by the virtual port. Also, now that FIFOs are in place, I believe performance could be improved significantly by putting some code into the hypervisor so that reads & writes from the FIFOs don't have to exit into qemu-dm at all. I'm also reading up on the specs for newer uarts with deeper FIFOs.

However, for now, I think this patch is already quite good, and I don't think I should sit on it any longer. I'm looking forward to hearing what results others will get with it.

It applies on top of my previously posted patch for modem status/control line passthrough, so I'm re-posting that patch here as well to make things easier.

Attachment: xen-qemudm-modemcontrol.patch
Description: Text Data

Attachment: xen-qemudm-16550.patch
Description: Text Data

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.