Open mwookawa opened 7 years ago
1) what is MD code?
2) When making a "child ticket", how do we "link this ticket (#33)"? Just making #33 clickable like this?
Literally, just put "Child of #33" in the description :)
MD code ~= "Machine-Dependent Code"
note that the pandaboard cortex-a9 is an ARMv7-A ISA core.
we now have an extremely good idea of what the syscall handling code looks like, and crystal has made progress on a) mapping out the difference between x86 and arm syscall call handling, b) replacing some machine dependent code with machine-independent code within the syscall dispatch interface.
what we don't have is good descriptions of where the rest of the machine dependent code in the barrelfish kernel is. we know already that kernel/arch holds maybe 40% of it, but there is machine dependent code many elsewhere.
I have seen these other bits of code take two forms:
First, as preprocessor guarded clauses; ie, #define ARCH in the build system followed by #if defined ARCH do_hack() #endifin the operational code.
user/kernel code with potentially unnecessary dependencies. for example, vfs_blockdevfs_megaraid.c, which relies on a megaraid driver that will not build (as no megaraid device exists) for most platforms. in this particular case, the vfs library (barrelfish/lib/vfs) could be rewritten (although with non-trivial effort) to virtualize devices.
include/arch is another large reservoir of machine-dependent code
high level statistics using find
:
wc -l `find . -not -path "./build/*" -type d -name "arch" -exec find {} +`
gives 71648 lines of code in directories named arch, of which:
This is a meta-task that consists of multiple child subtasks.
Children of this ticket should link #33 in their descriptions.
Our long-term goal is to build an inventory of all Machine-Dependent (MD) code in the barrelfish tree. Our short-term goal is to bite off small chunks of that task guided by our previous inventories of the OS161 and NetBSD kernels trees.
Open Discussion Wiki Page:
https://github.com/Harvard-PRINCESS/Guppy/wiki/%5BOPEN-FOR-DISCUSSION%5D-Barrelfish-Source-Tree-to-Functionality-mapping
Open Children:
Currently none.