Re: [PATCH 2.6.17] Clean up and refactor i386 sub-architecture setup
From: Zachary Amsden
Date: Tue Jun 20 2006 - 21:23:15 EST
Jeremy Fitzhardinge wrote:
Zachary Amsden wrote:
This is cleaner than the patches I sent in March, although we want to
re-use parts of the mach-default code, not replace it entirely.
Hence my interest in the multi-subarch generic kernel. I'd be glad
to look into it.
In my current Xen patch, I split the mach-default/setup.c into setup.c
and setup-memory.c; Xen uses setup.c as-is, and then provides its own
setup-xen.c. That solves my immediate problem, but I don't know if it
generalizes enough; certainly factoring default/setup.c into a cluster
of reusable setup-*.c pieces is a pretty lightweight way of reusing
those pieces.
I was thinking more of having mach-xen/built-in.o,
mach-default/built-in.o, mach-es7000/built-in.o, mach-voyager/built-in.o
all be linked specially so they can be compiled into the same kernel
either as one giant batch, with weak linkage and a function table to
indirect calls to them (thus the generic kernel can jettison the modules
outside of the subarch it has chosen at boot time, potentially keeping
the default kernel as well to allow subarches to fallback on the
traditional indirections). And if compiled as a specific kernel, those
weak linkages get promoted to direct instead of indirect calls.
You may have to separate the namespaces at the identifier level as well,
use some elven magic, but I haven't worked out all the details yet.
Zach
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/