[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] How console data travel in Xen?
On 7/1/05, Anthony Liguori <aliguori@xxxxxxxxxx> wrote: > NAHieu wrote: > > >Hello, > > > >I am trying to investigate in detail how console data go thru the Xen > >system. Suppose that I am running a domainU, when I type at the > >domainU console (I connect to the console with xencons or ssh), how > >data (from keyboard in this case) travel from low level (hardware) to > >Xen, then to dom0, then to domU? > > > > > There exists a well-known event channel and shared memory page between > each dom0 and domU which the control tools are responsible for setting > up (in Xend, that's xcs--in VM-Tools, that's xenctld). The shared > memory page is defined by the shared_info_frame which is queriable as > part of getdomaininfo(). The event channel is chosen by the control > tools and is almost always 1. > > The event channel and shared memory page make up the control channel. > The shared memory page is used as a ring queue for messages (see > /usr/include/xen/io/domain_controller.h) and the event channel is a > notification message to say when a new message has arrived. > > One of the message types is CMSG_CONSOLE. It has one message subtype > CMSG_CONSOLE_DATA. Console data (input and output) is passed in 60 byte > chunks using this message type between dom0 and domU. This is handled > at drivers/xen/console/console.c in domU (in the kernel tree) and in > tools/xcs/*.c in dom0 (or xenctld/console.c in VM-Tools). In VM-Tools, > the console messages are just put into a queue until a file (usually a > pty) is associated with the device in which case everything is > dumped/read from the file. > > The Xend/xcs architecture is a bit more complex. xcs forwards all > messages over two sockets to Xend. Xend then dispatches these messages > internally. The messages are then read/written to a socket. The stuff > that's unique to the console is mostly handled in > tools/python/xen/xend/server/console.py Anthony, thank you for a great detail explaination. These information is really helpful to me. But still few questions stand: how do console data go from HW to Xen, then to dom0? (the above explaination is only about sessions between dom0 and domU) Thank you a lot, Hieu _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |