Enable all warning and turn waring into error
fix deprecated apsr syntax
fix implicit declarations
fix -Werror=char-subscripts by cast char to int
fix -Werror=return-type of 'write_blank' by return void
remove unused variables
abstract file type
split kernel.c according to symbol prefix

exceptions:

Kernel config macros are in kconfig.h
container_of is in utils.h
mq_* in mqueue.h
RB_* in pipe.h
open in file.h
user_thread_stack in task.h
Change file interface to enable direct writing
implement block file: readable, writable, read, write
modify file inits to make block fit and let block obtain driver
move pathserver to path.h and path.c
add path_register to let driver register device path without mknod
make block_request public for driver
add position field to block request
move file position after request success
implement rom device driver
implement a simple file system maker
add mkromfs to Makefile
fix infinite loop when apply to multilevel directory