[BACK]Return to ChangeLog CVS log [TXT][DIR] Up to [local] / prex / doc

Annotation of prex/doc/ChangeLog, Revision 1.1

1.1     ! nbrk        1: 2008-08-07  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !             2:
        !             3:        * sys/include/version.h: Update version to 0.8.0.
        !             4:
        !             5: 2008-08-03  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !             6:
        !             7:        * usr/server/fs/vfs/main.c: Support pipe().
        !             8:        * include/server/fs.h: Likewise.
        !             9:        * usr/lib/posix/file/pipe.c: Likewise.
        !            10:        * usr/test/pipe/*: Likewise.
        !            11:
        !            12: 2008-07-17  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !            13:
        !            14:        * usr/server/fs/fifofs/*: Added FIFOFS.
        !            15:        * usr/server/fs/vfs/vfs_conf.c: Likewise.
        !            16:
        !            17:
        !            18: 2008-07-05  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !            19:
        !            20:        * usr/bin/cal/cal.c: Added cal command.
        !            21:        * usr/bin/cal/Makefile: Likewise.
        !            22:        * usr/bin/Makefile: Likewise.
        !            23:        * usr/bin/cmdbox/cmd_conf.c: Likewise.
        !            24:
        !            25:        * usr/bin/head/head.c: Added head command.
        !            26:        * usr/bin/head/Makefile: Likewise.
        !            27:        * usr/bin/Makefile: Likewise.
        !            28:        * usr/bin/cmdbox/cmd_conf.c: Likewise.
        !            29:
        !            30: 2008-06-19  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !            31:
        !            32:        * sys/kern/device.c: Removed the verification of I/O buffer
        !            33:        by vm_access() to improve I/O performace. Instead, the device driver
        !            34:        must use umem_copyin/umem_copyout to access user buffer.
        !            35:        * sys/mem/vm.c: Likewise.
        !            36:        * sys/mem/vm_nommu.c: Likewise.
        !            37:
        !            38: 2008-06-07  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !            39:
        !            40:        * usr/server/fs/fatfs/*: Added FATFS.
        !            41:        * usr/server/fs/vfs/vfs_conf.c: Likewise.
        !            42:
        !            43: 2008-04-14  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !            44:
        !            45:        * boot/arm/gba/head.S: Fixed the system hang on the actual GBA
        !            46:        flash cart. Correct the relocatin address.
        !            47:
        !            48: 2008-04-10  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !            49:
        !            50:        * usr/server/proc/exit.c (proc_exit): Fixed process server to
        !            51:        handle exit() properly.
        !            52:
        !            53: 2008-04-09  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !            54:
        !            55:        * dev/gen/tty.c (tty_read): Fixed to handle EOF properly in tty.
        !            56:
        !            57:        * usr/server/fs/vfs/vfs_vnode.c (vn_lookup): Fixed vnode lookup
        !            58:        routine to prevent a deadlock.
        !            59:
        !            60: 2008-04-08  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !            61:
        !            62:        * boot/i386/head.S: Fixed boot failure with some real hardwares.
        !            63:        Added some wait after enabling gate A20. This was reported at the
        !            64:        Prex forum.
        !            65:
        !            66: 2008-04-07  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !            67:
        !            68:        * usr/server/exec/args.c (build_args): The argv/envp pointer was not
        !            69:        set correctly for the main() routine of applications.
        !            70:
        !            71: 2008-03-27  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !            72:
        !            73:        * usr/lib/posix/process/waitpid.c (waitpid): Fixed to allow NULL for
        !            74:        status pointer. It caused a page fault.
        !            75:
        !            76: 2008-03-07  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !            77:
        !            78:        * sys/kern/thread.c: Modified an argument of context_set().
        !            79:        * sys/kern/exception.c: Likewise.
        !            80:
        !            81: 2008-03-02  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !            82:
        !            83:        * usr/server/fs/vfs_syscall.c: Fixed stat() not to call open()
        !            84:        system call.
        !            85:
        !            86:        * usr/server/proc/main.c (proc_register): Fixed the memory leak
        !            87:        when the process registration failed.
        !            88:
        !            89:        * sys/kern/system.c: sys_debug(int, u_long) => sys_debug(int, void *).
        !            90:
        !            91:        * sys/kern/device.c: Changed the data types of ioctl() parameters.
        !            92:
        !            93: 2008-02-23  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !            94:
        !            95:        * sys/kern/exception.c: Removed the register data from the argument
        !            96:        of an exception handler. Now, the exception handler don't have to
        !            97:        pass the register data with exception_return(). This change was
        !            98:        applied to improve portability and to prevent a security problem.
        !            99:        * sys/kern/thread.c: Likewise.
        !           100:
        !           101:        * sys/kern/thread.c: Rename kernel_thread() -> kthread_create(), and
        !           102:        add kthread_terminate().
        !           103:
        !           104:        * sys/kern/main.c: Rename kernel_main() -> main().
        !           105:
        !           106: 2008-02-23  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           107:
        !           108:        * sys/kern/thread.c (thread_load): Fixed to return a correct error
        !           109:        code for an invalid user request.
        !           110:
        !           111: 2008-02-03  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           112:
        !           113:        * sys/kern/task.c (task_terminate): Fixed to stop the alarm timer
        !           114:        in task_terminate(). The page fault was occured if an alarm
        !           115:        exception was invoked after task termination.
        !           116:
        !           117:        * sys/kern/thread.c (thread_suspend): thread_suspend() routine always
        !           118:        returns a success code even if it detects errors.
        !           119:
        !           120: 2008-01-27  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           121:
        !           122:        * dev/include/driver.h: Changed the data type of the arguments
        !           123:        for timer_callout().
        !           124:
        !           125:        * dev/include/driver.h: Added 'const' for the argument of
        !           126:        umem_copyin()/umem_copyout().
        !           127:
        !           128:        * dev/include/driver.h: Changed the data type for the irq handle
        !           129:        returned by irq_attach().
        !           130:
        !           131: 2008-01-26  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           132:
        !           133:        * Added modification to build Prex-i386 with PCC (Portable C Compiler)
        !           134:        on FreeBSD. All in-line assembly code were removed with this change.
        !           135:
        !           136: 2008-01-25  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           137:
        !           138:        * sys/sync/sem.c (sem_init): The semaphore count was not set
        !           139:        propery for re-initinalization.
        !           140:
        !           141: 2008-01-04  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           142:
        !           143:        * Removed unused kernel dump routines for simpilicy.
        !           144:
        !           145:        * Removed all variadic macros for C90 compiler.
        !           146:
        !           147:        * Changed printk() (linux style) to printf() (bsd style).
        !           148:
        !           149: 2008-01-03  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           150:
        !           151:        * sys/ipc/object.c (object_create): Fixed the bug in string
        !           152:        manipulation when the object name is not specified for object_create().
        !           153:        This fix was sent by YoctoGram.
        !           154:
        !           155:        * include/sys/cdefs.h: Added some definitions for PCC compiler.
        !           156:
        !           157: 2007-12-22  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           158:
        !           159:        * sys/include/version.h: Update version to 0.7.0.
        !           160:
        !           161: 2007-12-15  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           162:
        !           163:        * Code clean up for ANSI-C.
        !           164:
        !           165: 2007-12-08  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           166:
        !           167:        * sys/kern/exception.c (exception_deliver): Fixed a page fault after
        !           168:        the task is terminated by exception.
        !           169:
        !           170:        * sys/mem/vm.c (__vm_allocate): Modified to prevent an assertion check
        !           171:        when no page is available.
        !           172:
        !           173:        * sys/include/timer.h: Changed SCHED_INFO -> SCHED_TIMER.
        !           174:
        !           175:        * usr/server/fs/vfs/main.c: Setup thread priority for all threads.
        !           176:
        !           177:        * sys/kern/thread.c (thread_schedparam): Added check to prevent the
        !           178:        priority boost by the thread which does not have CAP_NICE capability.
        !           179:
        !           180:        * sys/kern/debug.c: Removed a kernel function trace feature which
        !           181:        is depend on gcc's extension.
        !           182:
        !           183: 2007-11-22  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           184:
        !           185:        * sys/kern/timer.c (timer_cleanup): Fixed memory leak when
        !           186:        a periodic thread is terminated.
        !           187:
        !           188:        * sys/sync/cond.c (cond_wait): Mutex was locked even if cond_wait()
        !           189:        was failed due to exception.
        !           190:
        !           191: 2007-11-21  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           192:
        !           193:        * sys/kern/sched.c (sched_switch): Added clearing rescheduling flag
        !           194:        before context switch. This flag was kept pending in some rare case.
        !           195:
        !           196:        * sys/kern/sched.c (sched_unlock): Handle interrupts fired during
        !           197:        thread switching to minimize scheduling latency.
        !           198:
        !           199:        * sys/kern/timer.c: Removed timer_unhook(). This can be done by
        !           200:        calling timer_hook() with NULL pointer.
        !           201:
        !           202:        * Fixed build error with gcc 2.95.
        !           203:
        !           204:        * sys/lib/vsprintf.c (divide): Removed a divide optimization for ARM.
        !           205:        we link libgcc.a now.
        !           206:
        !           207: 2007-11-03  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           208:
        !           209:        * usr/server/fs/ramfs/ramfs_vnops.c (ramfs_truncate): Added
        !           210:        file truncate routine for O_TRUNC.
        !           211:
        !           212:        * usr/server/fs/vfs/syscalls.c (sys_mkdir): Fixed page fault during
        !           213:        mkdir() when "foo/bar" style path is specified. The problem is caused
        !           214:        by illegal vput() for lookup error.
        !           215:
        !           216: 2007-10-26  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           217:
        !           218:        * usr/server/fs/ramfs/ramfs_vnops.c (ramfs_write): Page fault
        !           219:        while writing ramfs.
        !           220:        * mk/Makefile.inc: Enable -ansi -pedantic option for portability.
        !           221:
        !           222: 2007-10-25  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           223:
        !           224:        * usr/server/fs/vfs/bio.c (bio_init): A mutex for buffer cache
        !           225:        was no initialized.
        !           226:
        !           227:        * sys/sync/mutex.c (mutex_lock): Fixed bug in recursive mutex lock.
        !           228:        The lock count was incorrect.
        !           229:
        !           230: 2007-10-23  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           231:
        !           232:        * sys/kern/thread.c (kernel_thread): Changed the scheduling policy
        !           233:        of a timer thread to SCHED_FIFO from SCHED_RR.
        !           234:
        !           235: 2007-10-20  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           236:
        !           237:        * sys/mem/kmem.c (kmem_alloc): Fixed the hang when kernel memory
        !           238:        allocation was failed.
        !           239:
        !           240: 2007-10-19  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           241:
        !           242:        * sys/kern/except.c (exception_raise): The schduler was kept disabled
        !           243:        when an exception was raised with invalid parameter.
        !           244:
        !           245: 2007-10-10 Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           246:
        !           247:        * user/lib/*/Makefile.inc: Changed libsa to remove dependency with
        !           248:        libc.
        !           249:
        !           250:        * user/mk/Makefile.inc: Added checking unresolved symbols in a driver
        !           251:        module.
        !           252:
        !           253:        * sys/kern/timer.c (tmer_callout): Rename timer_callout() from
        !           254:        timer_timeout().
        !           255:
        !           256:        * Changed the name of the following interface to keep the consistency.
        !           257:         - object_delete() -> object_destroy()
        !           258:         - device_delete() -> device_destroy()
        !           259:
        !           260:        * include/*: Added common include directory.
        !           261:
        !           262: 2007-10-06 Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           263:
        !           264:        * user/mk/Makefile.inc: Changed the compile option to -Os from -O2
        !           265:        to reduce entire code size.
        !           266:
        !           267: 2007-09-30 Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           268:
        !           269:        * user/server/fs/ramfs/ramfs_vnops.c: Fixed unbalanced lock/unlock
        !           270:        of mutex in RAMFS. This patch was posted by YoctoGram.
        !           271:
        !           272: 2007-09-27 Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           273:
        !           274:        * user/server/fs/devfs/devfs_vnops.c: Fixed a file lookup routine
        !           275:        in devfs.
        !           276:        * user/include/prex/prex.h: Likewise.
        !           277:        * sys/include/device.h: Likewise.
        !           278:
        !           279: 2007-09-23  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           280:
        !           281:        * sys/kern/device.c: Added "flags" parameter in device_create() to
        !           282:        indicate the device type. This is required for a file system to
        !           283:        know whether the device is a block device.
        !           284:        * sys/kern/include/system.h: Likewise.
        !           285:        * sys/kern/include/device.h: Likewise.
        !           286:        * user/include/prex/prex.h: Likewise.
        !           287:
        !           288: 2007-08-23  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           289:
        !           290:        * user/lib/prex/malloc/malloc.c: Implement realloc().
        !           291:
        !           292: 2007-08-19  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           293:
        !           294:        * sys/kern/except.c: Fixed to support processing an exception
        !           295:        at interrupt level.
        !           296:
        !           297: 2007-08-12  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           298:
        !           299:        * sys/kern/except.c: Added exception_mask() to mark exception of
        !           300:        curren task. This is used by tty driver.
        !           301:
        !           302:        * dev/gen/tty.c: Support TTY driver.
        !           303:        * dev/arch/arm/gba/console.c: Likewise.
        !           304:        * dev/arch/arm/gba/swkbd.c: Likewise.
        !           305:        * dev/arch/i386/pc/console.c: Likewise.
        !           306:        * dev/arch/i386/pc/kbd.c: Likewise.
        !           307:
        !           308: 2007-07-12  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           309:
        !           310:        * user/server/fs/vfs/main.c (fs_dup): Correct dup() function in fs.
        !           311:        The reference count was not incremented after dup().
        !           312:
        !           313:        * sys/sync/mutex.c (mutex_cleanup): Fixed the kernel hang when
        !           314:        a thread terminates while it holds a mutex.
        !           315:
        !           316:        * boot/common/elf.c (load_executable): Fixed the boot failure when
        !           317:        a boot task does not have any data or bss sections.
        !           318:
        !           319: 2007-07-03  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           320:
        !           321:        * sys/kern/sched.c (sched_setprio): Fixed the scheduler to switch
        !           322:        a thread properly for priority change.
        !           323:
        !           324:        * user/lib/prex/posix/file/*: Added POSIX emulation library
        !           325:        for file related system calls.
        !           326:        * user/test/fileio/fileio.c: Likewise.
        !           327:
        !           328:
        !           329: 2007-06-20  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           330:
        !           331:        * sys/include/param.h: Update version to 0.5.0.
        !           332:
        !           333:        * user/test/fileio/main.c: Added test program for file system.
        !           334:        * user/test/fileio/fslib.c: Likewise.
        !           335:        * user/test/fileio/fslib.h: Likewise.
        !           336:        * user/test/fileio/Makefile: Likewise.
        !           337:
        !           338:        * user/server/fs/*: Adde file system server. This includes VFS
        !           339:        framework, buffer cache, ramfs, devfs, and arfs (archive fs).
        !           340:
        !           341: 2007-06-17  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           342:
        !           343:        * mk/Makefile.inc: Optimized build speed for cygwin.
        !           344:
        !           345:        * configure: Removed dependency to 'sed' and added confiure script
        !           346:        for build process.
        !           347:        * mk/Makefile.inc: Likewise.
        !           348:        * mk/own.mk: Likewise.
        !           349:
        !           350:        * boot/arch/i386/pc/head.s: Changed file name to head.S.
        !           351:
        !           352: 2007-06-16  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           353:
        !           354:        Applied following patches posted by Andrew Dennison.
        !           355:
        !           356:        * dev/power/cpufreq.c: Fixed typos.
        !           357:        * sys/include/system.h: Likewise.
        !           358:        * user/bin/kmon/cmd.c: Likewise.
        !           359:
        !           360:        * mk/Makefile.inc: Added more dependencies and intermediate elf file.
        !           361:        for binary output
        !           362:
        !           363:        * boot/include/types.h: Added C99 types for boot too.
        !           364:
        !           365:        * sys/kern/irq.c (irq_detach): Fixed crash in irq_detach() when not
        !           366:        using an ist.
        !           367:
        !           368:        * dev/include/driver.h: Const correctness, fix timer_delay() prototype
        !           369:        for drivers.
        !           370:        * kern/sys/device.c: Likewise.
        !           371:
        !           372:        * sys/kern/timer.c: Fixed spelling in comment.
        !           373:
        !           374:        * sys/lib/vsprintf.c (vsprintf): support field width for %s.
        !           375:
        !           376:        * convert config to makefile variables and autogenerate config.h.
        !           377:
        !           378:        * convert driver selection to makefile based CONFIG variable.
        !           379:
        !           380: 2007-06-02  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           381:
        !           382:        * mk/prog.mk: Support BSD style makefile for POSIX applications.
        !           383:        PROG and SRCS macro is supported now.
        !           384:
        !           385: 2007-05-02  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           386:
        !           387:        * sys/arch/i386/i386/cpu.h: Removed pad data from desc_p. This
        !           388:        was an obsolete hack for msvc compiler.
        !           389:
        !           390:        * boot/common/elf.c (elf_load): Corrected the macro to get
        !           391:        the kernel load address. phys_to_virt => virt_to_phys.
        !           392:
        !           393: 2007-04-13  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           394:
        !           395:        * sys/include/param.h: Update version to 0.4.3.
        !           396:
        !           397:        * user/test/dvs/dvs.c: Added test case for 50% cpu load for DVS
        !           398:        test tool.
        !           399:
        !           400: 2007-04-12  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           401:
        !           402:        The following 5 changes were applied by Andrew Dennison.
        !           403:
        !           404:        * boot/common/debug.c: (1) Fixed order of header files.
        !           405:        * boot/common/elf.c: Likewise.
        !           406:        * boot/common/main.c: Likewise.
        !           407:
        !           408:        * sys/arch/i386/include/arch.h: (2) Fixed typo.
        !           409:        * sys/arch/i386/include/platform.h: Likewise.
        !           410:
        !           411:        * user/test/Makefile: (3) Modified for i386 specific test tool.
        !           412:
        !           413:        * user/lib/libc/stdlib/getsubopt.c: (4) Fixed build warning.
        !           414:        * user/lib/libc/stdlib/strtol.c: Likewise.
        !           415:        * user/lib/libc/stdlib/strtoul.c: Likewise.
        !           416:
        !           417:        * boot/common/elf.c: (5) Added validation of module symbol while
        !           418:        relocating module.
        !           419:        * boot/include/elf.h: Likewise.
        !           420:
        !           421: 2007-04-09  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           422:
        !           423:        * sys/kern/debug.c: Added "dmesg" framework. The kernel message log
        !           424:        can be checked after system boot with this change. User can get this
        !           425:        message by F9 key on PC platform.
        !           426:        * sys/include/debug.h: Likewise.
        !           427:        * sys/include/param.h: Likewise.
        !           428:        * dev/include/driver.h: Likewise.
        !           429:        * user/include/prex/prex.h: Likewise.
        !           430:        * user/bin/kmon/cmd.c: Likewise.
        !           431:        * conf/config-arm-gba.h: Likewise.
        !           432:        * conf/config-i386-pc.h: Likewise.
        !           433:        * conf/config-i386-nommu.h: Likewise.
        !           434:
        !           435: 2007-04-08  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           436:
        !           437:        * sys/kern/sched.c (thread_dpc): Support DPC (Deferred Procedure
        !           438:        Call). The driver can handle an asynchronous callback event at
        !           439:        safer interrupt level.
        !           440:        * sys/kern/device.c: Likewise.
        !           441:        * sys/include/sched.h: Likewise.
        !           442:        * dev/include/driver.h: Likewise.
        !           443:
        !           444:        * dev/power/dvs.c: Optimized voltage scaling algorithm.
        !           445:        * dev/power/cpufreq.c: Likewise.
        !           446:        * dev/power/pm.c: Likewise.
        !           447:
        !           448: 2007-04-07  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           449:
        !           450:        * sys/sync/sem.c (sem_post): Fixed a bug in sem_post(). The
        !           451:        thread could not get a semaphore when multiple value is set.
        !           452:
        !           453:        * sys/kern/timer.c: Added timer_hook()/timer_unhook() service
        !           454:        for drivers. The power management or profiling driver can get
        !           455:        a tick event with these services without using timer call-back.
        !           456:        This can reduce the system power consumption.
        !           457:        * sys/kern/device.c: Likewise.
        !           458:        * sys/include/sched.h: Likewise.
        !           459:        * dev/include/driver.h: Likewise.
        !           460:
        !           461: 2007-04-03  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           462:
        !           463:        * sys/kern/timer.c (timer_tick): Optimized whole timer related
        !           464:        code to minimize timer jitters of periodic timer. The periodic
        !           465:        threads can be runnable by one thread switch now.
        !           466:        * sys/include/timer.h: Likewise.
        !           467:
        !           468: 2007-03-31  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           469:
        !           470:        * sys/kern/timer.c (timer_delay): Changed the return type of
        !           471:        timer_delay() routine to u_long from int.
        !           472:
        !           473:        * user/lib/prex/malloc/malloc.c (free): Fixed a page fault
        !           474:        when malloc/free is called repeatedly. The data was corrupted
        !           475:        for some specific size for allocation.
        !           476:
        !           477:        * sys/kern/thread.c (thread_resume): Modified to return EINVAL
        !           478:        if thread_resume() is called when suspend count was already 0.
        !           479:
        !           480: 2007-03-27  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           481:
        !           482:        * */: Replaced all u_int32_t to uint32_t to meet C99 manner.
        !           483:
        !           484:        * sys/kern/system.c (sys_debug): Added checking CAP_DEBUG capability.
        !           485:
        !           486: 2007-03-24  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           487:
        !           488:        * sys/*: Kernel code clean up.
        !           489:
        !           490:        * sys/kern/task.c (__task_capable): Modified to define task_capable()
        !           491:        as macro to reduce code size.
        !           492:
        !           493: 2007-03-23  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           494:
        !           495:        * sys/sync/mutex.c (mutex_unlock): Fixed mutex_unlock() to
        !           496:        return EPERM error when the lock count was already 0.
        !           497:
        !           498:        * sys/kern/thread.c (thread_schedparam): Removed functions to
        !           499:        set a different time slice to each thread. Because, I will never
        !           500:        use it...
        !           501:        * sys/kern/sched.c: Likewise.
        !           502:        * sys/include/thread.h: Likewise.
        !           503:
        !           504: 2007-03-22  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           505:
        !           506:        * user/lib/prex/malloc/malloc.c (free): Fixed free() in libc
        !           507:        to do nothing for free(0).
        !           508:
        !           509:        * user/lib/prex/malloc/malloc.c (malloc): Refined malloc() for
        !           510:        multi-thread applications.
        !           511:        * usre/lib/gen/__isthreaded.c: Likewise.
        !           512:
        !           513: 2007-03-20  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           514:
        !           515:        * user/lib/libc/random.c: Added random() in libc.
        !           516:
        !           517:        * user/test/malloc/malloc.c: Added test code for malloc().
        !           518:
        !           519:        * user/test/ipc_mt/ipc_mt.c: Added IPC test tool for multi-threaded
        !           520:        server.
        !           521:
        !           522: 2007-03-18  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           523:
        !           524:        * mk/Makefile.inc: Added -fno-stack-protector option for gcc 4.1.
        !           525:        The build error occurred with some distributions which enable
        !           526:        SSP feature of gcc by default.
        !           527:
        !           528: 2007-03-16  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           529:
        !           530:        * test/ipc_mt/*: Added IPC test program for multi-threaded server.
        !           531:
        !           532: 2007-03-07  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           533:
        !           534:        * user/arch/arm/systrap.h: Fixed syscall trap macro for ARM
        !           535:        processor.
        !           536:        * sys/arch/arm/arm/locore.S: Correct getting SWI number in
        !           537:        system call handler. These two bug was pointed out by Ying Yin.
        !           538:
        !           539: 2007-02-14  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           540:
        !           541:        * sys/kern/main.c: Code clean up.
        !           542:        * sys/include/kernel.h: Likewise.
        !           543:
        !           544:        * sys/kern/system.c: Changed the data format of sys_info(). The
        !           545:        kernel information is now compatible with POSIX's utsname.
        !           546:        * sys/kern/sched.c: Likewise.
        !           547:        * sys/include/system.h: Likewise.
        !           548:        * dev/include/driver.h: Likewise.
        !           549:        * user/include/prex/prex.h: Likewise.
        !           550:
        !           551: 2007-02-09  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           552:
        !           553:        * sys/kern/device.c: Added reference count for the device object
        !           554:        to avoid the device removal while I/O operations. device_delete()
        !           555:        request will be hold until the target reference count becomes 0.
        !           556:        * sys/include/device.h: Likewise.
        !           557:
        !           558:        * sys/kern/device.c: Added "force" option to device_broadcast
        !           559:        driver service. If this option is specified, we will continue
        !           560:        the event notification even if some driver returns an error.
        !           561:        Otherwise, device_broadcast will quit and return for first
        !           562:        driver error.
        !           563:        * sys/include/device.h: Likewise.
        !           564:
        !           565: 2007-02-08  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           566:
        !           567:        * dev/arch/i386/i386/delay.c: Removed a delay driver. This was
        !           568:        changed to generic driver service.
        !           569:        * dev/include/delay.h: Likewise.
        !           570:        * dev/core/main.c: Likewise.
        !           571:        * dev/arch/i386/pc/platform.c: Likewise.
        !           572:        * dev/arch/arm/gba/platform.c: Likewise.
        !           573:
        !           574: 2007-02-06  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           575:
        !           576:        * sys/kern/timer.c: Fixed system hang when periodic timer is stopped
        !           577:        with invalid timer object.
        !           578:
        !           579:        * sys/sync/mutex.c (prio_inherit): Added checking max mutex count
        !           580:        to inherit thread priorities. This was added to prevent the risk
        !           581:        of the unexpected heavy loop with preemption disabled. The maximum
        !           582:        count to inherit priority is currently set to 10.
        !           583:
        !           584: 2007-02-03  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           585:
        !           586:        * sys/kern/syscall.c: Changed sys_stat() system call to sys_info().
        !           587:        The interface was extended to get thread/device information from
        !           588:        kernel.
        !           589:        * sys/kern/system.c: Likewise.
        !           590:        * sys/include/system.h: Likewise.
        !           591:
        !           592: 2007-01-30  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           593:
        !           594:        * sys/kern/timer.c: Fixed the kernel timer code. There was a small
        !           595:        time window that can not handle timer callback. In this case,
        !           596:        the callback request was not processed until next tick event.
        !           597:        * sys/include/timer.h: Likewise.
        !           598:
        !           599: 2007-01-24  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           600:
        !           601:        * sys/include/param.h: Update version to 0.4.2.
        !           602:
        !           603:        * sys/kern/main.c: Code clean up.
        !           604:        * sys/kern/syscall.c: Likewise.
        !           605:        * sys/kern/device.c: Likewise.
        !           606:        * sys/include/system.h: Likewise.
        !           607:        * boot/arch/*: Likewise.
        !           608:        * dev/arch/*: Likewise.
        !           609:        * sys/arch/*: Likewise.
        !           610:
        !           611: 2006-12-01  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           612:
        !           613:        * sys/arch/arm/arm/umem.c (umem_strnlen): Added 3rd argument
        !           614:        to store string length. The return value was changed to indicate
        !           615:        error code.
        !           616:        * sys/arch/arm/include/arch.h: Likewise.
        !           617:        * sys/arch/i386/i386/locore.S: Likewise.
        !           618:        * sys/arch/i386/include/arch.h: Likewise.
        !           619:
        !           620: 2006-11-29  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           621:
        !           622:        * dev/arch/i386/pc/dma.c (dma_alloc): An interrupt was kept
        !           623:        disabled when DMA buffer allocation was failed.
        !           624:
        !           625: 2006-11-17  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           626:
        !           627:        * dev/arch/arm/gba/swkbd.c: Changed bitmap format for keyboard
        !           628:        and cursor images in order to shrink its data size.
        !           629:
        !           630: 2006-11-02  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           631:
        !           632:        * sys/ipc/object.c (object_create): Fixed the handling of EFAULT
        !           633:        in object_create().
        !           634:
        !           635: 2006-11-02  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           636:
        !           637:        * sys/kern/thread.c (thread_terminate): The error code was not
        !           638:        correct in thread_terminate().
        !           639:
        !           640: 2006-10-29  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           641:
        !           642:        * sys/mem/vm.c (vm_attribute): Renamed from vm_attrib().
        !           643:        * sys/mem/vm_nommu.c: Likewise.
        !           644:        * sys/kern/task.c: Likewise.
        !           645:        * sys/kern/syscall.c: Likewise.
        !           646:        * sys/include/vm.h: Likewise.
        !           647:        * user/include/prex/prex.h: Likewise.
        !           648:
        !           649: 2006-10-29  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           650:
        !           651:        * sys/kern/task.c (task_create): Expanded vm_inherit option of
        !           652:        task_create(). We can use VM_NONE/VM_COPY/VM_SHARE to select the
        !           653:        VM mapping of child task.
        !           654:        * sys/include/task.h: Likewise.
        !           655:        * user/include/prex/prex.h: Likewise.
        !           656:        * user/test/task/task.c: Likewise.
        !           657:
        !           658: 2006-10-29  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           659:
        !           660:        * sys/mem/vm_nommu.c (vm_terminate): Fixed the invalid kmem_free()
        !           661:        to deallocate VM regions.
        !           662:
        !           663: 2006-10-20  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           664:
        !           665:        * sys/kern/thread.c (thread_load): Fixed a error check of
        !           666:        thread_load(). NULL pointer can be set as stack.
        !           667:
        !           668:        * dev/arch/arm/gba/swkbd.c (kbd_input): Added calling thread dump
        !           669:        by 'select' button on GBA.
        !           670:
        !           671: 2006-10-19  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           672:
        !           673:        * sys/mem/vm.c (vm_dump_one): Correct the copy length of strlcpy().
        !           674:
        !           675: 2006-10-05  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           676:
        !           677:        * user/lib/prex/malloc/malloc.c (malloc): Refined malloc() library
        !           678:        in user mode. Added data to store the previously used node.
        !           679:
        !           680: 2006-10-04  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           681:
        !           682:        * sys/arch/i386/i386/mmu.c (mmu_extract): The end address for
        !           683:        page extraction was not correct.
        !           684:
        !           685: 2006-09-29  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           686:
        !           687:        * sys/kern/system.c (sys_debug): Added sys_debug() kernel API.
        !           688:        * sys/kern/syscall.c: Likewise.
        !           689:        * sys/include/debug.h: Likewise.
        !           690:        * user/include/prex/prex.h: Likewise.
        !           691:        * user/lib/prex/syscalls/syscall.h: Likewise.
        !           692:        * user/lib/prex/syscalls/sys_debug.s: Likewise. (new)
        !           693:
        !           694:        * user/bin/kmon/cmd.c: Added some commands to dump kernel objects.
        !           695:
        !           696: 2006-09-22  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           697:
        !           698:        * sys/mem/vm_nommu.c (__vm_map): Fixed memory leak when vm_map()
        !           699:        was called two or more times on NOMMU system.
        !           700:
        !           701: 2006-09-21  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           702:
        !           703:        * boot/arch/i386/pc/head.s: Updated GDT and selector value
        !           704:        as same with kernel.
        !           705:
        !           706: 2006-09-15  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           707:
        !           708:        * sys/kern/thread.c (thread_dump): Fixed the wrong string
        !           709:        pointer for thread dump function.
        !           710:
        !           711: 2006-08-10  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           712:
        !           713:        * sys/include/stat.h: Added a kernel release name into the
        !           714:        kernel statistics data. This is used by the uname command.
        !           715:
        !           716: 2006-07-24  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           717:
        !           718:        * sys/mem/page.c (page_reserve): Fixed a bug in the page reserve
        !           719:        routine. The reserved size could be incorrect because of
        !           720:        wrong alignment adjustment.
        !           721:
        !           722: 2006-07-9  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           723:
        !           724:        * sys/arch/arm/arm/locore.S: Fixed system hang on an actual GBA
        !           725:        machine. Added NOP instruction after LDM^ instruction within an
        !           726:        interrupt handler as written in ARM reference manual.
        !           727:        * sys/arch/arm/arm/context.c: Likewise.
        !           728:        * sys/arch/arm/include/arch.h: Likewise.
        !           729:
        !           730: 2006-05-19  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           731:
        !           732:        * dev/gen/ramdisk.c: Support RAM disk driver.
        !           733:        * boot/include/bootinfo.h: Likewise.
        !           734:        * boot/common/elf.c: Likewise.
        !           735:        * boot/common/main.c: Likewise.
        !           736:        * sys/mem/page.c (page_init): Likewise.
        !           737:        * sys/include/bootinfo.h: Likewise.
        !           738:        * dev/include/bootinfo.h: Likewise.
        !           739:        * conf/config-arm-gba.h: Likewise.
        !           740:        * conf/config-i386-pc.h: Likewise.
        !           741:        * conf/config-i386-nommu.h: Likewise.
        !           742:
        !           743: 2006-05-7  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           744:
        !           745:        * sys/ipc/msg.c: Changed the data type of the message length
        !           746:        of msg_send()/msg_receive()/msg_reply(). (int => size_t)
        !           747:        * user/include/prex/prex.h: Likewise.
        !           748:
        !           749: 2006-04-30  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           750:
        !           751:        * sys/mem/vm_nommu.c (region_free): Fixed to remove a free node
        !           752:        correctly.
        !           753:        * user/include/prex/prex.h: Likewise.
        !           754:
        !           755: 2006-04-24  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           756:
        !           757:        * sys/kern/device.c: Changed the argument types of
        !           758:        device_read()/device_write(). (size/offset => nbyte/blkno)
        !           759:
        !           760: 2006-04-21  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           761:
        !           762:        * sys/mem/vm.c: Fixed page fault during kernel memory dump.
        !           763:        * sys/mem/vm_nommu.c: Likewise.
        !           764:
        !           765: 2006-02-23  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           766:
        !           767:        * sys/include/param.h: Update version to 0.4.1.
        !           768:
        !           769:        * sys/kern/irq.c (irq_detach): Fixed to terminate an interrupt
        !           770:        thread in irq_detach() properly.
        !           771:        * sys/kern/thread.c (__thread_terminate): Likewise.
        !           772:        * sys/kern/task.c (task_terminate): Likewise.
        !           773:
        !           774: 2006-02-16  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           775:
        !           776:        * sys/lib/string.c (strlcpy): Changed all strncpy() routine
        !           777:        to strlcpy() for security reason.
        !           778:        * sys/include/kernel.h: Likewise.
        !           779:        * sys/arch/i386/i386/gdb_stub.c: Likewise.
        !           780:        * sys/kern/task.c (task_name): Likewise.
        !           781:        * sys/ipc/object.c (object_create): Likewise.
        !           782:        * sys/kern/device.c (device_create): Likewise.
        !           783:        * sys/mem/vm.c (vm_dump_one): Likewise.
        !           784:        * sys/mem/vm_nommu.c (vm_dump_one): Likewise.
        !           785:
        !           786: 2006-02-02  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           787:
        !           788:        * dev/arch/i386/i386/delay.c (delay_loop): Fixed the timer
        !           789:        calibration code to prevent gcc's optimization. This caused
        !           790:        system hang during boot.
        !           791:
        !           792:        * sys/kern/task.c (task_create): Dropped vm_inherit option
        !           793:        of task_create on NOMMU system.
        !           794:        * sys/mem/vm_nommu.c (vm_fork): Likewise.
        !           795:
        !           796: 2006-02-01  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           797:
        !           798:        * sys/arch/arm/arm/context.c (context_save): Aded an ARM exception
        !           799:        support.
        !           800:        * sys/arch/arm/arm/locore.S (interrupt_entry): Likewise.
        !           801:
        !           802:        * boot/common/elf.c: Added ELF object relocation. All boot tasks
        !           803:        on NOMMU system are relocated at boot time. In addition, a driver
        !           804:        module is also relocated on MMU/NOMMU system.
        !           805:        * boot/arch/i386/i386/elf_reloc.c (relocate_rel): Likewise.
        !           806:        * boot/arch/arm/arm/elf_reloc.c (relocate_rel): Likewise.
        !           807:        * boot/include/elf.h: Likewise.
        !           808:        * sys/kern/task.c (task_load): Likewise.
        !           809:        * sys/mem/vm.c (__vm_allocate): Likewise.
        !           810:        * sys/mem/vm_nommu.c (__vm_allocate): Likewise.
        !           811:
        !           812: 2006-01-31  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           813:
        !           814:        * sys/kern/except.c (exception_raise): Fixed the argument check
        !           815:        of exception_raise() to be used with the alarm timer.
        !           816:
        !           817: 2006-01-19  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           818:
        !           819:        * sys/kern/sched.c (sched_wakeone): Fixed the priority check in
        !           820:        the scheduler. The highest priority thread was not selected to
        !           821:        run due to some bug.
        !           822:        * sys/kern/sched.c (sched_setprio): Likewise.
        !           823:        * sys/ipc/msg.c (dequeue_topprio): Likewise.
        !           824:
        !           825: 2006-01-12  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           826:
        !           827:        * dev/arch/i386/pc/fdd.c (fdd_write): Fixed the unexpected data
        !           828:        write to floppy drive. It was writing 512 sectors instead of 512
        !           829:        bytes.
        !           830:
        !           831: 2006-01-11  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           832:
        !           833:        * sys/kern/timer.c (timer_periodic): Updated the periodic timer
        !           834:        routine to more simple.
        !           835:
        !           836: 2006-01-10  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           837:
        !           838:        * dev/arch/i386/pc/fdd.c (fdd_rw): Fixed the hang while continuous
        !           839:        data write to FDD. The deadlock occurred because of the bad sequence
        !           840:        of I/O request and scheduling lock.
        !           841:
        !           842: 2006-01-05  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           843:
        !           844:        * sys/sync/mutex.c (mutex_cleanup): Added Giang Hu's fix for mutex.
        !           845:        The kernel hang occurred in some conditions.
        !           846:
        !           847: 2005-12-27  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           848:
        !           849:        * sys/include/param.h: Update version to 0.4.0.
        !           850:
        !           851:        * sys/*: Added 'task capability' to improve security. The task
        !           852:        capability can be used to manage the permissions of the various
        !           853:        task operations.
        !           854:
        !           855: 2005-12-16  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           856:
        !           857:        * sys/mem/vm.c (vm_create): Fixed a memory leak when vm_create()
        !           858:        was failed.
        !           859:
        !           860:        * sys/arch/i386/i386/context.c (context_set): Changed the data type
        !           861:        of register value to u_long from void *.
        !           862:
        !           863: 2005-12-13  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           864:
        !           865:        * sys/kern/task.c (task_create): Added vm_inherit argument to
        !           866:        task_create() interface instead of using NULL as task id. It is
        !           867:        changed to return ESRCH if specified task id is NULL.
        !           868:
        !           869: 2005-12-13  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           870:
        !           871:        * dev/arch/i386/pc/fdd.c (fdd_read): Fixed the i/o read size.
        !           872:        It was using byte count for sector count.
        !           873:
        !           874: 2005-12-12  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           875:
        !           876:        * sys/ipc/msg.c (msg_send): Changed to fill the task ID in all
        !           877:        messages for security.
        !           878:
        !           879: 2005-12-09  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           880:
        !           881:        * /conf/Makefile: Moved from /img directory. /img is removed now.
        !           882:
        !           883:        * user/sample/*: Added some sample programs.
        !           884:
        !           885:        * user/test/*: Updated whole test programs.
        !           886:
        !           887:        * user/include/prex/prex.h: Added definitions for exceptions.
        !           888:
        !           889:        * user/lib/prex/syscalls/Makefile (OBJS): Fixed the lack of
        !           890:        sem_trywait() stub routine in the library.
        !           891:
        !           892:        * sys/kern/device.c (device_write): Changed the error code for
        !           893:        EBADF as an invalid device object.
        !           894:
        !           895:        * dev/arch/i386/pc/console.c (console_write): Added locking scheduler
        !           896:        while writing line to console.
        !           897:
        !           898: 2005-12-06 Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           899:
        !           900:        * make/*.mk: Updated makefiles.
        !           901:
        !           902:        * user/test/malloc: Added malloc() test program.
        !           903:
        !           904:        * user/test/errno: Added strerror() test program.
        !           905:
        !           906: 2005-12-02 Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           907:
        !           908:        * user/lib/libsa/*.c: Created new libc for standalone tasks.
        !           909:
        !           910:        * user/lib/libc/string/*.c: Updated string library with BSD code.
        !           911:
        !           912: 2005-12-01 Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           913:
        !           914:        * conf/config.h: Merged all configuration files.
        !           915:
        !           916: 2005-11-29  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           917:
        !           918:        * make/Makefile.inc: Support 'make lint'.
        !           919:
        !           920: 2005-11-25  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           921:
        !           922:        * dev/gen/null.c: Added null driver.
        !           923:
        !           924:        * dev/ge/zero.c: Added zero driver.
        !           925:
        !           926: 2005-11-24  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           927:
        !           928:        * sys/sync/mutex.c : Support a static mutex initializer.
        !           929:
        !           930:        * sys/sync/cond.c : Support a static CV initializer.
        !           931:
        !           932:        * sys/sync/mutex.c : Changed the argument type of the kernel synch
        !           933:        API for POSIX compatibility.
        !           934:        * sys/sync/cond.c : Likewise.
        !           935:        * sys/sync/sem.c : Likewise.
        !           936:
        !           937: 2005-11-18  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           938:
        !           939:        * dev/include/errno.h : Changed the value of EAGAIN.
        !           940:        * sys/include/errno.h : Likewise.
        !           941:        * user/include/sys/errno.h : Likewise.
        !           942:
        !           943: 2005-11-15  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           944:
        !           945:        * sys/ipc/object.c (object_lookup): Fixed object_lookup(). It could
        !           946:        not find the correct object.
        !           947:
        !           948: 2005-11-10  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           949:
        !           950:        * sys/include/param.h: Update version to 0.3.0.
        !           951:
        !           952:        * sys/mem/vm.c (vm_allocate_unlocked): The allocated memory was
        !           953:        not initialized with 0 in vm_allocate().
        !           954:        * sys/mem/vm_nommu.c (vm_allocate_unlocked): Likewise.
        !           955:
        !           956: 2005-11-09  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           957:
        !           958:        * boot/include/bootinfo.h: Fixed the compile error with gcc4.
        !           959:
        !           960:        * sys/sync/mutex.c (mutex_lock): Fix mutex_lock() to return EDEADLK
        !           961:        rather than panic() when it detects the deadlock condition.
        !           962:
        !           963: 2005-11-08  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           964:
        !           965:        * user/test/mutex/main.c: Added the test program for the mutex.
        !           966:        * user/test/deadlock/main.c: Added the test program for the deadlock
        !           967:        condition of mutex.
        !           968:
        !           969: 2005-11-04  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           970:
        !           971:        * sys/sync/sem.c (sem_post): Fixed the bug in sem_post(). The waiting
        !           972:        thread is not unblocked even if the semaphore value becomes positive.
        !           973:
        !           974:        * user/test/sem/main.c: Added the test program for the semaphore.
        !           975:
        !           976: 2005-11-02  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           977:
        !           978:        * user/lib/prex/sa/stdio.c: Added standalone I/O interface in the
        !           979:        user mode library.
        !           980:        * user/bin/cpuvolt/io.c: Likewise. (removed)
        !           981:        * user/bin/kmon/io.c: Likewise. (removed)
        !           982:        * user/test/bench/io.c: Likewise. (removed)
        !           983:
        !           984:        * sys/include/stat.h: Added data for timer tick rate in the
        !           985:        kernel statistics data.
        !           986:        * user/include/prex.h: Likewise.
        !           987:        * user/test/bench/main.c: Likewise.
        !           988:
        !           989:        * sys/kern/device.c (device_init): Fixed to boot a kernel even if
        !           990:        the driver module is not loaded.
        !           991:
        !           992: 2005-11-01  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !           993:
        !           994:        * make/*.mk: Clean up all Makefiles.
        !           995:
        !           996:        * dev/include/ioctl.h: Changed the driver ioctl code to BSD style.
        !           997:        * dev/include/cpu.h: Likewise.
        !           998:        * dev/include/pm.h: Likewise.
        !           999:        * user/include/prex/ioctl.h: Likewise.
        !          1000:        * user/bin/cpuvolt/main.c: Likewise.
        !          1001:        * user/bin/kmon/cmd.c: Likewise.
        !          1002:
        !          1003: 2005-10-28  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1004:
        !          1005:        * sys/sync/sem.c (sem_init): Changed to allow re-initialize of
        !          1006:        the initialized semaphore. Fixed the error code of sem_init() to
        !          1007:        ENOSPC from ENOMEM for POSIX compatibility.
        !          1008:
        !          1009:        * sys/kern/syscall.c: Changed the name of the following system calls
        !          1010:        for POSIX compatibility.
        !          1011:         - mutex_create() -> mutex_init()
        !          1012:         - cond_create() -> cond_init()
        !          1013:         - sem_create() -> sem_init()
        !          1014:         - sem_count() -> sem_getvalue()
        !          1015:        * sys/sync/mutex.c: Likewise.
        !          1016:        * sys/sync/cond.c: Likewise.
        !          1017:        * sys/sync/sem.c: Likewise.
        !          1018:        * sys/include/sync.h: Likewise.
        !          1019:        * user/lib/prex/syscalls/syscall.h: Likewise.
        !          1020:        * user/lib/prex/syscalls/Makefile: Likewise.
        !          1021:        * user/include/prex/prex.h: Likewise.
        !          1022:
        !          1023: 2005-10-26  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1024:
        !          1025:        * user/test/thread/main.c (main): Modified for the long run test.
        !          1026:
        !          1027:        * sys/arch/arm/arm/umem.c (umem_strnlen): Changed the return type
        !          1028:        of umem_strnlen() to identify the page fault and NULL string.
        !          1029:        * sys/arch/arm/include/arch.h: Likewise.
        !          1030:        * sys/arch/i386/i386/locore.S (umem_strnlen): Likewise.
        !          1031:        * sys/arch/i386/include/arch.h: Likewise.
        !          1032:
        !          1033:        * sys/arch/arm/arm/umem.c (umem_strnlen): Fixed the incorrect
        !          1034:        handling of the string length returned by umem_strnlen().
        !          1035:        * sys/kern/device.c (device_open): Likewise.
        !          1036:        * sys/kern/task.c (task_name): Likewise.
        !          1037:        * sys/kern/system.c (sys_log): Likewise.
        !          1038:
        !          1039: 2005-10-19  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1040:
        !          1041:        * sys/arch/arm/arm/context.c: Clean up kernel configuration files.
        !          1042:        * sys/arch/arm/arm/trap.c: Likewise.
        !          1043:        * sys/arch/arm/arm/locore.S: Likewise.
        !          1044:        * sys/arch/arm/arm/locore.h: Likewise. (removed)
        !          1045:        * sys/arch/arm/include/config.h: Likewise.(new)
        !          1046:        * sys/arch/arm/include/param.h: Likewise.(removed)
        !          1047:        * sys/arch/arm/gba/config.h: Likewise. (new)
        !          1048:        * sys/arch/arm/gba/param.h: Likewise. (removed)
        !          1049:        * sys/arch/i386/i386/context.c: Likewise.
        !          1050:        * sys/arch/i386/i386/cpu.c: Likewise.
        !          1051:        * sys/arch/i386/i386/trap.c: Likewise.
        !          1052:        * sys/arch/i386/i386/cpu.h: Likewise.
        !          1053:        * sys/arch/i386/i386/locore.S: Likewise.
        !          1054:        * sys/arch/i386/i386/locore.h: Likewise. (removed)
        !          1055:        * sys/arch/i386/include/param.h: Likewise. (removed)
        !          1056:        * sys/arch/i386/include/config.h: Likewise. (new)
        !          1057:        * sys/arch/i386/nommu/config.h: Likewise. (new)
        !          1058:        * sys/arch/i386/pc/config.h: Likewise. (new)
        !          1059:        * sys/arch/i386/pc/intr.c: Likewise.
        !          1060:        * sys/include/kernel.h: Likewise.
        !          1061:        * sys/include/param.h: Likewise.
        !          1062:        * sys/include/sched.h: Likewise.
        !          1063:        * sys/include/device.h: Likewise.
        !          1064:        * sys/include/ipc.h: Likewise.
        !          1065:        * sys/include/page.h: Likewise.
        !          1066:        * sys/include/task.h: Likewise.
        !          1067:
        !          1068: 2005-10-13  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1069:
        !          1070:        * bsp/boot/*: Restruct the whole directory structure.
        !          1071:        * bsp/dev/*: Likewise.
        !          1072:
        !          1073: 2005-10-07  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1074:
        !          1075:        * sys/include/version.h: Update version to 0.2.2
        !          1076:
        !          1077: 2005-10-03  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1078:
        !          1079:        * bsp/dev/power/pm.c (pm_ioctl): Removed sys_reboot() system call.
        !          1080:        The reboot request is processed by power management driver, instead.
        !          1081:        * bsp/include/pm.h: Likewise.
        !          1082:        * sys/kern/system.c: Likewise.
        !          1083:        * sys/kern/syscall.c: Likewise.
        !          1084:        * sys/include/device.h: Likewise.
        !          1085:        * user/lib/prex/syscalls/syscall.h: Likewise.
        !          1086:        * user/lib/prex/syscalls/Makefile: Likewise.
        !          1087:        * user/lib/prex/syscalls/sys_rebt.S: Likewise. (removed)
        !          1088:        * user/include/prex/prex.h: Likewise.
        !          1089:        * user/bin/kmon/cmd.c: Likewise.
        !          1090:        * user/include/prex/pm.h: Likewise. (new)
        !          1091:
        !          1092: 2005-09-30  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1093:
        !          1094:        * sys/kern/sched.c (sched_schedule): Changed the function name
        !          1095:        sched_schedule() to sched_switch().
        !          1096:
        !          1097:        * sys/kern/sched.c: Fixed the bug in IST dispatcher. There was
        !          1098:        a small time-window that lost the IST trigger from ISR.
        !          1099:        * sys/arch/arm/arm/locore.h: Likewise.
        !          1100:        * sys/arch/arm/arm/locore.S: Likewise.
        !          1101:        * sys/arch/i386/i386/locore.h: Likewise.
        !          1102:        * sys/arch/i386/i386/locore.S: Likewise.
        !          1103:        * sys/kern/timer.c: Likewise.
        !          1104:        * sys/kern/irq.c: Likewise.
        !          1105:
        !          1106: 2005-09-15  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1107:
        !          1108:        * bsp/arch/i386/boot/head.s (get_memsize): Added the routine to
        !          1109:        detect above 64M of RAM.
        !          1110:
        !          1111: 2005-09-08  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1112:
        !          1113:        * sys/kern/system.c (sys_panic): Changed not to restart the system
        !          1114:        by the user mode panic when the kernel is non-debugging version.
        !          1115:
        !          1116: 2005-09-06  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1117:
        !          1118:        * bsp/include/driver.h: Removed timer_udelay() definition which
        !          1119:        was an obsolete routine.
        !          1120:
        !          1121: 2005-09-01  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1122:
        !          1123:        * make/sys.mk:
        !          1124:        Support a kernel function tracer. It can dump the run-time
        !          1125:        call tree for all function's entry and exit.
        !          1126:        * sys/kern/debug.c: Likewise.
        !          1127:        * make/common.mk: Likewise.
        !          1128:
        !          1129: 2005-08-26  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1130:
        !          1131:        * sys/arch/i386/i386/cpu.h:
        !          1132:        Replaced all "extern inline" to "static inline" to use the gcc
        !          1133:        "-finstrument-functions" option.
        !          1134:        * sys/arch/arm/include/arch.h: Likewise.
        !          1135:        * sys/arch/i386/include/arch.h: Likewise.
        !          1136:
        !          1137: 2005-08-23  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1138:
        !          1139:        * user/test/bench: Added a benchmark tool to create/terminate
        !          1140:        100000 threads at once.
        !          1141:
        !          1142: 2005-08-22  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1143:
        !          1144:        * bsp/arch/i386/boot/head.S (boot_entry): Fixed the kernel
        !          1145:        page fault in accessing the last physical page. i386-BSP was
        !          1146:        modified to adjust the total memory size to 4K bytes boundary.
        !          1147:
        !          1148: 2005-08-19  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1149:
        !          1150:        * sys/kern/sched.c: Clean up comment.
        !          1151:        * sys/kern/sched.c (sched_unlock): Removed needless irq_lock().
        !          1152:        * sys/kern/irq.c (irq_thread): Rewrite the IST dispatch code.
        !          1153:
        !          1154: 2005-06-27  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1155:
        !          1156:        * sys/include/version.h: Update version to 0.2.1
        !          1157:
        !          1158: 2005-06-15  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1159:
        !          1160:        * sys/kern/thread.c (kernel_thread): Fixed the irq lock count is
        !          1161:        not 0 after switching to new thread.
        !          1162:
        !          1163:        * sys/kern/device.c (device_open): Fixed the bug in the device name
        !          1164:        length. The string size did not include the terminater.
        !          1165:
        !          1166: 2005-06-10  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1167:
        !          1168:        * sys/kern/timer.c (timer_timeout): Fixed timer_timeout() not to
        !          1169:        set the timeout value to zero when the requested value is smaller
        !          1170:        than 1 tick.
        !          1171:
        !          1172: 2005-06-09  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1173:
        !          1174:        * sys/kern/thread.c (thread_schedparam): Removed the error check
        !          1175:        of maximum scheduling quantum, which is not useless. So, thread can
        !          1176:        specify any scheduling quantum now.
        !          1177:
        !          1178:        * sys/arch/i386/i386/context.c: Changed to allow I/O privilege
        !          1179:        for user mode applications.
        !          1180:
        !          1181: 2005-06-08  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1182:
        !          1183:        * arm/*: Support ARM processor on Game Boy Advance.
        !          1184:
        !          1185: 2005-06-04  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1186:        * bsp/dev/i386/pc/fdd.c: Added fdc existing check.
        !          1187:
        !          1188: 2005-06-04  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1189:
        !          1190:        * sys/include/version.h: Update version to 0.2.0
        !          1191:
        !          1192: 2005-05-21  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1193:
        !          1194:        * sys/sync/cond.c (cond_destroy): Fixed to prevent panic() even if
        !          1195:        active cv was destroyed. It will return EBUSY in that case.
        !          1196:
        !          1197:        * sys/sync/sem.c (sem_post): Fixed the bug about the unconditional
        !          1198:        wakeup of the blocked threads.
        !          1199:
        !          1200: 2005-05-15  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1201:
        !          1202:        * sys/include/version.h: Added version file.
        !          1203:
        !          1204: 2005-05-14  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1205:
        !          1206:        * Integrated the directory structure for cross platform support.
        !          1207:        * Almost makefiles were updated.
        !          1208:
        !          1209: 2005-05-01  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1210:
        !          1211:        * sys/mem/vm_nommu.c: Support "No MMU" configuration.
        !          1212:
        !          1213: 2005-04-26  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1214:
        !          1215:        * sys/arch/i386/arch/locore.S (cs_reset): Added a breakpoint
        !          1216:        for GDB in the kernel initialization.
        !          1217:
        !          1218:        * sys/kern/device.c (device_open):
        !          1219:        * bsp/dev/i386/pc/console.c:
        !          1220:        * bsp/dev/i386/pc/rtc.c:
        !          1221:        * bsp/dev/i386/pc/cpu.c:
        !          1222:        Changed to allow the device drivers to have I/O table without
        !          1223:        open/close routines.
        !          1224:
        !          1225:        * sys/arch/i386/arch/gdb_stub.c: Fixed the compile error when
        !          1226:        CONFIG_GDB is enabled.
        !          1227:
        !          1228: 2005-04-25  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1229:
        !          1230:        * sys/arch/i386/arch/trap.c (trap_dump): Changed to display the
        !          1231:        task name for the system fault.
        !          1232:
        !          1233: 2005-04-17  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1234:
        !          1235:        * sys/include/prex/config.h: Update version to 0.1.2
        !          1236:        * sys/kern/debug.c:
        !          1237:        * sys/kern/device.c:
        !          1238:        * bsp/dev/i386/pc/console.c:
        !          1239:        * bsp/dev/include/driver.h:
        !          1240:        Added debug_attach() interface for drivers. This interface
        !          1241:        enables the external print handler within bsp.
        !          1242:
        !          1243: 2005-04-16  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1244:
        !          1245:        * bsp/dev/lib/string.c (strncpy):
        !          1246:        Fixed bug in strncpy().
        !          1247:
        !          1248: 2005-04-10  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1249:
        !          1250:        * bsp/dev/i386/pc/console.c: Added additional escape codes for
        !          1251:        console driver. The cursor can move to the specific position now.
        !          1252:
        !          1253:        * user/bin/cpuvolt/main.c: Added CPU voltage monitoring tool.
        !          1254:
        !          1255:        * user/test/dvs/main.c: Added DVS test tool.
        !          1256:
        !          1257: 2005-04-06  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1258:
        !          1259:        * bsp/dev/pc/cpu.c (cpu_init):
        !          1260:        * bsp/dev/common/pm.c (pm_init):
        !          1261:        Port Pentium-M frequency control routine from OpenBSD.
        !          1262:
        !          1263: 2005-04-05  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1264:
        !          1265:        * sys/include/prex/config.h: Update version to 0.1.1
        !          1266:
        !          1267:        * bsp/dev/pc/rtc.c (rtc_read): Added getting time routine.
        !          1268:
        !          1269:        * sys/kern/device.c:
        !          1270:        * sys/mem/vm.c (vm_access):
        !          1271:        Added checking memory access for user memory.
        !          1272:
        !          1273: 2005-04-04  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1274:
        !          1275:        * sys/kern/system.c (sys_time): Added sys_time() interface.
        !          1276:
        !          1277: 2005-03-29  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1278:
        !          1279:        * make/*.mk: Changed common makefiles.
        !          1280:
        !          1281:        * user/bin/kmon/*.*: Support kernel monitor.
        !          1282:
        !          1283:        * sys/mem/kmem.c (page_stat):
        !          1284:        * sys/mem/kmem.c (kmem_stat):
        !          1285:        Implement sys_stat() system call.
        !          1286:
        !          1287:        * sys/arch/i386/i386/locore.S (umem_strnlen): Fixed sys_log() can
        !          1288:        not display message from the buffer in user stack area.
        !          1289:
        !          1290: 2005-03-25  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1291:
        !          1292:        * user/lib/prex/crt/libcmain.c (__libc_main): Fixed start up code
        !          1293:        in C library.
        !          1294:
        !          1295:        * bsp/loader/include/bootinfo.h: Changed max name length of boot tasks.
        !          1296:
        !          1297: 2005-03-24  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1298:
        !          1299:        * user/test/fault/main.c: Added test program for NULL pointer access.
        !          1300:
        !          1301:        * user/test/except/main.c: Added test program to send exception.
        !          1302:
        !          1303:        * user/test/timer/main.c: Added test program for timer.
        !          1304:
        !          1305:        * user/test/thread/main.c: Added test program for thread.
        !          1306:
        !          1307: 2005-03-22  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1308:
        !          1309:        * sys/kern/except.c: Uninstall of the exception handler was
        !          1310:        not working.
        !          1311:
        !          1312:        * sys/arch/i386/context.c: Fixed the page fault with
        !          1313:        exception_raise(). The stack layout of exception frame was incorrect.
        !          1314:
        !          1315:        * user/lib/prex/crt/libcmain.c: Fixed library code to avoid the
        !          1316:        page fault when the main() routine returns.
        !          1317:
        !          1318:        * sys/kern/timer.c: Fix the timer overrun problem after 49 days.
        !          1319:
        !          1320: 2005-03-16  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
        !          1321:
        !          1322:        * config.h: Ver 0.1 - Initial kernel release.

CVSweb