|
|
|
|
|
|
|
|
|
|
xen-ppc-devel
[XenPPC] [linux-ppc-2.6] [POWERPC] udbg support for DomUs Complete
# HG changeset patch
# User Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
# Node ID 7680b29c03a6dbc15a1394ebe1467c46bdab9a39
# Parent 17aa29a18b080bd96286b29e7b5918701a330eff
[POWERPC] udbg support for DomUs Complete
Signed-off-by: Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
---
arch/powerpc/platforms/xen/udbg_xen.c | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
diff -r 17aa29a18b08 -r 7680b29c03a6 arch/powerpc/platforms/xen/udbg_xen.c
--- a/arch/powerpc/platforms/xen/udbg_xen.c Thu Jul 27 18:57:20 2006 -0400
+++ b/arch/powerpc/platforms/xen/udbg_xen.c Sat Aug 05 11:33:24 2006 -0400
@@ -75,13 +75,14 @@ static void udbg_putc_domu_xen(char c)
prod = intf->out_prod;
mb();
- while ((prod - cons) >= sizeof(intf->out))
- continue /* relax */;
-
- intf->out[MASK_XENCONS_IDX(prod++, intf->out)] = c;
+ if ((prod - cons) < sizeof(intf->out))
+ intf->out[MASK_XENCONS_IDX(prod++, intf->out)] = c;
wmb();
intf->out_prod = prod;
+
+ if (xen_start_info)
+ notify_remote_via_evtchn(xen_start_info->console_evtchn);
}
static int udbg_getc_poll_domu_xen(void)
@@ -89,9 +90,9 @@ static int udbg_getc_poll_domu_xen(void)
XENCONS_RING_IDX cons, prod;
int c;
+ mb();
cons = intf->in_cons;
prod = intf->in_prod;
- mb();
BUG_ON((prod - cons) > sizeof(intf->in));
if (cons == prod)
@@ -100,6 +101,10 @@ static int udbg_getc_poll_domu_xen(void)
c = intf->in[MASK_XENCONS_IDX(cons++, intf->in)];
wmb();
intf->in_cons = cons;
+
+ if (xen_start_info)
+ notify_remote_via_evtchn(xen_start_info->console_evtchn);
+
return c;
}
_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [XenPPC] [linux-ppc-2.6] [POWERPC] udbg support for DomUs Complete,
Xen patchbot-linux-ppc-2 . 6 <=
|
|
|
|
|