Menu

Tree [e8c220] master /
 History

HTTPS access


File Date Author Commit
 arch 2017-10-02 Pierre Morel Pierre Morel [ddd43e] Build: toolchain: centralize cross compiler exp...
 domains 2014-12-09 Pierre Morel Pierre Morel [b03493] Event handling, domain internal error handling
 drivers 2017-11-20 Pierre Morel Pierre Morel [e8c220] console: add color_on variable to swith on/off ...
 include 2014-12-09 Pierre Morel Pierre Morel [b03493] Event handling, domain internal error handling
 kernel 2014-12-09 Pierre Morel Pierre Morel [b03493] Event handling, domain internal error handling
 lib 2014-04-17 Pierre Morel Pierre Morel [f9dc73] Changes for Linux and bug corrections
 os 2014-02-06 Pierre Morel Pierre Morel [37e0a0] scheduler and irq handling
 scripts 2017-10-02 Pierre Morel Pierre Morel [6fe7a0] scripts:lxconfig: rebase lxconfig on last busyb...
 tests 2017-11-20 Pierre Morel Pierre Morel [8e68e0] Build: supress relation to old SDK
 .gitignore 2017-11-20 Pierre Morel Pierre Morel [2efbdc] gitignore: ignore *.o *.s
 Build.sh 2017-11-20 Pierre Morel Pierre Morel [8e68e0] Build: supress relation to old SDK
 Doxyfile 2014-02-06 Pierre Morel Pierre Morel [1f080a] Added documentation. Changed scheduling and IRQ
 Kconfig 2017-10-02 Pierre Morel Pierre Morel [e41cfc] Kconfig: Build.sh: test for cross compiler
 Makefile 2014-02-06 Pierre Morel Pierre Morel [37e0a0] scheduler and irq handling
 README 2014-04-17 Pierre Morel Pierre Morel [f9dc73] Changes for Linux and bug corrections

Read Me

     __  __     _   ___   ______      _____ ____  _____ _____ 
     \ \/ /    | | | \ \ / /  _ \    |  ___|  _ \| ____| ____|
      \  /_____| |_| |\ V /| |_) |   | |_  | |_) |  _| |  _|  
      /  \_____|  _  | | | |  __/    |  _| |  _ <| |___| |___ 
     /_/\_\    |_| |_| |_| |_|       |_|   |_| \_\_____|_____|
                                                              

This programm is in alpha stage.
It actually runs on a versatile board inside of qemu.

This file gives you informations about using the xhyp hypervisor

	0) configure xhyp
	1) configure xhyp with guest domains
	2) build xhyp core
	3) test xhyp

===============================================================================
	0) configure xhyp

First of all you need to configure xhyp.
use: 
# ./Build.sh menuconfig

The first time, you will need the ncurses developpement package
to be able to uild the menu itself.

===============================================================================
	1) configure xhyp with guest domains

Use the config.domains file in the domains directory
you will find informations on the structure of the file
on the xhyp web site: http://xhyp.org/

The configuration should be obvious.

Use defaults domains you will find on the web site at
	http://xhyp.org/download/

or build your own domain using informations at
	http://xhyp.org/support/documentation/


===============================================================================
	2) build xhyp core

You need to use the Build.sh script.
In this file is an include file depending on the architecture
you will find it in the directory arch/${ARCH}/${BOARD}

Actually there is only one architecture, arm, and one
board supported, versatile.

in this file, toolchain.inc you will probably need to change
the cross compiler prefix and the PATH to find it.

like:
PATH=$PATH:/root/armbin
export CROSS_COMPILE=${CROSS_COMPILE:-arm-none-linux-gnueabi-}

you may also need to change appropriate options for C flags and
assembler flags if you choose another cross compiler.

Then you hopefully just need to start building xhyp with:

# ./Build.sh


===============================================================================

	3) test xhyp

You can actually test xhyp inside a qemu box with:

#  qemu-system-arm -M versatilepb -kernel xhyp -nographic

Contact us for more informations at contact@xhyp.org

We expect to soon propose new architectures and boards for the xhyp
hypervisor.

===============================================================================

	4) Building a para virtualized OS

Once you ported your OS on x-hyp you can test it by first 
compute a binary to include in the x-hyp image.
For example for Linux:

        LINUX=${LINUX_BASE}/vmlinux
        ${CROSS_COMPILE}objcopy $LINUX -O  binary os/linux.bin

You must of course first initialize the LINUX and CROSS_COMPILE variables.

then add the configuration in the domains/config.domains file
For example for Linux: