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

[Xen-changelog] [xen-unstable] xen: Provide notification of console updates via VIRQ.



# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Date 1173367270 0
# Node ID 38513d22d23420a90f94e7e0f70c564100e83851
# Parent  90e8d8169afd8acdd33e262012a8098cd3f8c944
xen: Provide notification of console updates via VIRQ.

The readconsolering capabilities provide the opportunity to
provide console output to other clients (remote systems,
logging systems, etc). This patchs adds the ability to generate
a notification of a change in the console buffer.

Signed-off-by: Ben Thomas <ben@xxxxxxxxxxxxxxx>
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
 xen/common/event_channel.c |    3 +++
 xen/drivers/char/console.c |    2 ++
 xen/include/public/xen.h   |    1 +
 3 files changed, 6 insertions(+)

diff -r 90e8d8169afd -r 38513d22d234 xen/common/event_channel.c
--- a/xen/common/event_channel.c        Thu Mar 08 14:57:33 2007 +0000
+++ b/xen/common/event_channel.c        Thu Mar 08 15:21:10 2007 +0000
@@ -560,6 +560,9 @@ void send_guest_global_virq(struct domai
 
     ASSERT(virq_is_global(virq));
 
+    if ( unlikely(d == NULL) )
+        return;
+
     v = d->vcpu[0];
     if ( unlikely(v == NULL) )
         return;
diff -r 90e8d8169afd -r 38513d22d234 xen/drivers/char/console.c
--- a/xen/drivers/char/console.c        Thu Mar 08 14:57:33 2007 +0000
+++ b/xen/drivers/char/console.c        Thu Mar 08 15:21:10 2007 +0000
@@ -399,6 +399,8 @@ static void __putstr(const char *str)
         vga_putchar(c);
         putchar_console_ring(c);
     }
+
+    send_guest_global_virq(dom0, VIRQ_CON_RING);
 }
 
 static int printk_prefix_check(char *p, char **pp)
diff -r 90e8d8169afd -r 38513d22d234 xen/include/public/xen.h
--- a/xen/include/public/xen.h  Thu Mar 08 14:57:33 2007 +0000
+++ b/xen/include/public/xen.h  Thu Mar 08 15:21:10 2007 +0000
@@ -131,6 +131,7 @@
 #define VIRQ_TBUF       4  /* G. (DOM0) Trace buffer has records available.  */
 #define VIRQ_DEBUGGER   6  /* G. (DOM0) A domain has paused for debugging.   */
 #define VIRQ_XENOPROF   7  /* V. XenOprofile interrupt: new sample available */
+#define VIRQ_CON_RING   8  /* G. (DOM0) Bytes received on console            */
 
 /* Architecture-specific VIRQ definitions. */
 #define VIRQ_ARCH_0    16

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

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