Hi, The second of five patches. Juan PREVIOUS OPERATION 1. Functions get_fs_*() and put_fs_*(), defined in arch/i86/mm/user.c do exactly the same than get_user_*() and put_user_*() defined as macros in include/arch/segment.h, wasting memory. 2. Parallel port driver lp.c defined its own macro for "get_user_char()". Oddly, it named this macro as "put_user()" NEW OPERATION 1. All calls to get_fs_*() and put_fs_*() were replaced with calls to get_user_*() and put_user_*(), as in mainstream linux. The macro definitions for get_user_*() and put_user_*() were removed and replaced with actual functions in arch/i86/mm/user.c. Header files were changed accordingly. 2. Removed macro definitions for "put_user()" in arch/i86/drivers/block/doshd.c and arch/i86/drivers/char/lp.c. Fixed usage of "get_user_char()" in lp.c. OTHER CHANGES 1. Code size reduced by 32 bytes. 2. Optimized assembly code in assembly functions in arch/i86/mm/user.c The Image builded without errors. The kernel was tested with QEMU and dioscuri emulators. Also in a PPro pc booting from floppy.
Attachment:
elksP.patch
Description: Binary data