Follow us on Google+ Follow us on Facebook Follow us on Twitter

Opened 6 years ago

Last modified 9 months ago

#402 accepted enhancement

Port QEMU to HelenOS

Reported by: Jiri Svoboda Owned by: Vojtech Horky
Priority: major Milestone:
Component: helenos/app/other Version: mainline
Keywords: gsoc12, gsoc13, gsoc14, gsoc15 Cc:
Blocker for: Depends on:
See also:

Description (last modified by Martin Decky)

Port 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.
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).
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
Possible mentors
HelenOS Core Team, Vojtech Horky

Change History (15)

comment:1 Changed 6 years ago by Jiri Svoboda

Milestone: 0.5.0

comment:2 Changed 6 years ago by Jakub Jermář

Keywords: needswork added

comment:3 Changed 6 years ago by Vojtech Horky

Description: modified (diff)

comment:4 Changed 6 years ago by Vojtech Horky

Description: modified (diff)
Keywords: needswork removed

comment:5 Changed 6 years ago by Jakub Jermář

Component: helenos/unspecifiedhelenos/app/other

comment:6 Changed 6 years ago by Jiri Svoboda

Description: modified (diff)

comment:7 Changed 5 years ago by Jakub Jermář

Keywords: gsoc13 added

comment:8 Changed 5 years ago by Vojtech Horky

Description: modified (diff)

comment:9 Changed 5 years ago by Martin Decky

Description: modified (diff)

comment:10 Changed 4 years ago by Vojtech Horky

Keywords: gsoc14 added

comment:11 Changed 3 years ago by Jakub Jermář

Keywords: gsoc15 added

comment:12 Changed 10 months ago by Jakub Jermář

Resolution: fixed
Status: newclosed

Fixed in:

lp:~maresja1/helenos/qemu_porting
lp:~maresja1/helenos/coastline_qemu_porting

Closing the ticket.

comment:13 Changed 9 months ago by Jiri Svoboda

Is it okay to close the ticket if it's not fixed in mainline?

comment:14 Changed 9 months ago by Vojtech Horky

Resolution: fixed
Status: closedreopened

Reopening until merged into mainline. Pre-integration branches are on Launchpad: lp:~vojtech-horky/helenos/helenos-qemu, lp:~vojtech-horky/helenos/coastline-qemu.

comment:15 Changed 9 months ago by Vojtech Horky

Owner: set to Vojtech Horky
Status: reopenedaccepted
Note: See TracTickets for help on using tickets.