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

Binaries demo User Guide

How to use the X-Hyp binaries demos within QEMU

Contents


Getting the software

To use the binary demos you will need:

  • QEMU: you will get it at http://www.qemu.org and you must install it in your native operating system. Follow the instructions you will find on http://www.qemu.org/.
  • X-Hyp demos: there are two available demos: You can download both of them and try it separatly following the instructions here under in this page.


Starting the demo

After having download the software, QEMU and xhyp_demos, you can begin to play with it. You may start them by using for exemple:

  • qemu-system-arm -kernel xhyp_posix -M versatilepb -nographic
This will produce the following output:

Starting hypervisor x-hyp
xhyp 1.0 - (C) MNIS
Processor : 0x41069265
Cache type: 0x01dd20d2
TCM Status: 0x00000000
(qemu) x-hyp startup process ok
domain 1 at 02000000 size 01000000 tbl 0042c000 state 0
domain 2 at 03000000 size 02000000 tbl 00830000 state 0
domain 3 at 05000000 size 02000000 tbl 00c34000 state 0
domain 4 at 07000000 size 01000000 tbl 01038000 state 1
x-hyp scheduler: POSIX Scheduler
x-hyp: color demo serial interface started
x-hyp:

You can begin to start using X-Hyp and when you want you can leave X-Hyp and QEMU with Ctrl-A C to enter QEMU's menu and then q to quit.


Console commands

Inside the demos, the 4th domain is running a console application you can use to :

  • control the domains, starting or stoping domains
  • get informations on the domains, get the domains console output.
Here the list of the commands you can use in the demo version from october:
  • help : A help on the available commands
  • show : qport status
  • qport DID : qport usage for domain DID
  • pc DID : print console for domain DID
  • console DID : give console to domain DID
  • ps : domains status
  • psl : domains long status
  • start DID : start a domain
  • stop DID : stop a domain
  • dmesg NB : NB trace events
  • events : per domain events count
  • ag : get current ARINC plan
  • as : set new ARINC plan
As you may guess, some commands depends on the X-hyp configuration like ag and as which depends on the scheduler beiing used.


Posix scheduler demo

Start the POSIX demo using:

  • qemu-system-arm -kernel xhyp_posix -M versatilepb -nographic

Then you can begin to use commands like:

  • ps to show the processes. ps shows 10 columns:
    • ID: Identifier
    • Tp: Type of domain (R) RTOS, (G) GPOS (D) Driver
    • St: State: (D) dead (P) Paused (R) Running
    • Pr: priority beetween 0 (high priority) and 31 (low priority)
    • IRQ: Time elapsed in IRQ mode
    • ABT: Time elapsed in ABT mode
    • SYS: Time elapsed in SYS mode
    • USR: Time elapsed in USR mode
    • Name: Name of the domain
    • %USE: proportion of time used by this domain
  • psl to show the processes. ps shows 19 columns:
    • ID: Identifier
    • Tp: Type of domain (R) RTOS, (G) GPOS (D) Driver
    • St: State: (D) dead (P) Paused (R) Running
    • Md: Mode: (N) Non existant (S) System (U) User (I) Interrupt (A) Access Abort (F) fault
    • oM: Old mode, the mode leading to the actual mode.
    • base add: start address of the domain
    • load add: load address of the OS in the domain
    • rights: rights used for the domain for MMU/MPU handling
    • Pr: priority beetween 0 (high priority) and 31 (low priority)
    • Bg: budget for EDF and CBS schedulers (unused with Posix)
    • Pd: period or deadline for EDF and CBS scheduler (unused with Posix)
    • sl: handled system calls
    • ir: handled interrupts
    • nr: handled hypercalls
    • hy: last hypercall number
    • irq_mask: interrupt mask
    • irq_enab: interrupt enabled
    • irq_pend: interrupt pending
    • Name: Name of the domain

  • dmesg to display in core traces. ps shows 8 columns:
    • Time: A timestamp in nano seconds
    • Nb: a unique number for the trace event
    • Dom: the domain beiing scheduled when the event occurs
    • St: The domain interna state 1:Sys 2:IRQ
    • Evt: The event type
    • reserved: unused
    • Mode: The mode used when event occurs
    • Old mode: The mode used before changing to current mode


ARINC scheduler demo

Start the ARINC demo using:

  • qemu-system-arm -kernel xhyp_arinc -M versatilepb -nographic

With the ARINC scheduler you also have access to the following commands:

  • ag: get the ARINC scheduling plan
  • as: set the ARINC scheduling plan (Not Yet Implemented)

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.