Multiple port support for virtio-console

Amit Shah
2009-09-03T12:53:29Z

Hello all,

Here is a new iteration of the patch series that implements a
transport for guest and host communications.

I've tested for compatibility (old qemu & new kernel, new qemu & old
kernel, new qemu & new kernel) and it all works fine*.

There are a few items on my todo list but this works well.

New since last send:
- live migration support**
- write path in the guest driver can now be called from irq context

TODO:
- Convert all config writes to little endian in qemu / convert from
little endian to host endian in guest
- Address a few FIXMEs spread in the code
- Introduce a watermark to stop a rogue host process flooding guest
with data

Conditions:
* Heavy IO on an hvc port and a non-hvc port causes memory corruption
  each time, same place. It could be realted to locking but I doubt
  that. This still has to be sorted out

** qemu now caches buffers till a char device is opened or till an
   entire write request is not received in userspace. These buffers
   aren't yet migrated.

Please review.
	Amit