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

[Xen-devel] consoleio_read in domU

  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: nicowisamu <nicowisamu@xxxxxxxxx>
  • Date: Wed, 8 Feb 2006 18:02:33 +0900
  • Delivery-date: Wed, 08 Feb 2006 09:13:38 +0000
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type; b=iKFkhZlDSpu5Fo8GAydK06KCFj888Q+Xey81mNBan0fg7EURu/uWLfFQzpV69kBUfPr1t8h0l33CxB+m//lC7RaTVVk7R2YNaMNCN5qr6LpHwp2fP3nI/Ebs/+K3xReDhiK6/zz/xslQXTjQ/FgxkMXnfl/ee1BoDRysqezl5Pk=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

I have ported a kernel named toppers on xen as domU using mini-os libraries.
This OS use serial link for display and input.
For printing messages I use the hypercall console_io with the consolio_write parameter.
For reading the console input I wanted to use the same hypercall with consolio_read parameter.
But I don't well understand how console sharing works on xen. Because, In order to call this function I need first
an event from event channel. So, on initializing, I bind VIRQ_CONSOLE with my handler and then I use the
hypercall to get the message on my buffer. But the handler is never called. How should I proceed ?

my initialize function where I have replaced the serial initialize by a bind_virq :

serial_initialize(VP_INT portid)
static char buf[]="Initializing serial interface";
    static char buf2[]=" OK\n";
(void)HYPERVISOR_console_io(CONSOLEIO_write,strlen(buf), buf);
    bind_virq(VIRQ_CONSOLE, &serial_handler);
    (void)HYPERVISOR_console_io(CONSOLEIO_write,strlen(buf2), buf2);

my handler which prints something if it is called :

    static char buf[]="character received";
    (void)HYPERVISOR_console_io(CONSOLEIO_write,strlen(buf), buf);

could someone help me please ?
Xen-devel mailing list



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