Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
wiki1179: Kernel_source_guide (Version 24)

Quick Guide to the Kernel Source#


Where is the Kernel Source?#

/services/system/ker

How do I checkout and build the source?#

Where are the good bits?#

Functional AreaRelated Files
debug support,
reading kernel internal data
cpu_debug.c
kerext_debug.c
nano_debug.c
nano_kerdebug.c
deb_rec.c
kernel api,
linkage
kernel call entry and exit
kerext_*
ker_*
ker_call_table.c
ker_ring0.c
nano_specret.c
kernel entrypoint,
and init
_main.c
init_nto.c
idle.c
init_objects.c
magicarm/kernel.S
mips/kernel.S
ppc/kernel.s
sh/kernel.s
messagingnano_message.c
nano_xfer_msg.c
nano_xfer_check.c
nano_xfer_cpy.c
ker_channel.c
ker_connect.c
ker_fastmsg.c
ker_message.c
physical memoryemm_init_mem.c
emm_mmap.c
emm_munmap.c
emm_pmem_add.c
emm_vaddr_to_memobj.c
schedulerker_sched.c
nano_sched.c
Adaptive Partitioning Scheduleraps/
thread creation/deletionnano_thread.c

Where the heck is the implementation of KernelCall()? #

To find the implementation of a kernel call spelled like CamelCaseKernelCall, look for a function ker_camel_case_kernel_call. For example the SchedCtl() kernel call is implemented by ker_sched_ctl().

What are the file naming conventions?#

filename patternMeans
ker/ker_*kernel entry file. Checks parameters and decides when to lock the kernel
ker/nano_low-level implementation, in-kernel state and in ring-0 or supervisor mode
ker/arm/*
ker/mips/*
ker/ppc*
ker/sh/*
ker/x86/*
processor specific code for ARM, PowerPC, Hitach SH-4, and Intel x86 processor architectures