Hello Jakub,

On 25.7.2013 1:58, Jakub Klama wrote:
> My name is Jakub Klama and I'm 24 years old developer studying
> on Jagiellonian University, Poland who loves working on embedded.
> I'm official FreeBSD committer, working mainly on FreeBSD ARM and
> MIPS ports. I'm author of two FreeBSD ports: for TI DaVinci SoC
> family (ARM9) and LPC EA32x0 SoC family (ARM9 too).

Thanks for your interest in HelenOS.

> I have minimal experience with SPARC architecture and only
> a little with FPGA and VHDL (at least, I can read VHDL code),
> but I think that this project will be ideal opportunity to learn
> something new in that areas - and of course in microkernel
> design.

Probably a great opportunity to learn about LEON, but as this is mostly
a kernel project, I am not so sure about the microkernel design part
that you refer to. On the other hand, implementing a userspace driver
for some IO devices found on these systems would expose you to the
microkernel aspect of HelenOS too.

> At this moment, I'm doing research and writing SOCIS proposal
> which will be ready in few days (so I wish I could get
> some feedback on this proposal before submission deadline).

Great!

> My current research focuses on:
> 
> * Preparing development environment:
>   There's only one free emulator for LEON - qemu-sparc, both
>   "official" emulators - TSIM and GRSIM from Gaisler are on
>   paid licenses. TSIM evaluation version works only for 2^32
>   clock cycles, making it virtually useless. There's also EGOS
>   but I'm unsure about licensing.

It would be good to be sure about the level of QEMU support for LEON.
The only other option seems to be going with that FPGA board.

> * scope of the work. Am I right that support for Timer, UART
>   and interrupt controller IP Cores is sufficent to run
>   HelenOS?

Well, to some minimal extent (so that you get some very basic
functionality out of the kernel) yes. There is also memory management,
trap handling (which on SPARC V9 was probably the most complex thing to
do). Going further, the layer of userspace drivers to support the LEON
specific peripherals will be needed.

> I've attached my qualifying patch - it's addressed to issue #457.
> It fixes -r switch for ping and adds -n <count> switch, which means number
> of ICMP requests to be sent. It also brings getopt to parse command-line
> parameters.

Thanks, I and possible someone else will have a look at the patch.

> Any hints or information about this project idea (previous work in
> this area, if exists, etc) is of course greatly appreciated too!

The previous work in a related area, as you already know, consists of
our SPARC V9 ports to sun4u and the newer sun4v platforms. These efforts
bore two master theses that you can use for a very rough idea of what it
took. Note that some time has already passed since writing these theses,
so they do not reflect the current state of HelenOS and, for example, do
not take the userspace device driver framework into account nor do they
deal with the kernel non-identity mappings:

Porting SPARTAN kernel to SPARC V9 architecture, 2007
http://www.helenos.org/doc/theses/jj-thesis.pdf

Support for UltraSPARC III, IV, T1 and T2 processors in HelenOS, 2009
http://www.helenos.org/doc/theses/pr-thesis.pdf

Jakub

_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/listinfo/helenos-devel

Reply via email to