[[!template id=project title="Boot path cleanup to remove #ifdef XEN clutter" contact=""" [port-xen](mailto:port-xen@NetBSD.org) """ mentors=""" [Cherry G. Mathew](mailto:cherry@NetBSD.org) """ category="kernel" difficulty="hard" duration="37 hours" description=""" Abstract: The NetBSD boot path contains conditional compiled code for XEN. In the interests of moving towards unified pvops kernels, the code can be modified to be conditionally executed at runtime. Deliverables: * Removal of #ifdef conditional code from all source files. * New minor internal API definitions, where required, to encapsulate platform specific conditional execution. * Performance comparison figures for before and after. * Clear up the API clutter to make way for pvops. Note: Header files are exempt from #ifdef removal requirement. Implementation: The number of changes required are estimated as follows: drone.sorcerer> pwd /home/sorcerer/src/sys drone.sorcerer> find . -type f -name '*.[cSs]' -exec grep -H "^#if.* *\\bXEN\\b" '{}' \; | wc -l 222 drone.sorcerer> The effort required in this task is likely to be highly variable, depending on the case. In some cases, minor API design may be required. Most of the changes are likely to be mechanical. """ ]]