genode/repos/ports/src/app/seoul
Alexander Boettcher d385749ead seoul: make vmm memory configurable
- document Genode specific configuration option
2019-12-19 17:01:42 +01:00
..
include/service Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
boot_module_provider.h Streamline exception types 2017-05-31 13:16:07 +02:00
component.cc seoul: make vmm memory configurable 2019-12-19 17:01:42 +01:00
console.cc seoul: use vm_session interface 2019-05-06 16:15:26 +02:00
console.h seoul: use vm_session interface 2019-05-06 16:15:26 +02:00
device_model_registry.cc seoul: adjust vga model to framebuffer host size 2018-03-27 13:44:26 +02:00
device_model_registry.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
disk.cc seoul: adjust to g++ 8.3.0 2019-05-27 14:52:52 +02:00
disk.h block_session: turn 'Connection' into template 2019-05-06 16:15:25 +02:00
guest_memory.h seoul: use vm_session interface 2019-05-06 16:15:26 +02:00
keyboard.cc Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
keyboard.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
mono.tff ports: migrate to new ports mechanism 2014-05-27 11:14:43 +02:00
network.cc seoul: adjust Intel network model to recent VM 2018-03-27 13:44:26 +02:00
network.h seoul: support g++ -Weffc++ option 2018-03-27 13:43:10 +02:00
README seoul: make vmm memory configurable 2019-12-19 17:01:42 +01:00
state.cc seoul: use vm_session interface 2019-05-06 16:15:26 +02:00
state.h seoul: use vm_session interface 2019-05-06 16:15:26 +02:00
synced_motherboard.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
target.mk Treat 'implicit fallthrough' errors as warnings 2019-05-27 14:52:52 +02:00
timeout_late.h seoul: handle late timeouts 2019-05-16 13:11:02 +02:00
user_env.cc ports: fix 'seoul' compile errors with GCC 8.3.0 2019-05-27 14:46:53 +02:00

Seoul (formerly Vancouver) is a virtual machine monitor originally developed
for the use with the NOVA hypervisor. Nowadays it is also available for seL4,
for Fiasco.OC and for NOVA on Genode. Seoul virtualizes 32bit x86 PC hardware
including various peripherals. The combination of NOVA and Vancouver (later
Seoul) is described in the following paper by Udo Steinberg and Bernhard Kauer:

[http://os.inf.tu-dresden.de/papers_ps/steinberg_eurosys2010.pdf - NOVA: A Microhypervisor-Based Secure Virtualization Architecture]

The NOVA project website is [http://hypervisor.org]
The latest <outdated> Seoul home is [https://github.com/TUD-OS/seoul]
The Seoul version as used by Genode is [https://github.com/alex-ab/seoul], branch
genode_<release>.

Usage
-----

<config width="1024" height="768" vmm_memory="10M" map_small="no"
        rdtsc_exit="no" vmm_vcpu_same_cpu="no">
	...
</config>

* The width/height specify the maximum area announced to the guest for the
  framebuffer. The values are read once during boot of the VMM. The
  values shown above are the default values.
* The vmm_memory value specify the amount of memory reserved for the Seoul VMM
  (so it is not available to the VM). The rest of the memory as specified in
  the Genode config is assigned to the VM.
* map_small specifies whether just 4k pages should be used.  Default is shown.
* rdtsc_exit specifies whether the VM should exit on each rdtsc instruction.
  Default is shown.
* vmm_vcpu_same_cpu specifies whether the main entrypoint should run on the
  same CPU as the first virtual CPU. Default is shown.