[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH ARM v5 09/20] mini-os: don't require XEN_HAVE_PV_UPCALL_MASK
This isn't available on ARM. Signed-off-by: Thomas Leonard <talex5@xxxxxxxxx> --- extras/mini-os/hypervisor.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/extras/mini-os/hypervisor.c b/extras/mini-os/hypervisor.c index c5de872..1b61d9b 100644 --- a/extras/mini-os/hypervisor.c +++ b/extras/mini-os/hypervisor.c @@ -73,18 +73,26 @@ void do_hypervisor_callback(struct pt_regs *regs) void force_evtchn_callback(void) { +#ifdef XEN_HAVE_PV_UPCALL_MASK int save; +#endif vcpu_info_t *vcpu; vcpu = &HYPERVISOR_shared_info->vcpu_info[smp_processor_id()]; +#ifdef XEN_HAVE_PV_UPCALL_MASK save = vcpu->evtchn_upcall_mask; +#endif while (vcpu->evtchn_upcall_pending) { +#ifdef XEN_HAVE_PV_UPCALL_MASK vcpu->evtchn_upcall_mask = 1; +#endif barrier(); do_hypervisor_callback(NULL); barrier(); +#ifdef XEN_HAVE_PV_UPCALL_MASK vcpu->evtchn_upcall_mask = save; barrier(); +#endif }; } @@ -110,7 +118,9 @@ inline void unmask_evtchn(uint32_t port) &vcpu_info->evtchn_pending_sel) ) { vcpu_info->evtchn_upcall_pending = 1; +#ifdef XEN_HAVE_PV_UPCALL_MASK if ( !vcpu_info->evtchn_upcall_mask ) +#endif force_evtchn_callback(); } } -- 2.0.0 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |