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

File: [local] / prex-old / doc / ChangeLog (download)

Revision 1.1, Tue Jun 3 09:38:42 2008 UTC (15 years, 10 months ago) by nbrk
Branch point for: MAIN

Initial revision

2007-12-22  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/include/version.h: Update version to 0.7.0.

2007-12-15  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* Code clean up for ANSI-C.

2007-12-08  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/exception.c (exception_deliver): Fixed a page fault after
	the task is terminated by exception.

	* sys/mem/vm.c (__vm_allocate): Modified to prevent an assertion check
	when no page is available.

	* sys/include/timer.h: Changed SCHED_INFO -> SCHED_TIMER.

	* usr/server/fs/vfs/main.c: Setup thread priority for all threads.

	* sys/kern/thread.c (thread_schedparam): Added check to prevent the
	priority boost by the thread which does not have CAP_NICE capability.

	* sys/kern/debug.c: Removed a kernel function trace feature which
	is depend on gcc's extension.

2007-11-22  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/timer.c (timer_cleanup): Fixed memory leak when
	a periodic thread is terminated.

	* sys/sync/cond.c (cond_wait): Mutex was locked even if cond_wait()
	was failed due to exception.

2007-11-21  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/sched.c (sched_switch): Added clearing rescheduling flag
	before context switch. This flag was kept pending in some rare case.

	* sys/kern/sched.c (sched_unlock): Handle interrupts fired during
	thread switching to minimize scheduling latency.

	* sys/kern/timer.c: Removed timer_unhook(). This can be done by
	calling timer_hook() with NULL pointer.

	* Fixed build error with gcc 2.95.

	* sys/lib/vsprintf.c (divide): Removed a divide optimization for ARM.
	we link libgcc.a now.

2007-11-03  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* usr/server/fs/ramfs/ramfs_vnops.c (ramfs_truncate): Added
	file truncate routine for O_TRUNC.

	* usr/server/fs/vfs/syscalls.c (sys_mkdir): Fixed page fault during
	mkdir() when "foo/bar" style path is specified. The problem is caused
	by illegal vput() for lookup error.

2007-10-26  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* usr/server/fs/ramfs/ramfs_vnops.c (ramfs_write): Page fault
	while writing ramfs.
	* mk/Makefile.inc: Enable -ansi -pedantic option for portability.

2007-10-25  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* usr/server/fs/vfs/bio.c (bio_init): A mutex for buffer cache
	was no initialized.

	* sys/sync/mutex.c (mutex_lock): Fixed bug in recursive mutex lock.
	The lock count was incorrect.

2007-10-23  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/thread.c (kernel_thread): Changed the scheduling policy
	of a timer thread to SCHED_FIFO from SCHED_RR.

2007-10-20  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/mem/kmem.c (kmem_alloc): Fixed the hang when kernel memory
	allocation was failed.

2007-10-19  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/except.c (exception_raise): The schduler was kept disabled
	when an exception was raised with invalid parameter.

