xen: Port Xen event channel driver from mini-os
Make required updates to run on u-boot. Strip functionality
not needed by U-boot.
Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
diff --git a/drivers/xen/hypervisor.c b/drivers/xen/hypervisor.c
index 108e970..63fed60 100644
--- a/drivers/xen/hypervisor.c
+++ b/drivers/xen/hypervisor.c
@@ -20,6 +20,7 @@
#include <linux/bug.h>
#include <xen/hvm.h>
+#include <xen/events.h>
#include <xen/interface/memory.h>
#define active_evtchns(cpu, sh, idx) \
@@ -163,9 +164,7 @@
l2 &= ~(1UL << l2i);
port = (l1i * (sizeof(unsigned long) * 8)) + l2i;
- /* TODO: handle new event: do_event(port, regs); */
- /* Suppress -Wunused-but-set-variable */
- (void)(port);
+ do_event(port, regs);
}
}
@@ -236,5 +235,6 @@
debug("%s\n", __func__);
map_shared_info(NULL);
+ init_events();
}