xen: Port Xen hypervisor related code from mini-os

Port hypervisor related code from Mini-OS. This is referencing the code
of Mini-OS from [1] by Huang Shijie and Volodymyr Babchuk which is for
ARM64.
Update essential arch code to support required bit operations, memory
barriers etc.

Copyright for the bits ported belong to at least the following authors,
please see related files for details:

Copyright (c) 2002-2003, K A Fraser
Copyright (c) 2005, Grzegorz Milos, gm281@cam.ac.uk,Intel Research Cambridge
Copyright (c) 2014, Karim Allah Ahmed <karim.allah.ahmed@gmail.com>

[1] - https://github.com/zyzii/mini-os.git

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
[trini: Drop wmb() from musb-net/linux-compat.h now]
Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
Oleksandr Andrushchenko 2020-08-06 12:42:48 +03:00 committed by Tom Rini
parent 770a8eef3e
commit 486544161f
9 changed files with 393 additions and 4 deletions

15
include/xen.h Normal file
View file

@ -0,0 +1,15 @@
/* SPDX-License-Identifier: GPL-2.0
*
* (C) 2020, EPAM Systems Inc.
*/
#ifndef __XEN_H__
#define __XEN_H__
/**
* xen_init() - Xen initialization
*
* Map Xen memory pages.
*/
void xen_init(void);
#endif /* __XEN_H__ */