2007-10-10 Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* user/lib/*/Makefile.inc: Changed libsa to remove dependency with
	libc.

	* user/mk/Makefile.inc: Added checking unresolved symbols in a driver
	module.

	* sys/kern/timer.c (tmer_callout): Rename timer_callout() from
	timer_timeout().

	* Changed the name of the following interface to keep the consistency.
	 - object_delete() -> object_destroy()
	 - device_delete() -> device_destroy()

	* include/*: Added common include directory.

2007-10-06 Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* user/mk/Makefile.inc: Changed the compile option to -Os from -O2
	to reduce entire code size.

2007-09-30 Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* user/server/fs/ramfs/ramfs_vnops.c: Fixed unbalanced lock/unlock
	of mutex in RAMFS. This patch was posted by YoctoGram.

2007-09-27 Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* user/server/fs/devfs/devfs_vnops.c: Fixed a file lookup routine
	in devfs.
	* user/include/prex/prex.h: Likewise.
	* sys/include/device.h: Likewise.

2007-09-23  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/device.c: Added "flags" parameter in device_create() to
	indicate the device type. This is required for a file system to
	know whether the device is a block device.
	* sys/kern/include/system.h: Likewise.
	* sys/kern/include/device.h: Likewise.
	* user/include/prex/prex.h: Likewise.

2007-08-23  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* user/lib/prex/malloc/malloc.c: Implement realloc().

2007-08-19  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/except.c: Fixed to support processing an exception
	at interrupt level.

2007-08-12  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/except.c: Added exception_mask() to mark exception of
	curren task. This is used by tty driver.

	* dev/gen/tty.c: Support TTY driver.
	* dev/arch/arm/gba/console.c: Likewise.
	* dev/arch/arm/gba/swkbd.c: Likewise.
	* dev/arch/i386/pc/console.c: Likewise.
	* dev/arch/i386/pc/kbd.c: Likewise.

2007-07-12  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* user/server/fs/vfs/main.c (fs_dup): Correct dup() function in fs.
	The reference count was not incremented after dup().

	* sys/sync/mutex.c (mutex_cleanup): Fixed the kernel hang when
	a thread terminates while it holds a mutex.

	* boot/common/elf.c (load_executable): Fixed the boot failure when
	a boot task does not have any data or bss sections.

2007-07-03  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/sched.c (sched_setprio): Fixed the scheduler to switch
	a thread properly for priority change.

	* user/lib/prex/posix/file/*: Added POSIX emulation library
	for file related system calls.
	* user/test/fileio/fileio.c: Likewise.


2007-06-20  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/include/param.h: Update version to 0.5.0.

	* user/test/fileio/main.c: Added test program for file system.
	* user/test/fileio/fslib.c: Likewise.
	* user/test/fileio/fslib.h: Likewise.
	* user/test/fileio/Makefile: Likewise.

	* user/server/fs/*: Adde file system server. This includes VFS
	framework, buffer cache, ramfs, devfs, and arfs (archive fs).

2007-06-17  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* mk/Makefile.inc: Optimized build speed for cygwin.

	* configure: Removed dependency to 'sed' and added confiure script
	for build process.
	* mk/Makefile.inc: Likewise.
	* mk/own.mk: Likewise.

	* boot/arch/i386/pc/head.s: Changed file name to head.S.

2007-06-16  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	Applied following patches posted by Andrew Dennison.

	* dev/power/cpufreq.c: Fixed typos.
	* sys/include/system.h: Likewise.
	* user/bin/kmon/cmd.c: Likewise.

	* mk/Makefile.inc: Added more dependencies and intermediate elf file.
	for binary output

	* boot/include/types.h: Added C99 types for boot too.

	* sys/kern/irq.c (irq_detach): Fixed crash in irq_detach() when not
	using an ist.

	* dev/include/driver.h: Const correctness, fix timer_delay() prototype
	for drivers.
	* kern/sys/device.c: Likewise.

	* sys/kern/timer.c: Fixed spelling in comment.

	* sys/lib/vsprintf.c (vsprintf): support field width for %s.

	* convert config to makefile variables and autogenerate config.h.

	* convert driver selection to makefile based CONFIG variable.

2007-06-02  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* mk/prog.mk: Support BSD style makefile for POSIX applications.
	PROG and SRCS macro is supported now.

2007-05-02  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/arch/i386/i386/cpu.h: Removed pad data from desc_p. This
	was an obsolete hack for msvc compiler.

	* boot/common/elf.c (elf_load): Corrected the macro to get
	the kernel load address. phys_to_virt => virt_to_phys.

2007-04-13  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/include/param.h: Update version to 0.4.3.

	* user/test/dvs/dvs.c: Added test case for 50% cpu load for DVS
	test tool.

2007-04-12  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	The following 5 changes were applied by Andrew Dennison.

	* boot/common/debug.c: (1) Fixed order of header files.
	* boot/common/elf.c: Likewise.
	* boot/common/main.c: Likewise.

	* sys/arch/i386/include/arch.h: (2) Fixed typo.
	* sys/arch/i386/include/platform.h: Likewise.

	* user/test/Makefile: (3) Modified for i386 specific test tool.

	* user/lib/libc/stdlib/getsubopt.c: (4) Fixed build warning.
	* user/lib/libc/stdlib/strtol.c: Likewise.
	* user/lib/libc/stdlib/strtoul.c: Likewise.

	* boot/common/elf.c: (5) Added validation of module symbol while
	relocating module.
	* boot/include/elf.h: Likewise.

2007-04-09  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/debug.c: Added "dmesg" framework. The kernel message log
	can be checked after system boot with this change. User can get this
	message by F9 key on PC platform.
	* sys/include/debug.h: Likewise.
	* sys/include/param.h: Likewise.
	* dev/include/driver.h: Likewise.
	* user/include/prex/prex.h: Likewise.
	* user/bin/kmon/cmd.c: Likewise.
	* conf/config-arm-gba.h: Likewise.
	* conf/config-i386-pc.h: Likewise.
	* conf/config-i386-nommu.h: Likewise.

2007-04-08  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/sched.c (thread_dpc): Support DPC (Deferred Procedure
	Call). The driver can handle an asynchronous callback event at
	safer interrupt level.
	* sys/kern/device.c: Likewise.
	* sys/include/sched.h: Likewise.
	* dev/include/driver.h: Likewise.

	* dev/power/dvs.c: Optimized voltage scaling algorithm.
	* dev/power/cpufreq.c: Likewise.
	* dev/power/pm.c: Likewise.

2007-04-07  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/sync/sem.c (sem_post): Fixed a bug in sem_post(). The
	thread could not get a semaphore when multiple value is set.

	* sys/kern/timer.c: Added timer_hook()/timer_unhook() service
	for drivers. The power management or profiling driver can get
	a tick event with these services without using timer call-back.
	This can reduce the system power consumption.
	* sys/kern/device.c: Likewise.
	* sys/include/sched.h: Likewise.
	* dev/include/driver.h: Likewise.

2007-04-03  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/timer.c (timer_tick): Optimized whole timer related
	code to minimize timer jitters of periodic timer. The periodic
	threads can be runnable by one thread switch now.
	* sys/include/timer.h: Likewise.

2007-03-31  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/timer.c (timer_delay): Changed the return type of
	timer_delay() routine to u_long from int.

	* user/lib/prex/malloc/malloc.c (free): Fixed a page fault
	when malloc/free is called repeatedly. The data was corrupted
	for some specific size for allocation.

	* sys/kern/thread.c (thread_resume): Modified to return EINVAL
	if thread_resume() is called when suspend count was already 0.

2007-03-27  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* */: Replaced all u_int32_t to uint32_t to meet C99 manner.

	* sys/kern/system.c (sys_debug): Added checking CAP_DEBUG capability.

