[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 5/5] xen: remove evtchn_upcall_mask from interface on ARM
On Thu, 2013-07-18 at 14:15 +0100, Ian Campbell wrote: > On ARM event-channel upcalls are masked using the hardware's interrupt mask > bit and not by a software bit. > > Leaving this field present in the interface has caused some confusion already > and is liable to mean it gets inadvertently used in the future. So arrange for > this field to be turned into a padding field on ARM by introducing a > XEN_HAVE_PV_UPCALL_MASK define. > > This bit is also unused for x86 PV-on-HVM guests, but we can't realistically > distinguish those from x86 PV guests in the headers. > > Add a per-arch vcpu_event_delivery_is_enabled function to replace the single > open coded use of evtchn_upcall_mask in common code (in a debug keyhandler). > The existing local_event_delivery_is_enabled, which operates only on current, > was unimplemented on ARM and unused on x86, so remove it. I failed to notice the new use of this in common code which arose from moving map_vcpu_info to common code. The most obvious fix is: diff --git a/xen/common/domain.c b/xen/common/domain.c index 6c264a5..9390a22 100644 --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -921,7 +921,9 @@ int map_vcpu_info(struct vcpu *v, unsigned long gfn, unsigned offset) if ( v->vcpu_info == &dummy_vcpu_info ) { memset(new_info, 0, sizeof(*new_info)); +#ifdef XEN_HAVE_PV_UPCALL_MASK __vcpu_info(v, new_info, evtchn_upcall_mask) = 1; +#endif } else { But that doesn't feel very satisfactory. Any bright ideas? arch_vcpu_info_init(new_info) perhaps? Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |