[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] RFC: Cleaning up the Mini-OS namespace
Hi, In rumprun-xen [1] we use Mini-OS as a "base firmware" layer in our stack. Currently we are using a slightly bastardized fork of the xen.git Mini-OS. We would like to avoid this turning into a permanent fork. Following previous discussion [2] on and openmirage-devel I would like to coordinate upstreaming our changes if possible. The biggest change which needs to be done is cleaning up the Mini-OS namespace. This is necessary as we link Mini-OS with the application, rump kernel and NetBSD libc to get a full application stack. The changes as implemented in a semi-automated fashion for the Mini-OS used by rumprun-xen can be viewed in the (since merged) pull request at [3]: - All Mini-OS functions called by rumprun-xen are renamed to minios_* or _minios_* for strictly internal functions, except those in the blkfront_*, netfront_*, pcifront_* and xenbus_* driver namespaces. - In the case of drivers, eg. init|shutdown_blkfront are renamed to blkfront_*. - All global variables are either manually made local, or placed under the _minios_* namespace, with the exception of HYPERVISOR_shared_info, and those variables under driver namespaces kept above. - All callers are updated to use the new names. Where it makes sense, macros such as alloc_page are also renamed into the minios_ namespace. Questions: - Is there a general interest in upstreaming this work? - Upstream Mini-OS provides things we (rumpkernel.org) don't need (stub "libc", ...). If we are to move to upstream then we will need to do a more general cleanup of Mini-OS to make these pluggable. Again, is there upstream interest in this work? - As there is no formal API for Mini-OS. My changes only address the "public" functionality used by rumprun-xen. Other users mileage will vary; who else should I coordinate with? - I have not namespaced macros such as local_irq_save(). Should this be done? Also, the driver namespaces have been preserved (since I was lazy), these should probably be renamed under the minios namespace; it's plausible some day someone will try to link an application with a function called blkfront_init(). All comments and review welcome. Martin [1] http://repo.rumpkernel.org/rumprun-xen [2] http://thread.gmane.org/gmane.comp.rumpkernel.user/514 [3] https://github.com/rumpkernel/rumprun-xen/pull/10 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |