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

[Xen-devel] console driver - How domain0 processes console messages ?

  • To: xen-devel@xxxxxxxxxxxxxxxxxxxxx
  • From: Richard <judicator3@xxxxxxxxx>
  • Date: Wed, 16 Feb 2005 01:10:26 -0500
  • Delivery-date: Wed, 16 Feb 2005 06:11:24 +0000
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type:content-transfer-encoding; b=r3dwXtFK/XjMpMuQ1Tq/vgw+S2NOt6VLY3aRDmQcWa93afIZGm5y4URTw1gyll8S3jeOjlBL2llc0MqAfQ/hObPxTSWVyRotBxsmtZL91d4gSRNh+9xkgfzfoYTRRGYMqTQFE89IGw9GQhOCAJI1KlR/sRZPDUuqKfv4HUtdeEI=
  • List-id: List for Xen developers <xen-devel.lists.sourceforge.net>


I am trying to undestand how the console driver works.
The files of interests are:
1.) drivers/xen/console/console.c
2.) arch/xen/kernel/ctrl_if.c

That is what I undestand so far. When an unpriveleged domain (say
domain1) wants to write to the console, the following happens:

1.) A function like kcons_write() is invoked to write the string to a
buffer "wbuf".
2.) Function __xencons_tx_flush() is  called to packet the characters
in the buffer "wbuf" into messages of type "ctrl_msg_t".
3.) A function like ctrl_if_send_message_noblock() is then called to
place the messages "ctrl_msg_t" into the communication ring that is
shared between dom1 and dom0.
4.) Function ctrl_if_notify_controller() is then called to send an
event notification to  domain0

Steps 1 to 4 occur in domain1 (the unprivileged domain). Now at the
over end of the event channel, I am trying to figure out where in
domain0 the event notification is being received and how it is being
processed. I am trying to undestand how domain0 processes console
messages  (i.e messages with type CMSG_CONSOLE and subtype


SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
Xen-devel mailing list



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