1 2007-06-20 Kohsuke Ohtani <kohtani@users.sourceforge.net>
3 * sys/include/param.h: Update version to 0.5.0.
5 * user/test/fileio/main.c: Added test program for file system.
6 * user/test/fileio/fslib.c: Likewise.
7 * user/test/fileio/fslib.h: Likewise.
8 * user/test/fileio/Makefile: Likewise.
10 * user/server/fs/*: Adde file system server. This includes VFS
11 framework, buffer cache, ramfs, devfs, and arfs (archive fs).
13 2007-06-17 Kohsuke Ohtani <kohtani@users.sourceforge.net>
15 * mk/Makefile.inc: Optimized build speed for cygwin.
17 * configure: Removed dependency to 'sed' and added confiure script
19 * mk/Makefile.inc: Likewise.
20 * mk/own.mk: Likewise.
22 * boot/arch/i386/pc/head.s: Changed file name to head.S.
24 2007-06-16 Kohsuke Ohtani <kohtani@users.sourceforge.net>
26 Applied following patches posted by Andrew Dennison.
28 * dev/power/cpufreq.c: Fixed typos.
29 * sys/include/system.h: Likewise.
30 * user/bin/kmon/cmd.c: Likewise.
32 * mk/Makefile.inc: Added more dependencies and intermediate elf file.
35 * boot/include/types.h: Added C99 types for boot too.
37 * sys/kern/irq.c (irq_detach): Fixed crash in irq_detach() when not
40 * dev/include/driver.h: Const correctness, fix timer_delay() prototype
42 * kern/sys/device.c: Likewise.
44 * sys/kern/timer.c: Fixed spelling in comment.
46 * sys/lib/vsprintf.c (vsprintf): support field width for %s.
48 * convert config to makefile variables and autogenerate config.h.
50 * convert driver selection to makefile based CONFIG variable.
52 2007-06-02 Kohsuke Ohtani <kohtani@users.sourceforge.net>
54 * mk/prog.mk: Support BSD style makefile for POSIX applications.
55 PROG and SRCS macro is supported now.
57 2007-05-02 Kohsuke Ohtani <kohtani@users.sourceforge.net>
59 * sys/arch/i386/i386/cpu.h: Removed pad data from desc_p. This
60 was an obsolete hack for msvc compiler.
62 * boot/common/elf.c (elf_load): Corrected the macro to get
63 the kernel load address. phys_to_virt => virt_to_phys.
65 2007-04-13 Kohsuke Ohtani <kohtani@users.sourceforge.net>
67 * sys/include/param.h: Update version to 0.4.3.
69 * user/test/dvs/dvs.c: Added test case for 50% cpu load for DVS
72 2007-04-12 Kohsuke Ohtani <kohtani@users.sourceforge.net>
74 The following 5 changes were applied by Andrew Dennison.
76 * boot/common/debug.c: (1) Fixed order of header files.
77 * boot/common/elf.c: Likewise.
78 * boot/common/main.c: Likewise.
80 * sys/arch/i386/include/arch.h: (2) Fixed typo.
81 * sys/arch/i386/include/platform.h: Likewise.
83 * user/test/Makefile: (3) Modified for i386 specific test tool.
85 * user/lib/libc/stdlib/getsubopt.c: (4) Fixed build warning.
86 * user/lib/libc/stdlib/strtol.c: Likewise.
87 * user/lib/libc/stdlib/strtoul.c: Likewise.
89 * boot/common/elf.c: (5) Added validation of module symbol while
91 * boot/include/elf.h: Likewise.
93 2007-04-09 Kohsuke Ohtani <kohtani@users.sourceforge.net>
95 * sys/kern/debug.c: Added "dmesg" framework. The kernel message log
96 can be checked after system boot with this change. User can get this
97 message by F9 key on PC platform.
98 * sys/include/debug.h: Likewise.
99 * sys/include/param.h: Likewise.
100 * dev/include/driver.h: Likewise.
101 * user/include/prex/prex.h: Likewise.
102 * user/bin/kmon/cmd.c: Likewise.
103 * conf/config-arm-gba.h: Likewise.
104 * conf/config-i386-pc.h: Likewise.
105 * conf/config-i386-nommu.h: Likewise.
107 2007-04-08 Kohsuke Ohtani <kohtani@users.sourceforge.net>
109 * sys/kern/sched.c (thread_dpc): Support DPC (Deferred Procedure
110 Call). The driver can handle an asynchronous callback event at
111 safer interrupt level.
112 * sys/kern/device.c: Likewise.
113 * sys/include/sched.h: Likewise.
114 * dev/include/driver.h: Likewise.
116 * dev/power/dvs.c: Optimized voltage scaling algorithm.
117 * dev/power/cpufreq.c: Likewise.
118 * dev/power/pm.c: Likewise.
120 2007-04-07 Kohsuke Ohtani <kohtani@users.sourceforge.net>
122 * sys/sync/sem.c (sem_post): Fixed a bug in sem_post(). The
123 thread could not get a semaphore when multiple value is set.
125 * sys/kern/timer.c: Added timer_hook()/timer_unhook() service
126 for drivers. The power management or profiling driver can get
127 a tick event with these services without using timer call-back.
128 This can reduce the system power consumption.
129 * sys/kern/device.c: Likewise.
130 * sys/include/sched.h: Likewise.
131 * dev/include/driver.h: Likewise.
133 2007-04-03 Kohsuke Ohtani <kohtani@users.sourceforge.net>
135 * sys/kern/timer.c (timer_tick): Optimized whole timer related
136 code to minimize timer jitters of periodic timer. The periodic
137 threads can be runnable by one thread switch now.
138 * sys/include/timer.h: Likewise.
140 2007-03-31 Kohsuke Ohtani <kohtani@users.sourceforge.net>
142 * sys/kern/timer.c (timer_delay): Changed the return type of
143 timer_delay() routine to u_long from int.
145 * user/lib/prex/malloc/malloc.c (free): Fixed a page fault
146 when malloc/free is called repeatedly. The data was corrupted
147 for some specific size for allocation.
149 * sys/kern/thread.c (thread_resume): Modified to return EINVAL
150 if thread_resume() is called when suspend count was already 0.
152 2007-03-27 Kohsuke Ohtani <kohtani@users.sourceforge.net>
154 * */: Replaced all u_int32_t to uint32_t to meet C99 manner.
156 * sys/kern/system.c (sys_debug): Added checking CAP_DEBUG capability.
158 2007-03-24 Kohsuke Ohtani <kohtani@users.sourceforge.net>
160 * sys/*: Kernel code clean up.
162 * sys/kern/task.c (__task_capable): Modified to define task_capable()
163 as macro to reduce code size.
165 2007-03-23 Kohsuke Ohtani <kohtani@users.sourceforge.net>
167 * sys/sync/mutex.c (mutex_unlock): Fixed mutex_unlock() to
168 return EPERM error when the lock count was already 0.
170 * sys/kern/thread.c (thread_schedparam): Removed functions to
171 set a different time slice to each thread. Because, I will never
173 * sys/kern/sched.c: Likewise.
174 * sys/include/thread.h: Likewise.
176 2007-03-22 Kohsuke Ohtani <kohtani@users.sourceforge.net>
178 * user/lib/prex/malloc/malloc.c (free): Fixed free() in libc
179 to do nothing for free(0).
181 * user/lib/prex/malloc/malloc.c (malloc): Refined malloc() for
182 multi-thread applications.
183 * usre/lib/gen/__isthreaded.c: Likewise.
185 2007-03-20 Kohsuke Ohtani <kohtani@users.sourceforge.net>
187 * user/lib/libc/random.c: Added random() in libc.
189 * user/test/malloc/malloc.c: Added test code for malloc().
191 * user/test/ipc_mt/ipc_mt.c: Added IPC test tool for multi-threaded
194 2007-03-18 Kohsuke Ohtani <kohtani@users.sourceforge.net>
196 * mk/Makefile.inc: Added -fno-stack-protector option for gcc 4.1.
197 The build error occurred with some distributions which enable
198 SSP feature of gcc by default.
200 2007-03-16 Kohsuke Ohtani <kohtani@users.sourceforge.net>
202 * test/ipc_mt/*: Added IPC test program for multi-threaded server.
204 2007-03-07 Kohsuke Ohtani <kohtani@users.sourceforge.net>
206 * user/arch/arm/systrap.h: Fixed syscall trap macro for ARM
208 * sys/arch/arm/arm/locore.S: Correct getting SWI number in
209 system call handler. These two bug was pointed out by Ying Yin.
211 2007-02-14 Kohsuke Ohtani <kohtani@users.sourceforge.net>
213 * sys/kern/main.c: Code clean up.
214 * sys/include/kernel.h: Likewise.
216 * sys/kern/system.c: Changed the data format of sys_info(). The
217 kernel information is now compatible with POSIX's utsname.
218 * sys/kern/sched.c: Likewise.
219 * sys/include/system.h: Likewise.
220 * dev/include/driver.h: Likewise.
221 * user/include/prex/prex.h: Likewise.
223 2007-02-09 Kohsuke Ohtani <kohtani@users.sourceforge.net>
225 * sys/kern/device.c: Added reference count for the device object
226 to avoid the device removal while I/O operations. device_delete()
227 request will be hold until the target reference count becomes 0.
228 * sys/include/device.h: Likewise.
230 * sys/kern/device.c: Added "force" option to device_broadcast
231 driver service. If this option is specified, we will continue
232 the event notification even if some driver returns an error.
233 Otherwise, device_broadcast will quit and return for first
235 * sys/include/device.h: Likewise.
237 2007-02-08 Kohsuke Ohtani <kohtani@users.sourceforge.net>
239 * dev/arch/i386/i386/delay.c: Removed a delay driver. This was
240 changed to generic driver service.
241 * dev/include/delay.h: Likewise.
242 * dev/core/main.c: Likewise.
243 * dev/arch/i386/pc/platform.c: Likewise.
244 * dev/arch/arm/gba/platform.c: Likewise.
246 2007-02-06 Kohsuke Ohtani <kohtani@users.sourceforge.net>
248 * sys/kern/timer.c: Fixed system hang when periodic timer is stopped
249 with invalid timer object.
251 * sys/sync/mutex.c (prio_inherit): Added checking max mutex count
252 to inherit thread priorities. This was added to prevent the risk
253 of the unexpected heavy loop with preemption disabled. The maximum
254 count to inherit priority is currently set to 10.
256 2007-02-03 Kohsuke Ohtani <kohtani@users.sourceforge.net>
258 * sys/kern/syscall.c: Changed sys_stat() system call to sys_info().
259 The interface was extended to get thread/device information from
261 * sys/kern/system.c: Likewise.
262 * sys/include/system.h: Likewise.
264 2007-01-30 Kohsuke Ohtani <kohtani@users.sourceforge.net>
266 * sys/kern/timer.c: Fixed the kernel timer code. There was a small
267 time window that can not handle timer callback. In this case,
268 the callback request was not processed until next tick event.
269 * sys/include/timer.h: Likewise.
271 2007-01-24 Kohsuke Ohtani <kohtani@users.sourceforge.net>
273 * sys/include/param.h: Update version to 0.4.2.
275 * sys/kern/main.c: Code clean up.
276 * sys/kern/syscall.c: Likewise.
277 * sys/kern/device.c: Likewise.
278 * sys/include/system.h: Likewise.
279 * boot/arch/*: Likewise.
280 * dev/arch/*: Likewise.
281 * sys/arch/*: Likewise.
283 2006-12-01 Kohsuke Ohtani <kohtani@users.sourceforge.net>
285 * sys/arch/arm/arm/umem.c (umem_strnlen): Added 3rd argument
286 to store string length. The return value was changed to indicate
288 * sys/arch/arm/include/arch.h: Likewise.
289 * sys/arch/i386/i386/locore.S: Likewise.
290 * sys/arch/i386/include/arch.h: Likewise.
292 2006-11-29 Kohsuke Ohtani <kohtani@users.sourceforge.net>
294 * dev/arch/i386/pc/dma.c (dma_alloc): An interrupt was kept
295 disabled when DMA buffer allocation was failed.
297 2006-11-17 Kohsuke Ohtani <kohtani@users.sourceforge.net>
299 * dev/arch/arm/gba/swkbd.c: Changed bitmap format for keyboard
300 and cursor images in order to shrink its data size.
302 2006-11-02 Kohsuke Ohtani <kohtani@users.sourceforge.net>
304 * sys/ipc/object.c (object_create): Fixed the handling of EFAULT
307 2006-11-02 Kohsuke Ohtani <kohtani@users.sourceforge.net>
309 * sys/kern/thread.c (thread_terminate): The error code was not
310 correct in thread_terminate().
312 2006-10-29 Kohsuke Ohtani <kohtani@users.sourceforge.net>
314 * sys/mem/vm.c (vm_attribute): Renamed from vm_attrib().
315 * sys/mem/vm_nommu.c: Likewise.
316 * sys/kern/task.c: Likewise.
317 * sys/kern/syscall.c: Likewise.
318 * sys/include/vm.h: Likewise.
319 * user/include/prex/prex.h: Likewise.
321 2006-10-29 Kohsuke Ohtani <kohtani@users.sourceforge.net>
323 * sys/kern/task.c (task_create): Expanded vm_inherit option of
324 task_create(). We can use VM_NONE/VM_COPY/VM_SHARE to select the
325 VM mapping of child task.
326 * sys/include/task.h: Likewise.
327 * user/include/prex/prex.h: Likewise.
328 * user/test/task/task.c: Likewise.
330 2006-10-29 Kohsuke Ohtani <kohtani@users.sourceforge.net>
332 * sys/mem/vm_nommu.c (vm_terminate): Fixed the invalid kmem_free()
333 to deallocate VM regions.
335 2006-10-20 Kohsuke Ohtani <kohtani@users.sourceforge.net>
337 * sys/kern/thread.c (thread_load): Fixed a error check of
338 thread_load(). NULL pointer can be set as stack.
340 * dev/arch/arm/gba/swkbd.c (kbd_input): Added calling thread dump
341 by 'select' button on GBA.
343 2006-10-19 Kohsuke Ohtani <kohtani@users.sourceforge.net>
345 * sys/mem/vm.c (vm_dump_one): Correct the copy length of strlcpy().
347 2006-10-05 Kohsuke Ohtani <kohtani@users.sourceforge.net>
349 * user/lib/prex/malloc/malloc.c (malloc): Refined malloc() library
350 in user mode. Added data to store the previously used node.
352 2006-10-04 Kohsuke Ohtani <kohtani@users.sourceforge.net>
354 * sys/arch/i386/i386/mmu.c (mmu_extract): The end address for
355 page extraction was not correct.
357 2006-09-29 Kohsuke Ohtani <kohtani@users.sourceforge.net>
359 * sys/kern/system.c (sys_debug): Added sys_debug() kernel API.
360 * sys/kern/syscall.c: Likewise.
361 * sys/include/debug.h: Likewise.
362 * user/include/prex/prex.h: Likewise.
363 * user/lib/prex/syscalls/syscall.h: Likewise.
364 * user/lib/prex/syscalls/sys_debug.s: Likewise. (new)
366 * user/bin/kmon/cmd.c: Added some commands to dump kernel objects.
368 2006-09-22 Kohsuke Ohtani <kohtani@users.sourceforge.net>
370 * sys/mem/vm_nommu.c (__vm_map): Fixed memory leak when vm_map()
371 was called two or more times on NOMMU system.
373 2006-09-21 Kohsuke Ohtani <kohtani@users.sourceforge.net>
375 * boot/arch/i386/pc/head.s: Updated GDT and selector value
378 2006-09-15 Kohsuke Ohtani <kohtani@users.sourceforge.net>
380 * sys/kern/thread.c (thread_dump): Fixed the wrong string
381 pointer for thread dump function.
383 2006-08-10 Kohsuke Ohtani <kohtani@users.sourceforge.net>
385 * sys/include/stat.h: Added a kernel release name into the
386 kernel statistics data. This is used by the uname command.
388 2006-07-24 Kohsuke Ohtani <kohtani@users.sourceforge.net>
390 * sys/mem/page.c (page_reserve): Fixed a bug in the page reserve
391 routine. The reserved size could be incorrect because of
392 wrong alignment adjustment.
394 2006-07-9 Kohsuke Ohtani <kohtani@users.sourceforge.net>
396 * sys/arch/arm/arm/locore.S: Fixed system hang on an actual GBA
397 machine. Added NOP instruction after LDM^ instruction within an
398 interrupt handler as written in ARM reference manual.
399 * sys/arch/arm/arm/context.c: Likewise.
400 * sys/arch/arm/include/arch.h: Likewise.
402 2006-05-19 Kohsuke Ohtani <kohtani@users.sourceforge.net>
404 * dev/gen/ramdisk.c: Support RAM disk driver.
405 * boot/include/bootinfo.h: Likewise.
406 * boot/common/elf.c: Likewise.
407 * boot/common/main.c: Likewise.
408 * sys/mem/page.c (page_init): Likewise.
409 * sys/include/bootinfo.h: Likewise.
410 * dev/include/bootinfo.h: Likewise.
411 * conf/config-arm-gba.h: Likewise.
412 * conf/config-i386-pc.h: Likewise.
413 * conf/config-i386-nommu.h: Likewise.
415 2006-05-7 Kohsuke Ohtani <kohtani@users.sourceforge.net>
417 * sys/ipc/msg.c: Changed the data type of the message length
418 of msg_send()/msg_receive()/msg_reply(). (int => size_t)
419 * user/include/prex/prex.h: Likewise.
421 2006-04-30 Kohsuke Ohtani <kohtani@users.sourceforge.net>
423 * sys/mem/vm_nommu.c (region_free): Fixed to remove a free node
425 * user/include/prex/prex.h: Likewise.
427 2006-04-24 Kohsuke Ohtani <kohtani@users.sourceforge.net>
429 * sys/kern/device.c: Changed the argument types of
430 device_read()/device_write(). (size/offset => nbyte/blkno)
432 2006-04-21 Kohsuke Ohtani <kohtani@users.sourceforge.net>
434 * sys/mem/vm.c: Fixed page fault during kernel memory dump.
435 * sys/mem/vm_nommu.c: Likewise.
437 2006-02-23 Kohsuke Ohtani <kohtani@users.sourceforge.net>
439 * sys/include/param.h: Update version to 0.4.1.
441 * sys/kern/irq.c (irq_detach): Fixed to terminate an interrupt
442 thread in irq_detach() properly.
443 * sys/kern/thread.c (__thread_terminate): Likewise.
444 * sys/kern/task.c (task_terminate): Likewise.
446 2006-02-16 Kohsuke Ohtani <kohtani@users.sourceforge.net>
448 * sys/lib/string.c (strlcpy): Changed all strncpy() routine
449 to strlcpy() for security reason.
450 * sys/include/kernel.h: Likewise.
451 * sys/arch/i386/i386/gdb_stub.c: Likewise.
452 * sys/kern/task.c (task_name): Likewise.
453 * sys/ipc/object.c (object_create): Likewise.
454 * sys/kern/device.c (device_create): Likewise.
455 * sys/mem/vm.c (vm_dump_one): Likewise.
456 * sys/mem/vm_nommu.c (vm_dump_one): Likewise.
458 2006-02-02 Kohsuke Ohtani <kohtani@users.sourceforge.net>
460 * dev/arch/i386/i386/delay.c (delay_loop): Fixed the timer
461 calibration code to prevent gcc's optimization. This caused
462 system hang during boot.
464 * sys/kern/task.c (task_create): Dropped vm_inherit option
465 of task_create on NOMMU system.
466 * sys/mem/vm_nommu.c (vm_fork): Likewise.
468 2006-02-01 Kohsuke Ohtani <kohtani@users.sourceforge.net>
470 * sys/arch/arm/arm/context.c (context_save): Aded an ARM exception
472 * sys/arch/arm/arm/locore.S (interrupt_entry): Likewise.
474 * boot/common/elf.c: Added ELF object relocation. All boot tasks
475 on NOMMU system are relocated at boot time. In addition, a driver
476 module is also relocated on MMU/NOMMU system.
477 * boot/arch/i386/i386/elf_reloc.c (relocate_rel): Likewise.
478 * boot/arch/arm/arm/elf_reloc.c (relocate_rel): Likewise.
479 * boot/include/elf.h: Likewise.
480 * sys/kern/task.c (task_load): Likewise.
481 * sys/mem/vm.c (__vm_allocate): Likewise.
482 * sys/mem/vm_nommu.c (__vm_allocate): Likewise.
484 2006-01-31 Kohsuke Ohtani <kohtani@users.sourceforge.net>
486 * sys/kern/except.c (exception_raise): Fixed the argument check
487 of exception_raise() to be used with the alarm timer.
489 2006-01-19 Kohsuke Ohtani <kohtani@users.sourceforge.net>
491 * sys/kern/sched.c (sched_wakeone): Fixed the priority check in
492 the scheduler. The highest priority thread was not selected to
494 * sys/kern/sched.c (sched_setprio): Likewise.
495 * sys/ipc/msg.c (dequeue_topprio): Likewise.
497 2006-01-12 Kohsuke Ohtani <kohtani@users.sourceforge.net>
499 * dev/arch/i386/pc/fdd.c (fdd_write): Fixed the unexpected data
500 write to floppy drive. It was writing 512 sectors instead of 512
503 2006-01-11 Kohsuke Ohtani <kohtani@users.sourceforge.net>
505 * sys/kern/timer.c (timer_periodic): Updated the periodic timer
506 routine to more simple.
508 2006-01-10 Kohsuke Ohtani <kohtani@users.sourceforge.net>
510 * dev/arch/i386/pc/fdd.c (fdd_rw): Fixed the hang while continuous
511 data write to FDD. The deadlock occurred because of the bad sequence
512 of I/O request and scheduling lock.
514 2006-01-05 Kohsuke Ohtani <kohtani@users.sourceforge.net>
516 * sys/sync/mutex.c (mutex_cleanup): Added Giang Hu's fix for mutex.
517 The kernel hang occurred in some conditions.
519 2005-12-27 Kohsuke Ohtani <kohtani@users.sourceforge.net>
521 * sys/include/param.h: Update version to 0.4.0.
523 * sys/*: Added 'task capability' to improve security. The task
524 capability can be used to manage the permissions of the various
527 2005-12-16 Kohsuke Ohtani <kohtani@users.sourceforge.net>
529 * sys/mem/vm.c (vm_create): Fixed a memory leak when vm_create()
532 * sys/arch/i386/i386/context.c (context_set): Changed the data type
533 of register value to u_long from void *.
535 2005-12-13 Kohsuke Ohtani <kohtani@users.sourceforge.net>
537 * sys/kern/task.c (task_create): Added vm_inherit argument to
538 task_create() interface instead of using NULL as task id. It is
539 changed to return ESRCH if specified task id is NULL.
541 2005-12-13 Kohsuke Ohtani <kohtani@users.sourceforge.net>
543 * dev/arch/i386/pc/fdd.c (fdd_read): Fixed the i/o read size.
544 It was using byte count for sector count.
546 2005-12-12 Kohsuke Ohtani <kohtani@users.sourceforge.net>
548 * sys/ipc/msg.c (msg_send): Changed to fill the task ID in all
549 messages for security.
551 2005-12-09 Kohsuke Ohtani <kohtani@users.sourceforge.net>
553 * /conf/Makefile: Moved from /img directory. /img is removed now.
555 * user/sample/*: Added some sample programs.
557 * user/test/*: Updated whole test programs.
559 * user/include/prex/prex.h: Added definitions for exceptions.
561 * user/lib/prex/syscalls/Makefile (OBJS): Fixed the lack of
562 sem_trywait() stub routine in the library.
564 * sys/kern/device.c (device_write): Changed the error code for
565 EBADF as an invalid device object.
567 * dev/arch/i386/pc/console.c (console_write): Added locking scheduler
568 while writing line to console.
570 2005-12-06 Kohsuke Ohtani <kohtani@users.sourceforge.net>
572 * make/*.mk: Updated makefiles.
574 * user/test/malloc: Added malloc() test program.
576 * user/test/errno: Added strerror() test program.
578 2005-12-02 Kohsuke Ohtani <kohtani@users.sourceforge.net>
580 * user/lib/libsa/*.c: Created new libc for standalone tasks.
582 * user/lib/libc/string/*.c: Updated string library with BSD code.
584 2005-12-01 Kohsuke Ohtani <kohtani@users.sourceforge.net>
586 * conf/config.h: Merged all configuration files.
588 2005-11-29 Kohsuke Ohtani <kohtani@users.sourceforge.net>
590 * make/Makefile.inc: Support 'make lint'.
592 2005-11-25 Kohsuke Ohtani <kohtani@users.sourceforge.net>
594 * dev/gen/null.c: Added null driver.
596 * dev/ge/zero.c: Added zero driver.
598 2005-11-24 Kohsuke Ohtani <kohtani@users.sourceforge.net>
600 * sys/sync/mutex.c : Support a static mutex initializer.
602 * sys/sync/cond.c : Support a static CV initializer.
604 * sys/sync/mutex.c : Changed the argument type of the kernel synch
605 API for POSIX compatibility.
606 * sys/sync/cond.c : Likewise.
607 * sys/sync/sem.c : Likewise.
609 2005-11-18 Kohsuke Ohtani <kohtani@users.sourceforge.net>
611 * dev/include/errno.h : Changed the value of EAGAIN.
612 * sys/include/errno.h : Likewise.
613 * user/include/sys/errno.h : Likewise.
615 2005-11-15 Kohsuke Ohtani <kohtani@users.sourceforge.net>
617 * sys/ipc/object.c (object_lookup): Fixed object_lookup(). It could
618 not find the correct object.
620 2005-11-10 Kohsuke Ohtani <kohtani@users.sourceforge.net>
622 * sys/include/param.h: Update version to 0.3.0.
624 * sys/mem/vm.c (vm_allocate_unlocked): The allocated memory was
625 not initialized with 0 in vm_allocate().
626 * sys/mem/vm_nommu.c (vm_allocate_unlocked): Likewise.
628 2005-11-09 Kohsuke Ohtani <kohtani@users.sourceforge.net>
630 * boot/include/bootinfo.h: Fixed the compile error with gcc4.
632 * sys/sync/mutex.c (mutex_lock): Fix mutex_lock() to return EDEADLK
633 rather than panic() when it detects the deadlock condition.
635 2005-11-08 Kohsuke Ohtani <kohtani@users.sourceforge.net>
637 * user/test/mutex/main.c: Added the test program for the mutex.
638 * user/test/deadlock/main.c: Added the test program for the deadlock
641 2005-11-04 Kohsuke Ohtani <kohtani@users.sourceforge.net>
643 * sys/sync/sem.c (sem_post): Fixed the bug in sem_post(). The waiting
644 thread is not unblocked even if the semaphore value becomes positive.
646 * user/test/sem/main.c: Added the test program for the semaphore.
648 2005-11-02 Kohsuke Ohtani <kohtani@users.sourceforge.net>
650 * user/lib/prex/sa/stdio.c: Added standalone I/O interface in the
652 * user/bin/cpuvolt/io.c: Likewise. (removed)
653 * user/bin/kmon/io.c: Likewise. (removed)
654 * user/test/bench/io.c: Likewise. (removed)
656 * sys/include/stat.h: Added data for timer tick rate in the
657 kernel statistics data.
658 * user/include/prex.h: Likewise.
659 * user/test/bench/main.c: Likewise.
661 * sys/kern/device.c (device_init): Fixed to boot a kernel even if
662 the driver module is not loaded.
664 2005-11-01 Kohsuke Ohtani <kohtani@users.sourceforge.net>
666 * make/*.mk: Clean up all Makefiles.
668 * dev/include/ioctl.h: Changed the driver ioctl code to BSD style.
669 * dev/include/cpu.h: Likewise.
670 * dev/include/pm.h: Likewise.
671 * user/include/prex/ioctl.h: Likewise.
672 * user/bin/cpuvolt/main.c: Likewise.
673 * user/bin/kmon/cmd.c: Likewise.
675 2005-10-28 Kohsuke Ohtani <kohtani@users.sourceforge.net>
677 * sys/sync/sem.c (sem_init): Changed to allow re-initialize of
678 the initialized semaphore. Fixed the error code of sem_init() to
679 ENOSPC from ENOMEM for POSIX compatibility.
681 * sys/kern/syscall.c: Changed the name of the following system calls
682 for POSIX compatibility.
683 - mutex_create() -> mutex_init()
684 - cond_create() -> cond_init()
685 - sem_create() -> sem_init()
686 - sem_count() -> sem_getvalue()
687 * sys/sync/mutex.c: Likewise.
688 * sys/sync/cond.c: Likewise.
689 * sys/sync/sem.c: Likewise.
690 * sys/include/sync.h: Likewise.
691 * user/lib/prex/syscalls/syscall.h: Likewise.
692 * user/lib/prex/syscalls/Makefile: Likewise.
693 * user/include/prex/prex.h: Likewise.
695 2005-10-26 Kohsuke Ohtani <kohtani@users.sourceforge.net>
697 * user/test/thread/main.c (main): Modified for the long run test.
699 * sys/arch/arm/arm/umem.c (umem_strnlen): Changed the return type
700 of umem_strnlen() to identify the page fault and NULL string.
701 * sys/arch/arm/include/arch.h: Likewise.
702 * sys/arch/i386/i386/locore.S (umem_strnlen): Likewise.
703 * sys/arch/i386/include/arch.h: Likewise.
705 * sys/arch/arm/arm/umem.c (umem_strnlen): Fixed the incorrect
706 handling of the string length returned by umem_strnlen().
707 * sys/kern/device.c (device_open): Likewise.
708 * sys/kern/task.c (task_name): Likewise.
709 * sys/kern/system.c (sys_log): Likewise.
711 2005-10-19 Kohsuke Ohtani <kohtani@users.sourceforge.net>
713 * sys/arch/arm/arm/context.c: Clean up kernel configuration files.
714 * sys/arch/arm/arm/trap.c: Likewise.
715 * sys/arch/arm/arm/locore.S: Likewise.
716 * sys/arch/arm/arm/locore.h: Likewise. (removed)
717 * sys/arch/arm/include/config.h: Likewise.(new)
718 * sys/arch/arm/include/param.h: Likewise.(removed)
719 * sys/arch/arm/gba/config.h: Likewise. (new)
720 * sys/arch/arm/gba/param.h: Likewise. (removed)
721 * sys/arch/i386/i386/context.c: Likewise.
722 * sys/arch/i386/i386/cpu.c: Likewise.
723 * sys/arch/i386/i386/trap.c: Likewise.
724 * sys/arch/i386/i386/cpu.h: Likewise.
725 * sys/arch/i386/i386/locore.S: Likewise.
726 * sys/arch/i386/i386/locore.h: Likewise. (removed)
727 * sys/arch/i386/include/param.h: Likewise. (removed)
728 * sys/arch/i386/include/config.h: Likewise. (new)
729 * sys/arch/i386/nommu/config.h: Likewise. (new)
730 * sys/arch/i386/pc/config.h: Likewise. (new)
731 * sys/arch/i386/pc/intr.c: Likewise.
732 * sys/include/kernel.h: Likewise.
733 * sys/include/param.h: Likewise.
734 * sys/include/sched.h: Likewise.
735 * sys/include/device.h: Likewise.
736 * sys/include/ipc.h: Likewise.
737 * sys/include/page.h: Likewise.
738 * sys/include/task.h: Likewise.
740 2005-10-13 Kohsuke Ohtani <kohtani@users.sourceforge.net>
742 * bsp/boot/*: Restruct the whole directory structure.
743 * bsp/dev/*: Likewise.
745 2005-10-07 Kohsuke Ohtani <kohtani@users.sourceforge.net>
747 * sys/include/version.h: Update version to 0.2.2
749 2005-10-03 Kohsuke Ohtani <kohtani@users.sourceforge.net>
751 * bsp/dev/power/pm.c (pm_ioctl): Removed sys_reboot() system call.
752 The reboot request is processed by power management driver, instead.
753 * bsp/include/pm.h: Likewise.
754 * sys/kern/system.c: Likewise.
755 * sys/kern/syscall.c: Likewise.
756 * sys/include/device.h: Likewise.
757 * user/lib/prex/syscalls/syscall.h: Likewise.
758 * user/lib/prex/syscalls/Makefile: Likewise.
759 * user/lib/prex/syscalls/sys_rebt.S: Likewise. (removed)
760 * user/include/prex/prex.h: Likewise.
761 * user/bin/kmon/cmd.c: Likewise.
762 * user/include/prex/pm.h: Likewise. (new)
764 2005-09-30 Kohsuke Ohtani <kohtani@users.sourceforge.net>
766 * sys/kern/sched.c (sched_schedule): Changed the function name
767 sched_schedule() to sched_switch().
769 * sys/kern/sched.c: Fixed the bug in IST dispatcher. There was
770 a small time-window that lost the IST trigger from ISR.
771 * sys/arch/arm/arm/locore.h: Likewise.
772 * sys/arch/arm/arm/locore.S: Likewise.
773 * sys/arch/i386/i386/locore.h: Likewise.
774 * sys/arch/i386/i386/locore.S: Likewise.
775 * sys/kern/timer.c: Likewise.
776 * sys/kern/irq.c: Likewise.
778 2005-09-15 Kohsuke Ohtani <kohtani@users.sourceforge.net>
780 * bsp/arch/i386/boot/head.s (get_memsize): Added the routine to
781 detect above 64M of RAM.
783 2005-09-08 Kohsuke Ohtani <kohtani@users.sourceforge.net>
785 * sys/kern/system.c (sys_panic): Changed not to restart the system
786 by the user mode panic when the kernel is non-debugging version.
788 2005-09-06 Kohsuke Ohtani <kohtani@users.sourceforge.net>
790 * bsp/include/driver.h: Removed timer_udelay() definition which
791 was an obsolete routine.
793 2005-09-01 Kohsuke Ohtani <kohtani@users.sourceforge.net>
796 Support a kernel function tracer. It can dump the run-time
797 call tree for all function's entry and exit.
798 * sys/kern/debug.c: Likewise.
799 * make/common.mk: Likewise.
801 2005-08-26 Kohsuke Ohtani <kohtani@users.sourceforge.net>
803 * sys/arch/i386/i386/cpu.h:
804 Replaced all "extern inline" to "static inline" to use the gcc
805 "-finstrument-functions" option.
806 * sys/arch/arm/include/arch.h: Likewise.
807 * sys/arch/i386/include/arch.h: Likewise.
809 2005-08-23 Kohsuke Ohtani <kohtani@users.sourceforge.net>
811 * user/test/bench: Added a benchmark tool to create/terminate
812 100000 threads at once.
814 2005-08-22 Kohsuke Ohtani <kohtani@users.sourceforge.net>
816 * bsp/arch/i386/boot/head.S (boot_entry): Fixed the kernel
817 page fault in accessing the last physical page. i386-BSP was
818 modified to adjust the total memory size to 4K bytes boundary.
820 2005-08-19 Kohsuke Ohtani <kohtani@users.sourceforge.net>
822 * sys/kern/sched.c: Clean up comment.
823 * sys/kern/sched.c (sched_unlock): Removed needless irq_lock().
824 * sys/kern/irq.c (irq_thread): Rewrite the IST dispatch code.
826 2005-06-27 Kohsuke Ohtani <kohtani@users.sourceforge.net>
828 * sys/include/version.h: Update version to 0.2.1
830 2005-06-15 Kohsuke Ohtani <kohtani@users.sourceforge.net>
832 * sys/kern/thread.c (kernel_thread): Fixed the irq lock count is
833 not 0 after switching to new thread.
835 * sys/kern/device.c (device_open): Fixed the bug in the device name
836 length. The string size did not include the terminater.
838 2005-06-10 Kohsuke Ohtani <kohtani@users.sourceforge.net>
840 * sys/kern/timer.c (timer_timeout): Fixed timer_timeout() not to
841 set the timeout value to zero when the requested value is smaller
844 2005-06-09 Kohsuke Ohtani <kohtani@users.sourceforge.net>
846 * sys/kern/thread.c (thread_schedparam): Removed the error check
847 of maximum scheduling quantum, which is not useless. So, thread can
848 specify any scheduling quantum now.
850 * sys/arch/i386/i386/context.c: Changed to allow I/O privilege
851 for user mode applications.
853 2005-06-08 Kohsuke Ohtani <kohtani@users.sourceforge.net>
855 * arm/*: Support ARM processor on Game Boy Advance.
857 2005-06-04 Kohsuke Ohtani <kohtani@users.sourceforge.net>
858 * bsp/dev/i386/pc/fdd.c: Added fdc existing check.
860 2005-06-04 Kohsuke Ohtani <kohtani@users.sourceforge.net>
862 * sys/include/version.h: Update version to 0.2.0
864 2005-05-21 Kohsuke Ohtani <kohtani@users.sourceforge.net>
866 * sys/sync/cond.c (cond_destroy): Fixed to prevent panic() even if
867 active cv was destroyed. It will return EBUSY in that case.
869 * sys/sync/sem.c (sem_post): Fixed the bug about the unconditional
870 wakeup of the blocked threads.
872 2005-05-15 Kohsuke Ohtani <kohtani@users.sourceforge.net>
874 * sys/include/version.h: Added version file.
876 2005-05-14 Kohsuke Ohtani <kohtani@users.sourceforge.net>
878 * Integrated the directory structure for cross platform support.
879 * Almost makefiles were updated.
881 2005-05-01 Kohsuke Ohtani <kohtani@users.sourceforge.net>
883 * sys/mem/vm_nommu.c: Support "No MMU" configuration.
885 2005-04-26 Kohsuke Ohtani <kohtani@users.sourceforge.net>
887 * sys/arch/i386/arch/locore.S (cs_reset): Added a breakpoint
888 for GDB in the kernel initialization.
890 * sys/kern/device.c (device_open):
891 * bsp/dev/i386/pc/console.c:
892 * bsp/dev/i386/pc/rtc.c:
893 * bsp/dev/i386/pc/cpu.c:
894 Changed to allow the device drivers to have I/O table without
897 * sys/arch/i386/arch/gdb_stub.c: Fixed the compile error when
898 CONFIG_GDB is enabled.
900 2005-04-25 Kohsuke Ohtani <kohtani@users.sourceforge.net>
902 * sys/arch/i386/arch/trap.c (trap_dump): Changed to display the
903 task name for the system fault.
905 2005-04-17 Kohsuke Ohtani <kohtani@users.sourceforge.net>
907 * sys/include/prex/config.h: Update version to 0.1.2
910 * bsp/dev/i386/pc/console.c:
911 * bsp/dev/include/driver.h:
912 Added debug_attach() interface for drivers. This interface
913 enables the external print handler within bsp.
915 2005-04-16 Kohsuke Ohtani <kohtani@users.sourceforge.net>
917 * bsp/dev/lib/string.c (strncpy):
918 Fixed bug in strncpy().
920 2005-04-10 Kohsuke Ohtani <kohtani@users.sourceforge.net>
922 * bsp/dev/i386/pc/console.c: Added additional escape codes for
923 console driver. The cursor can move to the specific position now.
925 * user/bin/cpuvolt/main.c: Added CPU voltage monitoring tool.
927 * user/test/dvs/main.c: Added DVS test tool.
929 2005-04-06 Kohsuke Ohtani <kohtani@users.sourceforge.net>
931 * bsp/dev/pc/cpu.c (cpu_init):
932 * bsp/dev/common/pm.c (pm_init):
933 Port Pentium-M frequency control routine from OpenBSD.
935 2005-04-05 Kohsuke Ohtani <kohtani@users.sourceforge.net>
937 * sys/include/prex/config.h: Update version to 0.1.1
939 * bsp/dev/pc/rtc.c (rtc_read): Added getting time routine.
942 * sys/mem/vm.c (vm_access):
943 Added checking memory access for user memory.
945 2005-04-04 Kohsuke Ohtani <kohtani@users.sourceforge.net>
947 * sys/kern/system.c (sys_time): Added sys_time() interface.
949 2005-03-29 Kohsuke Ohtani <kohtani@users.sourceforge.net>
951 * make/*.mk: Changed common makefiles.
953 * user/bin/kmon/*.*: Support kernel monitor.
955 * sys/mem/kmem.c (page_stat):
956 * sys/mem/kmem.c (kmem_stat):
957 Implement sys_stat() system call.
959 * sys/arch/i386/i386/locore.S (umem_strnlen): Fixed sys_log() can
960 not display message from the buffer in user stack area.
962 2005-03-25 Kohsuke Ohtani <kohtani@users.sourceforge.net>
964 * user/lib/prex/crt/libcmain.c (__libc_main): Fixed start up code
967 * bsp/loader/include/bootinfo.h: Changed max name length of boot tasks.
969 2005-03-24 Kohsuke Ohtani <kohtani@users.sourceforge.net>
971 * user/test/fault/main.c: Added test program for NULL pointer access.
973 * user/test/except/main.c: Added test program to send exception.
975 * user/test/timer/main.c: Added test program for timer.
977 * user/test/thread/main.c: Added test program for thread.
979 2005-03-22 Kohsuke Ohtani <kohtani@users.sourceforge.net>
981 * sys/kern/except.c: Uninstall of the exception handler was
984 * sys/arch/i386/context.c: Fixed the page fault with
985 exception_raise(). The stack layout of exception frame was incorrect.
987 * user/lib/prex/crt/libcmain.c: Fixed library code to avoid the
988 page fault when the main() routine returns.
990 * sys/kern/timer.c: Fix the timer overrun problem after 49 days.
992 2005-03-16 Kohsuke Ohtani <kohtani@users.sourceforge.net>
994 * config.h: Ver 0.1 - Initial kernel release.