We port Xhyp on your hardware, we port your OS or application on Xhyp read more

Howto: Running X-hyp binaries demo.
...read more

Howto: Run your own RTOS in X-hyp.
...read more

Howto use the X-hyp configurator.
...read more

FAQ: Frequently Asked Questions on Licensing.
...read more

Howto use the X-Hyp framework to port an RTOS to X-Hyp.
...read more

Source code example: a hello world domain for X-Hyp.
...read more

Binary testing: using X-Hyp ARINC like scheduling.
...read more

IST Project: OCERA, Open components for realtime applications.
...read more

X-Hyp Framework

This page describe how to include your application inside X-Hyp

Contents


Overview


The domains configuration file

The domains configuration file is the file holding the domain configuration :). It is a CSV database having one record for each domain with following fields:

  • name, the name used for statistics
  • load_addr, the physical base address of the domain
  • virtual_addr, the virtual base address of the domain
  • size, the size of the domain
  • flags, some flags we will use (not used for now)
  • prio, the priority for POSIX scheduling
  • state, the initial state to start the domain with, DSTATE_STOP or DSTATE_READY
  • type, the type of domain, DTYPE_RTOS, DTYPE_GPOS, DTYPE_DRV
  • drv_type In case of a type DTYPE_DRV, one of HYP_IO_CONSOLE_ID, HYP_IO_DSK_ID, HYP_IO_NETWORK_ID, HYP_IO_OTHER_ID
  • path, the path where to find the domain binary to load with the XHyp hypervisor.
The domain configuration file is named config.domains and is placed in the subdirectory domains of the X-Hyp building tree.


The XHYP Library

The XHyp library is the software needed to handle domains. It is composed of

  • The startup code, allocating space for the domains, initialisaing control structure ...
  • The memory manager, including protection, allocation and cache manager
  • The interrupt manager
  • The time manager
  • The fault manager
  • The scheduler, to be chosen beetween POSIX, ARINC, EDF ...
  • The general purpose library


The builder

Once you create the config.domains file and specified your binaries, you can start to build X-Hyp by using in the root of the X-Hyp tree the command:

  • ./Build clean
  • ./Build
You should see the following.

[root@centos6 Xhyp]# ./Build.sh
Configuring xhyp
setting path for domains/domain01 : os/freeRTOS_xhyp
setting path for domains/domain02 : os/freeRTOS_xhyp
setting path for domains/domain03 : os/freeRTOS_xhyp
setting path for domains/domain04 : drivers/console.dom
Build 4 Domains
Building domain01
Building domain02
Building domain03
Building domain04
Linking xhyp
done
You may now start your hypervisor in QEMU with:

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

[root@centos6 Xhyp]#

You should then be able to start using X-Hyp inside of the QEMU emulator.

Howto use the X-Hyp framework to port an RTOS to X-Hyp.
...read more

Howto use the X-Hyp Assemblor Hypercall API.
...read more

Binary testing: using X-Hyp ARINC like scheduling.
...read more

Howto: Running X-hyp binaries demo.
...read more

Howto: Run your own RTOS in X-hyp.
...read more

Howto use the X-Hyp C hypercall API.
...read more

IST Project: OCERA, Open components for realtime applications.
...read more

Source code example: a hello world domain for X-Hyp.
...read more

Designed and built by M.N.I.S.

Using Bootstrap licensed under Apache V2 and Glyphicons Free licensed under CC BY 3.0.