[xen] Use generic test_and_clear_bit() function

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2016-03-16 21:27:07 +00:00
parent 9bab13a772
commit c14971bf88
2 changed files with 14 additions and 19 deletions

View File

@@ -161,23 +161,4 @@ xen_hypercall_5 ( struct xen_hypervisor *xen, unsigned int hypercall,
return retval;
}
/**
* Test and clear pending event
*
* @v xen Xen hypervisor
* @v port Event channel port
* @ret pending Event was pending
*/
static inline __attribute__ (( always_inline )) uint8_t
xenevent_pending ( struct xen_hypervisor *xen, evtchn_port_t port ) {
uint8_t pending;
__asm__ __volatile__ ( "lock btr %2, %0\n\t"
"setc %1\n\t"
: "+m" ( xen->shared->evtchn_pending ),
"=a" ( pending )
: "Ir" ( port ) );
return pending;
}
#endif /* _BITS_XEN_H */