[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MirageOS-devel] Mirage ARM port



On Tue, Apr 29, 2014 at 3:39 PM, Anil Madhavapeddy <anil@xxxxxxxxxx> wrote:
> On 29 Apr 2014, at 15:28, Andy Ray <andy.ray@xxxxxxxxxxx> wrote:
>>>
>>> The reasoning behind the FreeBSD/kernel approach is to give us a nice
>>> cocoon in which to leverage existing device drivers and slowly move
>>> our way down the stack, while retaining the ability to benchmark CPU
>>> and memory usage against the existing (mature and optimized) FreeBSD
>>> drivers.
>>
>>
>> I will be starting to port the x86 kernel prototype to arm by the end
>> of the week.  Then I'm away on holiday for a bit so it may be a while
>> before I have it working.


So after various distractions I finally got back to looking at this
stuff this week.

I've been trying to get the x86 prototype working to start with which
has not proved to be so easy.  Long story short I decided to bite the
bullet and start to update everything to the latest mirage version.

https://github.com/andrewray/opam-mirage-kfreebsd

> opam remote add opam-mirage-kfreebsd 
> https://github.com/andrewray/opam-mirage-kfreebsd
> opam update
> opam switch 4.01.0beta1+mirage-kfreebsd
> eval `opam config env`
> opam install mirage-kfreebsd mirage mirage-console-kfreebsd
(I think thats right - I'll reinstall clean and check soon).

I've dealt with a few things so far;

* FreeBSD10 - uses clang - some kfreesbd ocaml runtime issues needed
fixed (mainly harsher warnings as errors from clang)
* natdynlink/pic is unavailable - various packages are patched to
remove cmxs generation
* native code exes=>byte code exes if they dynlink (mirage, I'm looking at you)

Further, the older mirari with kfreebsd app with some support libs is
also updated as a (not working now but used to) reference point.

The main point of progress is in this project;

https://github.com/andrewray/kfreebsd-console

> gmake _build/main.ko
> sudo kldload _build/main.ko

This is a hack which used

> mirage configure -unix

on the mirage-skeleton/console project then studied mirari output and
hacked various bits together to end up with

> dmesg
[mir-app] Kernel module is about to load.
[mir-app] Memory limit: 32 MB
Fatal error: exception Assert_failure("filename.ml", 189, 9)
[mir-app] Function 'OS.Main.run' could not be found.

So it doesn't work, but that looks very much like an OCaml program to
me which is most encouraging.

For now its time for the pub but the next steps are to try and get
this simple app to work properly and then fix the mirage application
to generate the build scripts appropriately.

Cheers,
Andy

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.