[Libvir] RFC: Supporting serial & parallel ports for QEMU (and improving Xen)
Daniel P. Berrange
berrange at redhat.com
Wed May 30 15:25:14 UTC 2007
On Wed, May 30, 2007 at 11:18:46AM -0400, Daniel Veillard wrote:
> On Mon, May 21, 2007 at 08:18:42PM +0100, Daniel P. Berrange wrote:
> > On Mon, May 21, 2007 at 10:58:02AM +0200, Gerd Hoffmann wrote:
> > > Hi,
> > >
> > > >The question as ever is how to represent this in XML. For serial ports
> > > >we'll
> > > >stick with '<console>', while parallel ports we might as well use a better
> > > >named '<parallel>'.
> > >
> > > Hmm, I'd prefer to use '<serial>', much less confusing in the long run.
> > > And maybe alias '<console>' to '<serial port=0>' for compatibility.
> >
> > There is actually one compelling reason to do this - the Xen paravirt
> > console really isn't a true serial port. It is just a dumb text console
> > driver, so perhaps it is better to distinguish <console> from <serial>
> > with this scenario. We already use <console> for HVM too though - so
> > perhaps we should say
> >
> > - <parallel> - parallel ports
> > - <serial> - serial ports
> > - <console> - first text based virtual console channel
> >
> > So, paravirt Xen would only ever have a <console> element. With fullyvirt
> > Xen the first <serial> port element would also be exposed as a <console>
> > element.
>
> Sounds nice to me.
>
> > > >Next up, I think should use a 'type' attribute on this
> > > >element to determine the main way ot connecting the device, and then more
> > > >type specific attributes or sub-elements as needed. If 'type' was not
> > > >specified then use a default of 'pty', since that gives compatability with
> > > >existing practice.
> > >
> > > Also enumerate them somehow, so you can configure multiple of them.
> >
> > Good point, better to have an explicit 'port' number attribute than
> > to rely on implict ordering of the devices in the XML, since there's
> > no other attribute in them giving uniqueness (cf device, or MAC in
> > disk or network).
> >
> > > >NB, whereever there are IP addresses, hostnames can be used too, hence I
> > > >call the attriute 'addr' instead of 'ip'
> > >
> > > s/addr/host/ + s/port/service/ to make clear that non-numeric stuff is
> > > accepted for both?
> > >
> > > <serial type='udp' port='0'>
> > > <sendto host='loghost' service='syslog'>
> > > </serial>
> >
> > Sounds reasonable.
>
> BTW what's the status ? wondering :-)
Lots of difficult bits, but I'm starting to get onto coding it. QEMU for
example doesn't have a a good way to tell you what tty it allocated so
you have to parse stdout to olook for 'char device directed to /dev/pts/4'
which is mildly evil. That said, we already do that evilness to figure
out the monitor tty, and it should be reliable once I figure out the right
algorithm :-)
Dan.
--
|=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=|
|=- Perl modules: http://search.cpan.org/~danberr/ -=|
|=- Projects: http://freshmeat.net/~danielpb/ -=|
|=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|
More information about the libvir-list
mailing list