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

Re: [MirageOS-devel] Including a C Library in a Mirage Xen Kernel

On Dec 17, 2013, at 12:25 PM, Anil Madhavapeddy <anil@xxxxxxxxxx> wrote:
> On 1I'm CCing Adam Wick on this too, since he also has a libm extracted from
> OpenBSD.  Sharing this sort of code between HalVM/Mirage will make longer
> term maintenance a lot easier, so I'm happy to adopt something if it can
> be easily split out of the HalVM tree.

They’re a lot easier to pull out in the HaLVM 2.0 work, as they’re basically in 
their own subtrees. Unfortunately, libc and libm are in two different 
repositories for, um, not-great-yet-annoyingly-important reasons:

https://github.com/GaloisInc/HaLVM/tree/master/src/libm   [src/libm from the 
HaLVM tree]
https://github.com/GaloisInc/halvm-ghc/tree/halvm/rts/minlibc   [rts/minlibc 
from the halvm branch of halvm-ghc]

The libc stuff is fairly recent, but definitely not optimized. The libm work is 
circa ~2007. I think it specializes for x86_32. I’ve been meaning to go back 
and add more optimal implementations for x86_64 and ARM, but haven’t gotten to 
it yet. This is definitely something we could share and help each other out 
with, though. Combining the two may also bear fruit in interesting ways.

If I pulled the libc and libm code from the HaLVM out and made a “minlib” git 
tree, would that be something you’d be willing to start using? I haven’t pulled 
it out yet because I wasn’t sure there’d be payoff against the added git 
submodule pain, but if there’s a clear user I’ll make it happen.

- Adam

Attachment: smime.p7s
Description: S/MIME cryptographic signature

MirageOS-devel mailing list



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