File: [local] / prex-old / doc / ChangeLog (download)
Revision 1.1.1.1 (vendor branch), Tue Jun 3 09:38:42 2008 UTC (16 years, 2 months ago) by nbrk
Branch: MAIN, KOHSUKE
CVS Tags: PREX_0_7_BASE, HEAD Branch point for: PREX_0_8_BASE
Changes since 1.1: +0 -0 lines
Yeah, this is an initial import of Prex, portable real-time microkernel
operating system. I wanna hack it for non-profit but fun, so let it in.
|
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.