﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	field_blocks	field_dependson	field_seealso
402	Port QEMU to HelenOS	Jiri Svoboda	Vojtech Horky	"Port [http://wiki.qemu.org/ QEMU] emulator to HelenOS

 Details::
  QEMU is a machine emulator that is able to emulate environment of various
 hardware platforms, including PC, PowerPC, ARM or SPARC.[[br]]
 The goal of porting this emulator to HelenOS is to allow developers run
 the emulation of HelenOS inside HelenOS.
 It is unlikely that single person would be able to port all features of QEMU
 to HelenOS. First of all, the scope of QEMU is really big (it offers also
 means for virtualization) to be ported during such short period.
 Next, HelenOS itself may not provide all the functionality needed
 (for example, there is no port of SDL to HelenOS and the graphical toolkit in HelenOS offers only very limited set of features).[[br]]
 Because of these limitations, the applicant shall choose a reasonable subset
 of QEMU features (e.g. it is not necessary to support all emulated peripherals) and focus on porting these.
 On the other hand, the solution must provide functional emulator with at least rudimentary graphical output.

 What Gains and Benefits will this bring?::
  The biggest benefit of this task is in the ability to run HelenOS inside
 HelenOS, thus possibly speeding-up development process and, as a more
 distant goal, develop HelenOS fully inside HelenOS.
 Also, the ability of an OS to run inside itself (i. e. be self-hosting) can be seen as a proof of
 maturity of the system.

 Difficulty::
  Medium to High

 Required skills::
  A successful applicant will have good skills of programming in the C language and the ability to survive in a non-standard non-POSIX application environment.
 Previous experience with development of machine emulator or some virtualization tool would be beneficial to the applicant.

 Documentation::
  * [http://wiki.qemu.org/ QEMU homepage]
  * [http://wiki.qemu.org/Manual QEMU user's manual]
  * [http://wiki.qemu.org/Documentation/GettingStartedDevelopers Getting started developing QEMU]
  * [BinutilsMaintenance Maintenance instructions for another ported application (binutils)]

 Possible mentors::
  HelenOS Core Team, Vojtech Horky"	enhancement	accepted	major		helenos/app/other	mainline		gsoc12, gsoc13, gsoc14, gsoc15				