2007-03-24  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/*: Kernel code clean up.

	* sys/kern/task.c (__task_capable): Modified to define task_capable()
	as macro to reduce code size.

2007-03-23  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/sync/mutex.c (mutex_unlock): Fixed mutex_unlock() to
	return EPERM error when the lock count was already 0.

	* sys/kern/thread.c (thread_schedparam): Removed functions to
	set a different time slice to each thread. Because, I will never
	use it...
	* sys/kern/sched.c: Likewise.
	* sys/include/thread.h: Likewise.

2007-03-22  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* user/lib/prex/malloc/malloc.c (free): Fixed free() in libc
	to do nothing for free(0).

	* user/lib/prex/malloc/malloc.c (malloc): Refined malloc() for
	multi-thread applications.
	* usre/lib/gen/__isthreaded.c: Likewise.

2007-03-20  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* user/lib/libc/random.c: Added random() in libc.

	* user/test/malloc/malloc.c: Added test code for malloc().

	* user/test/ipc_mt/ipc_mt.c: Added IPC test tool for multi-threaded
	server.

2007-03-18  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* mk/Makefile.inc: Added -fno-stack-protector option for gcc 4.1.
	The build error occurred with some distributions which enable
	SSP feature of gcc by default.

2007-03-16  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* test/ipc_mt/*: Added IPC test program for multi-threaded server.

2007-03-07  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* user/arch/arm/systrap.h: Fixed syscall trap macro for ARM
	processor.
	* sys/arch/arm/arm/locore.S: Correct getting SWI number in
	system call handler. These two bug was pointed out by Ying Yin.

2007-02-14  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/main.c: Code clean up.
	* sys/include/kernel.h: Likewise.

	* sys/kern/system.c: Changed the data format of sys_info(). The
	kernel information is now compatible with POSIX's utsname.
	* sys/kern/sched.c: Likewise.
	* sys/include/system.h: Likewise.
	* dev/include/driver.h: Likewise.
	* user/include/prex/prex.h: Likewise.

2007-02-09  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/device.c: Added reference count for the device object
	to avoid the device removal while I/O operations. device_delete()
	request will be hold until the target reference count becomes 0.
	* sys/include/device.h: Likewise.

	* sys/kern/device.c: Added "force" option to device_broadcast
	driver service. If this option is specified, we will continue
	the event notification even if some driver returns an error.
	Otherwise, device_broadcast will quit and return for first
	driver error.
	* sys/include/device.h: Likewise.

2007-02-08  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* dev/arch/i386/i386/delay.c: Removed a delay driver. This was
	changed to generic driver service.
	* dev/include/delay.h: Likewise.
	* dev/core/main.c: Likewise.
	* dev/arch/i386/pc/platform.c: Likewise.
	* dev/arch/arm/gba/platform.c: Likewise.

2007-02-06  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/timer.c: Fixed system hang when periodic timer is stopped
	with invalid timer object.

	* sys/sync/mutex.c (prio_inherit): Added checking max mutex count
	to inherit thread priorities. This was added to prevent the risk
	of the unexpected heavy loop with preemption disabled. The maximum
	count to inherit priority is currently set to 10.

2007-02-03  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/syscall.c: Changed sys_stat() system call to sys_info().
	The interface was extended to get thread/device information from
	kernel.
	* sys/kern/system.c: Likewise.
	* sys/include/system.h: Likewise.

2007-01-30  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/timer.c: Fixed the kernel timer code. There was a small
	time window that can not handle timer callback. In this case,
	the callback request was not processed until next tick event.
	* sys/include/timer.h: Likewise.

2007-01-24  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/include/param.h: Update version to 0.4.2.

	* sys/kern/main.c: Code clean up.
	* sys/kern/syscall.c: Likewise.
	* sys/kern/device.c: Likewise.
	* sys/include/system.h: Likewise.
	* boot/arch/*: Likewise.
	* dev/arch/*: Likewise.
	* sys/arch/*: Likewise.

2006-12-01  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/arch/arm/arm/umem.c (umem_strnlen): Added 3rd argument
	to store string length. The return value was changed to indicate
	error code.
	* sys/arch/arm/include/arch.h: Likewise.
	* sys/arch/i386/i386/locore.S: Likewise.
	* sys/arch/i386/include/arch.h: Likewise.

2006-11-29  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* dev/arch/i386/pc/dma.c (dma_alloc): An interrupt was kept
	disabled when DMA buffer allocation was failed.

2006-11-17  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* dev/arch/arm/gba/swkbd.c: Changed bitmap format for keyboard
	and cursor images in order to shrink its data size.

2006-11-02  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/ipc/object.c (object_create): Fixed the handling of EFAULT
	in object_create().

2006-11-02  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/thread.c (thread_terminate): The error code was not
	correct in thread_terminate().

2006-10-29  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/mem/vm.c (vm_attribute): Renamed from vm_attrib().
	* sys/mem/vm_nommu.c: Likewise.
	* sys/kern/task.c: Likewise.
	* sys/kern/syscall.c: Likewise.
	* sys/include/vm.h: Likewise.
	* user/include/prex/prex.h: Likewise.

2006-10-29  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/task.c (task_create): Expanded vm_inherit option of
	task_create(). We can use VM_NONE/VM_COPY/VM_SHARE to select the
	VM mapping of child task.
	* sys/include/task.h: Likewise.
	* user/include/prex/prex.h: Likewise.
	* user/test/task/task.c: Likewise.

2006-10-29  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/mem/vm_nommu.c (vm_terminate): Fixed the invalid kmem_free()
	to deallocate VM regions.

2006-10-20  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/thread.c (thread_load): Fixed a error check of
	thread_load(). NULL pointer can be set as stack.

	* dev/arch/arm/gba/swkbd.c (kbd_input): Added calling thread dump
	by 'select' button on GBA.

2006-10-19  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/mem/vm.c (vm_dump_one): Correct the copy length of strlcpy().

2006-10-05  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* user/lib/prex/malloc/malloc.c (malloc): Refined malloc() library
	in user mode. Added data to store the previously used node.

2006-10-04  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/arch/i386/i386/mmu.c (mmu_extract): The end address for
	page extraction was not correct.

2006-09-29  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/system.c (sys_debug): Added sys_debug() kernel API.
	* sys/kern/syscall.c: Likewise.
	* sys/include/debug.h: Likewise.
	* user/include/prex/prex.h: Likewise.
	* user/lib/prex/syscalls/syscall.h: Likewise.
	* user/lib/prex/syscalls/sys_debug.s: Likewise. (new)

	* user/bin/kmon/cmd.c: Added some commands to dump kernel objects.

2006-09-22  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/mem/vm_nommu.c (__vm_map): Fixed memory leak when vm_map()
	was called two or more times on NOMMU system.

2006-09-21  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* boot/arch/i386/pc/head.s: Updated GDT and selector value
	as same with kernel.

2006-09-15  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/thread.c (thread_dump): Fixed the wrong string
	pointer for thread dump function.

2006-08-10  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/include/stat.h: Added a kernel release name into the
	kernel statistics data. This is used by the uname command.

2006-07-24  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/mem/page.c (page_reserve): Fixed a bug in the page reserve
	routine. The reserved size could be incorrect because of
	wrong alignment adjustment.

2006-07-9  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/arch/arm/arm/locore.S: Fixed system hang on an actual GBA
	machine. Added NOP instruction after LDM^ instruction within an
	interrupt handler as written in ARM reference manual.
	* sys/arch/arm/arm/context.c: Likewise.
	* sys/arch/arm/include/arch.h: Likewise.

2006-05-19  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* dev/gen/ramdisk.c: Support RAM disk driver.
	* boot/include/bootinfo.h: Likewise.
	* boot/common/elf.c: Likewise.
	* boot/common/main.c: Likewise.
	* sys/mem/page.c (page_init): Likewise.
	* sys/include/bootinfo.h: Likewise.
	* dev/include/bootinfo.h: Likewise.
	* conf/config-arm-gba.h: Likewise.
	* conf/config-i386-pc.h: Likewise.
	* conf/config-i386-nommu.h: Likewise.

2006-05-7  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/ipc/msg.c: Changed the data type of the message length
	of msg_send()/msg_receive()/msg_reply(). (int => size_t)
	* user/include/prex/prex.h: Likewise.

2006-04-30  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/mem/vm_nommu.c (region_free): Fixed to remove a free node
	correctly.
	* user/include/prex/prex.h: Likewise.

2006-04-24  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/device.c: Changed the argument types of
	device_read()/device_write(). (size/offset => nbyte/blkno)

2006-04-21  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/mem/vm.c: Fixed page fault during kernel memory dump.
	* sys/mem/vm_nommu.c: Likewise.

2006-02-23  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/include/param.h: Update version to 0.4.1.

	* sys/kern/irq.c (irq_detach): Fixed to terminate an interrupt
	thread in irq_detach() properly.
	* sys/kern/thread.c (__thread_terminate): Likewise.
	* sys/kern/task.c (task_terminate): Likewise.

2006-02-16  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/lib/string.c (strlcpy): Changed all strncpy() routine
	to strlcpy() for security reason.
	* sys/include/kernel.h: Likewise.
	* sys/arch/i386/i386/gdb_stub.c: Likewise.
	* sys/kern/task.c (task_name): Likewise.
	* sys/ipc/object.c (object_create): Likewise.
	* sys/kern/device.c (device_create): Likewise.
	* sys/mem/vm.c (vm_dump_one): Likewise.
	* sys/mem/vm_nommu.c (vm_dump_one): Likewise.

2006-02-02  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* dev/arch/i386/i386/delay.c (delay_loop): Fixed the timer
	calibration code to prevent gcc's optimization. This caused
	system hang during boot.

	* sys/kern/task.c (task_create): Dropped vm_inherit option
	of task_create on NOMMU system.
	* sys/mem/vm_nommu.c (vm_fork): Likewise.

2006-02-01  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/arch/arm/arm/context.c (context_save): Aded an ARM exception
	support.
	* sys/arch/arm/arm/locore.S (interrupt_entry): Likewise.

	* boot/common/elf.c: Added ELF object relocation. All boot tasks
	on NOMMU system are relocated at boot time. In addition, a driver
	module is also relocated on MMU/NOMMU system.
	* boot/arch/i386/i386/elf_reloc.c (relocate_rel): Likewise.
	* boot/arch/arm/arm/elf_reloc.c (relocate_rel): Likewise.
	* boot/include/elf.h: Likewise.
	* sys/kern/task.c (task_load): Likewise.
	* sys/mem/vm.c (__vm_allocate): Likewise.
	* sys/mem/vm_nommu.c (__vm_allocate): Likewise.

2006-01-31  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/except.c (exception_raise): Fixed the argument check
	of exception_raise() to be used with the alarm timer.

2006-01-19  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/sched.c (sched_wakeone): Fixed the priority check in
	the scheduler. The highest priority thread was not selected to
	run due to some bug.
	* sys/kern/sched.c (sched_setprio): Likewise.
	* sys/ipc/msg.c (dequeue_topprio): Likewise.

2006-01-12  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* dev/arch/i386/pc/fdd.c (fdd_write): Fixed the unexpected data
	write to floppy drive. It was writing 512 sectors instead of 512
	bytes.

2006-01-11  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/timer.c (timer_periodic): Updated the periodic timer
	routine to more simple.

2006-01-10  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* dev/arch/i386/pc/fdd.c (fdd_rw): Fixed the hang while continuous
	data write to FDD. The deadlock occurred because of the bad sequence
	of I/O request and scheduling lock.

2006-01-05  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/sync/mutex.c (mutex_cleanup): Added Giang Hu's fix for mutex.
	The kernel hang occurred in some conditions.

2005-12-27  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/include/param.h: Update version to 0.4.0.

	* sys/*: Added 'task capability' to improve security. The task
	capability can be used to manage the permissions of the various
	task operations.

2005-12-16  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/mem/vm.c (vm_create): Fixed a memory leak when vm_create()
	was failed.

	* sys/arch/i386/i386/context.c (context_set): Changed the data type
	of register value to u_long from void *.

2005-12-13  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/task.c (task_create): Added vm_inherit argument to
	task_create() interface instead of using NULL as task id. It is
	changed to return ESRCH if specified task id is NULL.

2005-12-13  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* dev/arch/i386/pc/fdd.c (fdd_read): Fixed the i/o read size.
	It was using byte count for sector count.

2005-12-12  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/ipc/msg.c (msg_send): Changed to fill the task ID in all
	messages for security.

2005-12-09  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* /conf/Makefile: Moved from /img directory. /img is removed now.

	* user/sample/*: Added some sample programs.

	* user/test/*: Updated whole test programs.

	* user/include/prex/prex.h: Added definitions for exceptions.

	* user/lib/prex/syscalls/Makefile (OBJS): Fixed the lack of
	sem_trywait() stub routine in the library.

	* sys/kern/device.c (device_write): Changed the error code for
	EBADF as an invalid device object.

	* dev/arch/i386/pc/console.c (console_write): Added locking scheduler
	while writing line to console.

2005-12-06 Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* make/*.mk: Updated makefiles.

	* user/test/malloc: Added malloc() test program.

	* user/test/errno: Added strerror() test program.

2005-12-02 Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* user/lib/libsa/*.c: Created new libc for standalone tasks.

	* user/lib/libc/string/*.c: Updated string library with BSD code.

2005-12-01 Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* conf/config.h: Merged all configuration files.

2005-11-29  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* make/Makefile.inc: Support 'make lint'.

2005-11-25  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* dev/gen/null.c: Added null driver.

	* dev/ge/zero.c: Added zero driver.

2005-11-24  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/sync/mutex.c : Support a static mutex initializer.

	* sys/sync/cond.c : Support a static CV initializer.

	* sys/sync/mutex.c : Changed the argument type of the kernel synch
	API for POSIX compatibility.
	* sys/sync/cond.c : Likewise.
	* sys/sync/sem.c : Likewise.

2005-11-18  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* dev/include/errno.h : Changed the value of EAGAIN.
	* sys/include/errno.h : Likewise.
	* user/include/sys/errno.h : Likewise.

2005-11-15  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/ipc/object.c (object_lookup): Fixed object_lookup(). It could
	not find the correct object.

2005-11-10  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/include/param.h: Update version to 0.3.0.

	* sys/mem/vm.c (vm_allocate_unlocked): The allocated memory was
	not initialized with 0 in vm_allocate().
	* sys/mem/vm_nommu.c (vm_allocate_unlocked): Likewise.

2005-11-09  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* boot/include/bootinfo.h: Fixed the compile error with gcc4.

	* sys/sync/mutex.c (mutex_lock): Fix mutex_lock() to return EDEADLK
	rather than panic() when it detects the deadlock condition.

2005-11-08  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* user/test/mutex/main.c: Added the test program for the mutex.
	* user/test/deadlock/main.c: Added the test program for the deadlock
	condition of mutex.

2005-11-04  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/sync/sem.c (sem_post): Fixed the bug in sem_post(). The waiting
	thread is not unblocked even if the semaphore value becomes positive.

	* user/test/sem/main.c: Added the test program for the semaphore.

2005-11-02  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* user/lib/prex/sa/stdio.c: Added standalone I/O interface in the
	user mode library.
	* user/bin/cpuvolt/io.c: Likewise. (removed)
	* user/bin/kmon/io.c: Likewise. (removed)
	* user/test/bench/io.c: Likewise. (removed)

	* sys/include/stat.h: Added data for timer tick rate in the
	kernel statistics data.
	* user/include/prex.h: Likewise.
	* user/test/bench/main.c: Likewise.

	* sys/kern/device.c (device_init): Fixed to boot a kernel even if
	the driver module is not loaded.

2005-11-01  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* make/*.mk: Clean up all Makefiles.

	* dev/include/ioctl.h: Changed the driver ioctl code to BSD style.
	* dev/include/cpu.h: Likewise.
	* dev/include/pm.h: Likewise.
	* user/include/prex/ioctl.h: Likewise.
	* user/bin/cpuvolt/main.c: Likewise.
	* user/bin/kmon/cmd.c: Likewise.

2005-10-28  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/sync/sem.c (sem_init): Changed to allow re-initialize of
	the initialized semaphore. Fixed the error code of sem_init() to
	ENOSPC from ENOMEM for POSIX compatibility.

	* sys/kern/syscall.c: Changed the name of the following system calls
	for POSIX compatibility.
	 - mutex_create() -> mutex_init()
	 - cond_create() -> cond_init()
	 - sem_create() -> sem_init()
	 - sem_count() -> sem_getvalue()
	* sys/sync/mutex.c: Likewise.
	* sys/sync/cond.c: Likewise.
	* sys/sync/sem.c: Likewise.
	* sys/include/sync.h: Likewise.
	* user/lib/prex/syscalls/syscall.h: Likewise.
	* user/lib/prex/syscalls/Makefile: Likewise.
	* user/include/prex/prex.h: Likewise.

2005-10-26  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* user/test/thread/main.c (main): Modified for the long run test.

	* sys/arch/arm/arm/umem.c (umem_strnlen): Changed the return type
	of umem_strnlen() to identify the page fault and NULL string.
	* sys/arch/arm/include/arch.h: Likewise.
	* sys/arch/i386/i386/locore.S (umem_strnlen): Likewise.
	* sys/arch/i386/include/arch.h: Likewise.

	* sys/arch/arm/arm/umem.c (umem_strnlen): Fixed the incorrect
	handling of the string length returned by umem_strnlen().
	* sys/kern/device.c (device_open): Likewise.
	* sys/kern/task.c (task_name): Likewise.
	* sys/kern/system.c (sys_log): Likewise.

2005-10-19  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/arch/arm/arm/context.c: Clean up kernel configuration files.
	* sys/arch/arm/arm/trap.c: Likewise.
	* sys/arch/arm/arm/locore.S: Likewise.
	* sys/arch/arm/arm/locore.h: Likewise. (removed)
	* sys/arch/arm/include/config.h: Likewise.(new)
	* sys/arch/arm/include/param.h: Likewise.(removed)
	* sys/arch/arm/gba/config.h: Likewise. (new)
	* sys/arch/arm/gba/param.h: Likewise. (removed)
	* sys/arch/i386/i386/context.c: Likewise.
	* sys/arch/i386/i386/cpu.c: Likewise.
	* sys/arch/i386/i386/trap.c: Likewise.
	* sys/arch/i386/i386/cpu.h: Likewise.
	* sys/arch/i386/i386/locore.S: Likewise.
	* sys/arch/i386/i386/locore.h: Likewise. (removed)
	* sys/arch/i386/include/param.h: Likewise. (removed)
	* sys/arch/i386/include/config.h: Likewise. (new)
	* sys/arch/i386/nommu/config.h: Likewise. (new)
	* sys/arch/i386/pc/config.h: Likewise. (new)
	* sys/arch/i386/pc/intr.c: Likewise.
	* sys/include/kernel.h: Likewise.
	* sys/include/param.h: Likewise.
	* sys/include/sched.h: Likewise.
	* sys/include/device.h: Likewise.
	* sys/include/ipc.h: Likewise.
	* sys/include/page.h: Likewise.
	* sys/include/task.h: Likewise.

2005-10-13  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* bsp/boot/*: Restruct the whole directory structure.
	* bsp/dev/*: Likewise.

2005-10-07  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/include/version.h: Update version to 0.2.2

2005-10-03  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* bsp/dev/power/pm.c (pm_ioctl): Removed sys_reboot() system call.
	The reboot request is processed by power management driver, instead.
	* bsp/include/pm.h: Likewise.
	* sys/kern/system.c: Likewise.
	* sys/kern/syscall.c: Likewise.
	* sys/include/device.h: Likewise.
	* user/lib/prex/syscalls/syscall.h: Likewise.
	* user/lib/prex/syscalls/Makefile: Likewise.
	* user/lib/prex/syscalls/sys_rebt.S: Likewise. (removed)
	* user/include/prex/prex.h: Likewise.
	* user/bin/kmon/cmd.c: Likewise.
	* user/include/prex/pm.h: Likewise. (new)

2005-09-30  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/sched.c (sched_schedule): Changed the function name
	sched_schedule() to sched_switch().

	* sys/kern/sched.c: Fixed the bug in IST dispatcher. There was
	a small time-window that lost the IST trigger from ISR.
	* sys/arch/arm/arm/locore.h: Likewise.
	* sys/arch/arm/arm/locore.S: Likewise.
	* sys/arch/i386/i386/locore.h: Likewise.
	* sys/arch/i386/i386/locore.S: Likewise.
	* sys/kern/timer.c: Likewise.
	* sys/kern/irq.c: Likewise.

2005-09-15  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* bsp/arch/i386/boot/head.s (get_memsize): Added the routine to
	detect above 64M of RAM.

2005-09-08  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/system.c (sys_panic): Changed not to restart the system
	by the user mode panic when the kernel is non-debugging version.

2005-09-06  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* bsp/include/driver.h: Removed timer_udelay() definition which
	was an obsolete routine.

2005-09-01  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* make/sys.mk:
	Support a kernel function tracer. It can dump the run-time
	call tree for all function's entry and exit.
	* sys/kern/debug.c: Likewise.
	* make/common.mk: Likewise.

2005-08-26  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/arch/i386/i386/cpu.h:
	Replaced all "extern inline" to "static inline" to use the gcc
	"-finstrument-functions" option.
	* sys/arch/arm/include/arch.h: Likewise.
	* sys/arch/i386/include/arch.h: Likewise.

2005-08-23  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* user/test/bench: Added a benchmark tool to create/terminate
	100000 threads at once.

2005-08-22  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* bsp/arch/i386/boot/head.S (boot_entry): Fixed the kernel
	page fault in accessing the last physical page. i386-BSP was
	modified to adjust the total memory size to 4K bytes boundary.

2005-08-19  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/sched.c: Clean up comment.
	* sys/kern/sched.c (sched_unlock): Removed needless irq_lock().
	* sys/kern/irq.c (irq_thread): Rewrite the IST dispatch code.

2005-06-27  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/include/version.h: Update version to 0.2.1

2005-06-15  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/thread.c (kernel_thread): Fixed the irq lock count is
	not 0 after switching to new thread.

	* sys/kern/device.c (device_open): Fixed the bug in the device name
	length. The string size did not include the terminater.

2005-06-10  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/timer.c (timer_timeout): Fixed timer_timeout() not to
	set the timeout value to zero when the requested value is smaller
	than 1 tick.

2005-06-09  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/thread.c (thread_schedparam): Removed the error check
	of maximum scheduling quantum, which is not useless. So, thread can
	specify any scheduling quantum now.

	* sys/arch/i386/i386/context.c: Changed to allow I/O privilege
	for user mode applications.

2005-06-08  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* arm/*: Support ARM processor on Game Boy Advance.

2005-06-04  Kohsuke Ohtani  <kohtani@users.sourceforge.net>
	* bsp/dev/i386/pc/fdd.c: Added fdc existing check.

2005-06-04  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/include/version.h: Update version to 0.2.0

2005-05-21  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/sync/cond.c (cond_destroy): Fixed to prevent panic() even if
	active cv was destroyed. It will return EBUSY in that case.

	* sys/sync/sem.c (sem_post): Fixed the bug about the unconditional
	wakeup of the blocked threads.

2005-05-15  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/include/version.h: Added version file.

2005-05-14  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* Integrated the directory structure for cross platform support.
	* Almost makefiles were updated.

2005-05-01  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/mem/vm_nommu.c: Support "No MMU" configuration.

2005-04-26  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/arch/i386/arch/locore.S (cs_reset): Added a breakpoint
	for GDB in the kernel initialization.

	* sys/kern/device.c (device_open):
	* bsp/dev/i386/pc/console.c:
	* bsp/dev/i386/pc/rtc.c:
	* bsp/dev/i386/pc/cpu.c:
	Changed to allow the device drivers to have I/O table without
	open/close routines.

	* sys/arch/i386/arch/gdb_stub.c: Fixed the compile error when
	CONFIG_GDB is enabled.

2005-04-25  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/arch/i386/arch/trap.c (trap_dump): Changed to display the
	task name for the system fault.

2005-04-17  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/include/prex/config.h: Update version to 0.1.2
	* sys/kern/debug.c:
	* sys/kern/device.c:
	* bsp/dev/i386/pc/console.c:
	* bsp/dev/include/driver.h:
	Added debug_attach() interface for drivers. This interface
	enables the external print handler within bsp.

2005-04-16  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* bsp/dev/lib/string.c (strncpy):
	Fixed bug in strncpy().

2005-04-10  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* bsp/dev/i386/pc/console.c: Added additional escape codes for
	console driver. The cursor can move to the specific position now.

	* user/bin/cpuvolt/main.c: Added CPU voltage monitoring tool.

	* user/test/dvs/main.c:	Added DVS test tool.

2005-04-06  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* bsp/dev/pc/cpu.c (cpu_init):
	* bsp/dev/common/pm.c (pm_init):
	Port Pentium-M frequency control routine from OpenBSD.

2005-04-05  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/include/prex/config.h: Update version to 0.1.1

	* bsp/dev/pc/rtc.c (rtc_read): Added getting time routine.

	* sys/kern/device.c:
	* sys/mem/vm.c (vm_access):
	Added checking memory access for user memory.

2005-04-04  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/system.c (sys_time): Added sys_time() interface.

2005-03-29  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* make/*.mk: Changed common makefiles.

	* user/bin/kmon/*.*: Support kernel monitor.

	* sys/mem/kmem.c (page_stat):
	* sys/mem/kmem.c (kmem_stat):
	Implement sys_stat() system call.

	* sys/arch/i386/i386/locore.S (umem_strnlen): Fixed sys_log() can
	not display message from the buffer in user stack area.

2005-03-25  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* user/lib/prex/crt/libcmain.c (__libc_main): Fixed start up code
	in C library.

	* bsp/loader/include/bootinfo.h: Changed max name length of boot tasks.

2005-03-24  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* user/test/fault/main.c: Added test program for NULL pointer access.

	* user/test/except/main.c: Added test program to send exception.

	* user/test/timer/main.c: Added test program for timer.

	* user/test/thread/main.c: Added test program for thread.

2005-03-22  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* sys/kern/except.c: Uninstall of the exception handler was
	not working.

	* sys/arch/i386/context.c: Fixed the page fault with
	exception_raise(). The stack layout of exception frame was incorrect.

	* user/lib/prex/crt/libcmain.c: Fixed library code to avoid the
	page fault when the main() routine returns.

	* sys/kern/timer.c: Fix the timer overrun problem after 49 days.

2005-03-16  Kohsuke Ohtani  <kohtani@users.sourceforge.net>

	* config.h: Ver 0.1 - Initial kernel release.