Re: [patch 21/26] Xen-paravirt_ops: Use the hvc console infrastructure for Xen console
From: Ingo Molnar <hidden>
Date: 2007-03-16 08:56:30
Also in:
lkml, xen-devel
From: Ingo Molnar <hidden>
Date: 2007-03-16 08:56:30
Also in:
lkml, xen-devel
* Jeremy Fitzhardinge [off-list ref] wrote:
Implement a Xen back-end for hvc console.
+ cons = intf->out_cons; + prod = intf->out_prod; + mb(); + BUG_ON((prod - cons) > sizeof(intf->out)); + + while ((sent < len) && ((prod - cons) < sizeof(intf->out))) + intf->out[MASK_XENCONS_IDX(prod++, intf->out)] = data[sent++]; + + wmb(); + intf->out_prod = prod;
+ prod = intf->in_prod; + mb(); + BUG_ON((prod - cons) > sizeof(intf->in));
such mb()'s are typically a sign of "i have no clear idea what SMP serialization rules apply here, but something is needed because otherwise it breaks" ? Ingo