]> git.ipfire.org Git - thirdparty/ipxe.git/commit
[xen] Wait for and clear XenStore event before receiving data
authorMichael Brown <mcb30@ipxe.org>
Tue, 30 Jun 2015 16:06:58 +0000 (17:06 +0100)
committerMichael Brown <mcb30@ipxe.org>
Tue, 30 Jun 2015 16:18:51 +0000 (17:18 +0100)
commit211529a7fe97521acdeaf1f785e48ea3ddd26517
tree2f1cb9d465700d03b10846d2b88b98b8b1d9cfec
parenta0f60d26f5780196f75f4b14444dfa8d020a5e00
[xen] Wait for and clear XenStore event before receiving data

Older, out-of-tree Xen kernel modules (such as those provided with
SuSE Linux Enterprise Server 11) do not clear the leftover "event
pending" bit when opening an event channel.  Consequently, no event is
ever delivered to indicate that there is information in the XenStore
ring buffer, and the system hangs shortly after loading the
xen-platform-pci kernel module.

Work around this problem by always waiting for the XenStore event
channel to be signalled, and clearing the event before processing the
received data.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/arch/x86/include/bits/xen.h
src/interface/xen/xenstore.c