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

Re: [MirageOS-devel] Mirage ARM port



On 19 Jul 2014, at 19:02, Andy Ray <andy.ray@xxxxxxxxxxx> wrote:

> 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.

Fantastic!

> 
> 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

Erk, are these changes necessary because the build fails if natdynlink
isn't available?  That's a bad OASIS bug if so...

The Lwt base-threads/unix seems to be a bug in trunk as well (build
fails on my Mac).

> * 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.

This looks very promising.  Have you looked at the new MiniOS layout
in mirage/mirage-xen-minios?  All of this has been lifted out of the
mirage-platform repo now to be a separate library.

This should make it easier for kFreeBSD, since if you provide similar
C symbols, we can massage the bindings in mirage-platform/kFreeBSD
to satisfy the relevant OCaml module types.

I'm flying to OSCON tomorrow so may be latent on replies, but am also
refreshing the FreeBSD VM on my laptop to test this out as it develops!

-anil
_______________________________________________
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®.