Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
1681 |
6692 d 16 h |
jermar |
/kernel/trunk/generic/src/synch/ |
Avoid tricky race condition between waitq_wakeup() and the pair
of waitq_timeouted_sleep() and waitq_interrupt_sleep().
Mutual exclusion != Synchronization. |
|
/kernel/trunk/generic/src/synch/waitq.c
|
1593 |
6696 d 16 h |
jermar |
/kernel/trunk/generic/src/synch/ |
When interrupted from sleep, pending timeouts must be unregistered. |
|
/kernel/trunk/generic/src/synch/waitq.c
|
1580 |
6697 d 8 h |
jermar |
/kernel/trunk/generic/src/ |
Update for task_kill(). |
|
/kernel/trunk/generic/src/proc/task.c /kernel/trunk/generic/src/synch/waitq.c
|
1579 |
6697 d 18 h |
jermar |
/kernel/trunk/generic/ |
Framework for task_kill().
Some pieces (e.g. implementation of ktask_cleanup() kernel thread and
task_destroy() function) are missing.
Changed locking order for task lock, threads_lock and thread lock from
threads_lock, thread lock, task lock to task lock, threads_lock, thread lock. |
|
/kernel/trunk/generic/include/proc/task.h /kernel/trunk/generic/include/proc/thread.h /kernel/trunk/generic/src/proc/task.c /kernel/trunk/generic/src/proc/thread.c /kernel/trunk/generic/src/synch/waitq.c /kernel/trunk/generic/src/syscall/syscall.c
|
1502 |
6700 d 3 h |
jermar |
/kernel/trunk/ |
Replace nonblocking argument of waitq_sleep_timeout with flags that specify mode of operation.
Now a flag can be used to specify interruptible sleep.
Modify waitq_interrupt_sleep() to only interrupt threads that used this flag.
O |
|
/kernel/trunk/arch/ia32/src/smp/smp.c /kernel/trunk/generic/include/ipc/ipc.h /kernel/trunk/generic/include/proc/thread.h /kernel/trunk/generic/include/synch/condvar.h /kernel/trunk/generic/include/synch/futex.h /kernel/trunk/generic/include/synch/mutex.h /kernel/trunk/generic/include/synch/rwlock.h /kernel/trunk/generic/include/synch/semaphore.h /kernel/trunk/generic/include/synch/synch.h /kernel/trunk/generic/include/synch/waitq.h /kernel/trunk/generic/src/ipc/ipc.c /kernel/trunk/generic/src/ipc/sysipc.c /kernel/trunk/generic/src/proc/thread.c /kernel/trunk/generic/src/synch/condvar.c /kernel/trunk/generic/src/synch/futex.c /kernel/trunk/generic/src/synch/mutex.c /kernel/trunk/generic/src/synch/rwlock.c /kernel/trunk/generic/src/synch/semaphore.c /kernel/trunk/generic/src/synch/waitq.c
|
1467 |
6701 d 23 h |
jermar |
/kernel/trunk/generic/src/synch/ |
Allow usage of blocking synchronization primitives in functions that are also called during system initialization. |
|
/kernel/trunk/generic/src/synch/waitq.c
|
1375 |
6714 d 4 h |
jermar |
/kernel/trunk/generic/ |
Fix race in condition variables. |
|
/kernel/trunk/generic/include/synch/waitq.h /kernel/trunk/generic/src/synch/condvar.c /kernel/trunk/generic/src/synch/waitq.c
|
1288 |
6728 d 4 h |
jermar |
/kernel/trunk/ |
Complete implementation of copy_from_uspace() and copy_to_uspace()
for amd64 and ia32. Other architectures still compile and run,
but need to implement their own assembly-only memcpy(), memcpy_from_uspace(),
memcpy_to_uspace() and their failover parts. For these architectures
only dummy implementations are provided. |
|
/kernel/trunk/generic/include/syscall/copy.h /kernel/trunk/generic/src/syscall/copy.c
/kernel/trunk/Makefile /kernel/trunk/arch/amd64/include/interrupt.h /kernel/trunk/arch/amd64/src/asm_utils.S /kernel/trunk/arch/amd64/src/mm/page.c /kernel/trunk/arch/ia32/include/interrupt.h /kernel/trunk/arch/ia32/src/asm.S /kernel/trunk/arch/ia32/src/boot/boot.S /kernel/trunk/arch/ia32/src/interrupt.c /kernel/trunk/arch/ia64/include/interrupt.h /kernel/trunk/arch/ia64/src/asm.S /kernel/trunk/arch/ia64/src/mm/tlb.c /kernel/trunk/arch/mips32/include/exception.h /kernel/trunk/arch/mips32/src/asm.S /kernel/trunk/arch/mips32/src/mm/tlb.c /kernel/trunk/arch/ppc32/include/exception.h /kernel/trunk/arch/ppc32/include/interrupt.h /kernel/trunk/arch/ppc32/src/asm.S /kernel/trunk/arch/ppc32/src/mm/tlb.c /kernel/trunk/arch/sparc64/include/interrupt.h /kernel/trunk/arch/sparc64/src/asm.S /kernel/trunk/generic/include/interrupt.h /kernel/trunk/generic/include/mm/as.h /kernel/trunk/generic/include/mm/page.h /kernel/trunk/generic/include/proc/thread.h /kernel/trunk/generic/src/ddi/ddi.c /kernel/trunk/generic/src/ipc/irq.c /kernel/trunk/generic/src/ipc/sysipc.c /kernel/trunk/generic/src/mm/as.c /kernel/trunk/generic/src/mm/slab.c /kernel/trunk/generic/src/printf/vsnprintf.c /kernel/trunk/generic/src/proc/task.c /kernel/trunk/generic/src/proc/thread.c /kernel/trunk/generic/src/smp/ipi.c /kernel/trunk/generic/src/synch/waitq.c
|
1248 |
6735 d 22 h |
jermar |
/kernel/trunk/ |
Add some @file doxygen comments and improve already existing comments. |
|
/kernel/trunk/genarch/src/mm/page_ht.c /kernel/trunk/genarch/src/mm/page_pt.c /kernel/trunk/generic/src/adt/bitmap.c /kernel/trunk/generic/src/adt/btree.c /kernel/trunk/generic/src/adt/hash_table.c /kernel/trunk/generic/src/adt/list.c /kernel/trunk/generic/src/ddi/ddi.c /kernel/trunk/generic/src/debug/symtab.c /kernel/trunk/generic/src/ipc/sysipc.c /kernel/trunk/generic/src/lib/elf.c /kernel/trunk/generic/src/main/kinit.c /kernel/trunk/generic/src/main/main.c /kernel/trunk/generic/src/main/uinit.c /kernel/trunk/generic/src/mm/as.c /kernel/trunk/generic/src/mm/buddy.c /kernel/trunk/generic/src/mm/frame.c /kernel/trunk/generic/src/mm/page.c /kernel/trunk/generic/src/mm/slab.c /kernel/trunk/generic/src/mm/tlb.c /kernel/trunk/generic/src/proc/scheduler.c /kernel/trunk/generic/src/proc/task.c /kernel/trunk/generic/src/proc/the.c /kernel/trunk/generic/src/proc/thread.c /kernel/trunk/generic/src/synch/condvar.c /kernel/trunk/generic/src/synch/futex.c /kernel/trunk/generic/src/synch/mutex.c /kernel/trunk/generic/src/synch/rwlock.c /kernel/trunk/generic/src/synch/semaphore.c /kernel/trunk/generic/src/synch/waitq.c
|
1229 |
6739 d 3 h |
jermar |
/kernel/trunk/ |
Remove the outdated TODO file.
Improve doxygen comments here and there. |
|
/kernel/trunk/doc/TODO
/kernel/trunk/genarch/src/mm/page_ht.c /kernel/trunk/genarch/src/mm/page_pt.c /kernel/trunk/generic/include/mm/buddy.h /kernel/trunk/generic/src/debug/print.c /kernel/trunk/generic/src/main/main.c /kernel/trunk/generic/src/mm/buddy.c /kernel/trunk/generic/src/mm/page.c /kernel/trunk/generic/src/proc/scheduler.c /kernel/trunk/generic/src/proc/task.c /kernel/trunk/generic/src/synch/condvar.c /kernel/trunk/generic/src/synch/futex.c /kernel/trunk/generic/src/synch/mutex.c /kernel/trunk/generic/src/synch/rwlock.c /kernel/trunk/generic/src/synch/semaphore.c /kernel/trunk/generic/src/synch/waitq.c
|
1158 |
6754 d 1 h |
jermar |
/kernel/trunk/generic/ |
Replace list of all threads with B+tree of all threads.
Add function thread_exists() for querying existence of thread. |
|
/kernel/trunk/generic/include/proc/thread.h /kernel/trunk/generic/src/proc/thread.c /kernel/trunk/generic/src/synch/waitq.c
|
1156 |
6754 d 1 h |
jermar |
/kernel/trunk/generic/ |
Sleeping in a wait queue can be now interrupted with
waitq_interrupt_sleep(). |
|
/kernel/trunk/generic/include/proc/thread.h /kernel/trunk/generic/include/synch/synch.h /kernel/trunk/generic/include/synch/waitq.h /kernel/trunk/generic/src/synch/waitq.c
|
1103 |
6772 d 3 h |
jermar |
/kernel/trunk/generic/src/ |
Remove extra before_thread_runs() calls. |
|
/kernel/trunk/generic/src/proc/thread.c /kernel/trunk/generic/src/synch/waitq.c
|
788 |
6816 d 22 h |
jermar |
/kernel/trunk/ |
Move list and fifo data types to adt/. |
|
/kernel/trunk/generic/include/adt /kernel/trunk/generic/include/adt/fifo.h /kernel/trunk/generic/include/adt/list.h /kernel/trunk/generic/src/adt /kernel/trunk/generic/src/adt/list.c
/kernel/trunk/generic/include/fifo.h /kernel/trunk/generic/include/list.h /kernel/trunk/generic/src/lib/list.c
/kernel/trunk/Makefile /kernel/trunk/genarch/src/mm/asid.c /kernel/trunk/genarch/src/mm/asid_fifo.c /kernel/trunk/generic/include/console/kconsole.h /kernel/trunk/generic/include/cpu.h /kernel/trunk/generic/include/mm/as.h /kernel/trunk/generic/include/mm/frame.h /kernel/trunk/generic/include/mm/slab.h /kernel/trunk/generic/include/proc/scheduler.h /kernel/trunk/generic/include/proc/task.h /kernel/trunk/generic/include/proc/thread.h /kernel/trunk/generic/include/synch/waitq.h /kernel/trunk/generic/include/time/timeout.h /kernel/trunk/generic/src/console/cmd.c /kernel/trunk/generic/src/console/kconsole.c /kernel/trunk/generic/src/cpu/cpu.c /kernel/trunk/generic/src/mm/as.c /kernel/trunk/generic/src/mm/buddy.c /kernel/trunk/generic/src/mm/frame.c /kernel/trunk/generic/src/mm/slab.c /kernel/trunk/generic/src/proc/scheduler.c /kernel/trunk/generic/src/proc/task.c /kernel/trunk/generic/src/proc/thread.c /kernel/trunk/generic/src/synch/rwlock.c /kernel/trunk/generic/src/synch/waitq.c /kernel/trunk/generic/src/time/clock.c
|
615 |
6871 d 4 h |
palkovsky |
/kernel/trunk/ |
Cleanups to make it compile with -Wall. Did not catch everything yet. |
|
/kernel/trunk/arch/ia32/src/smp/mps.c /kernel/trunk/arch/mips32/src/debugger.c /kernel/trunk/arch/mips32/src/exception.c /kernel/trunk/arch/mips32/src/fmath.c /kernel/trunk/generic/include/func.h /kernel/trunk/generic/include/panic.h /kernel/trunk/generic/src/debug/print.c /kernel/trunk/generic/src/lib/func.c /kernel/trunk/generic/src/main/kinit.c /kernel/trunk/generic/src/mm/frame.c /kernel/trunk/generic/src/mm/heap.c /kernel/trunk/generic/src/synch/waitq.c /kernel/trunk/generic/src/time/clock.c
|
557 |
6877 d 2 h |
jermar |
/kernel/trunk/ |
Add comments describing locking rules for some locks.
Cleanup. |
|
/kernel/trunk/arch/ia32/include/atomic.h /kernel/trunk/generic/include/proc/thread.h /kernel/trunk/generic/include/synch/waitq.h /kernel/trunk/generic/src/proc/scheduler.c /kernel/trunk/generic/src/proc/thread.c /kernel/trunk/generic/src/synch/rwlock.c /kernel/trunk/generic/src/synch/spinlock.c /kernel/trunk/generic/src/synch/waitq.c
|
552 |
6877 d 18 h |
palkovsky |
/kernel/trunk/ |
Named spinlocks |
|
/kernel/trunk/arch/ia32/src/drivers/i8042.c /kernel/trunk/generic/include/synch/spinlock.h /kernel/trunk/generic/src/console/chardev.c /kernel/trunk/generic/src/console/kconsole.c /kernel/trunk/generic/src/mm/frame.c /kernel/trunk/generic/src/mm/heap.c /kernel/trunk/generic/src/mm/tlb.c /kernel/trunk/generic/src/mm/vm.c /kernel/trunk/generic/src/proc/task.c /kernel/trunk/generic/src/proc/thread.c /kernel/trunk/generic/src/synch/rwlock.c /kernel/trunk/generic/src/synch/spinlock.c /kernel/trunk/generic/src/synch/waitq.c /kernel/trunk/generic/src/time/timeout.c /kernel/trunk/tools/config.py
|
534 |
6879 d 20 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel again. |
|
/kernel
/SPARTAN
|
532 |
6879 d 20 h |
jermar |
/ |
Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch. |
|
/SPARTAN
/kernel
|
501 |
6892 d 0 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel. |
|
/kernel
/SPARTAN
|
430 |
6912 d 17 h |
jermar |
/SPARTAN/trunk/ |
Move src/ and include/ to generic. |
|
/SPARTAN/trunk/generic /SPARTAN/trunk/generic/include /SPARTAN/trunk/generic/src
/SPARTAN/trunk/include /SPARTAN/trunk/src
/SPARTAN/trunk/Makefile /SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/ia32/Makefile.inc /SPARTAN/trunk/arch/ia64/Makefile.inc /SPARTAN/trunk/arch/mips32/Makefile.inc /SPARTAN/trunk/arch/mips32/boot/Makefile /SPARTAN/trunk/arch/ppc32/Makefile.inc /SPARTAN/trunk/arch/sparc64/Makefile.inc /SPARTAN/trunk/genarch/Makefile.inc /SPARTAN/trunk/generic/src/main/kinit.c
|
414 |
6927 d 6 h |
jermar |
/SPARTAN/trunk/ |
Create generic context_save() and context_restore().
These two functions are defined inline and only call context_save_arch() and context_restore_arch(), respectively.
The main purpose of this is to enable centralized commenting of these important and tricky functions. |
|
/SPARTAN/trunk/arch/amd64/include/context.h /SPARTAN/trunk/arch/amd64/src/context.S /SPARTAN/trunk/arch/ia32/include/context.h /SPARTAN/trunk/arch/ia32/src/context.s /SPARTAN/trunk/arch/ia64/include/context.h /SPARTAN/trunk/arch/ia64/src/context.S /SPARTAN/trunk/arch/mips32/include/context.h /SPARTAN/trunk/arch/mips32/src/context.S /SPARTAN/trunk/arch/ppc32/include/context.h /SPARTAN/trunk/arch/ppc32/src/context.S /SPARTAN/trunk/include/context.h /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/proc/thread.c /SPARTAN/trunk/src/synch/waitq.c /SPARTAN/trunk/tools/amd64/gencontext.c /SPARTAN/trunk/tools/mips32/gencontext.c
|
413 |
6927 d 16 h |
jermar |
/SPARTAN/trunk/ |
Rename cpu_priority_{high|low|restore|read} functions to interrupts_{disable|enable|restore|read}.
Rename pri_t to ipl_t (Interrupt Priority Level).
Rename thread_t::pri to thread_t::priority. |
|
/SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/amd64/include/context.h /SPARTAN/trunk/arch/amd64/include/types.h /SPARTAN/trunk/arch/amd64/src/interrupt.c /SPARTAN/trunk/arch/amd64/src/userspace.c /SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/include/context.h /SPARTAN/trunk/arch/ia32/include/types.h /SPARTAN/trunk/arch/ia32/src/drivers/ega.c /SPARTAN/trunk/arch/ia32/src/interrupt.c /SPARTAN/trunk/arch/ia32/src/userspace.c /SPARTAN/trunk/arch/ia64/include/context.h /SPARTAN/trunk/arch/ia64/include/types.h /SPARTAN/trunk/arch/ia64/src/context.S /SPARTAN/trunk/arch/ia64/src/dummy.s /SPARTAN/trunk/arch/mips32/include/context.h /SPARTAN/trunk/arch/mips32/include/types.h /SPARTAN/trunk/arch/mips32/src/drivers/arc.c /SPARTAN/trunk/arch/mips32/src/exception.c /SPARTAN/trunk/arch/mips32/src/interrupt.c /SPARTAN/trunk/arch/mips32/src/mips32.c /SPARTAN/trunk/arch/mips32/src/mm/asid.c /SPARTAN/trunk/arch/mips32/src/mm/tlb.c /SPARTAN/trunk/arch/mips32/src/mm/vm.c /SPARTAN/trunk/arch/ppc32/include/asm.h /SPARTAN/trunk/arch/ppc32/include/context.h /SPARTAN/trunk/arch/ppc32/include/types.h /SPARTAN/trunk/include/arch.h /SPARTAN/trunk/include/proc/thread.h /SPARTAN/trunk/src/debug/print.c /SPARTAN/trunk/src/lib/func.c /SPARTAN/trunk/src/main/kinit.c /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/mm/frame.c /SPARTAN/trunk/src/mm/heap.c /SPARTAN/trunk/src/mm/vm.c /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/proc/task.c /SPARTAN/trunk/src/proc/thread.c /SPARTAN/trunk/src/synch/rwlock.c /SPARTAN/trunk/src/synch/semaphore.c /SPARTAN/trunk/src/synch/waitq.c /SPARTAN/trunk/src/time/clock.c /SPARTAN/trunk/src/time/delay.c /SPARTAN/trunk/src/time/timeout.c /SPARTAN/trunk/test/synch/rwlock4/test.c /SPARTAN/trunk/tools/amd64/gencontext.c /SPARTAN/trunk/tools/mips32/gencontext.c
|
405 |
6933 d 19 h |
jermar |
/SPARTAN/trunk/src/ |
Doxygen comments fixes. |
|
/SPARTAN/trunk/src/debug/print.c /SPARTAN/trunk/src/synch/waitq.c
|
404 |
6933 d 19 h |
jermar |
/SPARTAN/trunk/src/ |
Fix doxygen comments. |
|
/SPARTAN/trunk/src/debug/symtab.c /SPARTAN/trunk/src/proc/the.c /SPARTAN/trunk/src/synch/condvar.c /SPARTAN/trunk/src/synch/mutex.c /SPARTAN/trunk/src/synch/waitq.c /SPARTAN/trunk/src/time/delay.c /SPARTAN/trunk/src/time/timeout.c
|
382 |
6943 d 17 h |
jermar |
/SPARTAN/trunk/src/synch/ |
Doxygen-style comments for waitq.c. |
|
/SPARTAN/trunk/src/synch/waitq.c
|
25 |
7106 d 5 h |
jermar |
/SPARTAN/trunk/src/ |
Fix waitq_sleep_timeout() to call before_thread_runs() when handling timeout. |
|
/SPARTAN/trunk/src/Makefile.config /SPARTAN/trunk/src/synch/waitq.c
|
15 |
7118 d 21 h |
jermar |
/SPARTAN/trunk/ |
Introduce macros CPU, THREAD, TASK and use them to replace the->cpu, the->thread, the->task.
Later on, this will make it possible to reference *current* cpu, thread and/or task without the aid from virtual memory. |
|
/SPARTAN/trunk/arch/ia32/src/cpu/cpu.c /SPARTAN/trunk/arch/ia32/src/drivers/i8042.c /SPARTAN/trunk/arch/ia32/src/drivers/i8254.c /SPARTAN/trunk/arch/ia32/src/drivers/i8259.c /SPARTAN/trunk/arch/ia32/src/smp/apic.c /SPARTAN/trunk/arch/ia32/src/userspace.c /SPARTAN/trunk/arch/mips/src/cpu/cpu.c /SPARTAN/trunk/arch/mips/src/exception.c /SPARTAN/trunk/arch/mips/src/mm/tlb.c /SPARTAN/trunk/include/arch.h /SPARTAN/trunk/src/cpu/cpu.c /SPARTAN/trunk/src/lib/func.c /SPARTAN/trunk/src/main/kinit.c /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/proc/task.c /SPARTAN/trunk/src/proc/thread.c /SPARTAN/trunk/src/synch/rwlock.c /SPARTAN/trunk/src/synch/spinlock.c /SPARTAN/trunk/src/synch/waitq.c /SPARTAN/trunk/src/time/clock.c /SPARTAN/trunk/src/time/delay.c /SPARTAN/trunk/src/time/timeout.c /SPARTAN/trunk/test/synch/rwlock2/test.c /SPARTAN/trunk/test/synch/rwlock3/test.c /SPARTAN/trunk/test/synch/rwlock4/test.c /SPARTAN/trunk/test/synch/rwlock5/test.c /SPARTAN/trunk/test/synch/semaphore1/test.c /SPARTAN/trunk/test/synch/semaphore2/test.c
|
1 |
7168 d 22 h |
jermar |
/SPARTAN/ |
Initial import |
|
/SPARTAN /SPARTAN/branches /SPARTAN/tags /SPARTAN/trunk /SPARTAN/trunk/arch /SPARTAN/trunk/arch/ia32 /SPARTAN/trunk/arch/ia32/Makefile.inc /SPARTAN/trunk/arch/ia32/_link.ld /SPARTAN/trunk/arch/ia32/boot /SPARTAN/trunk/arch/ia32/boot/Makefile /SPARTAN/trunk/arch/ia32/boot/boot.S /SPARTAN/trunk/arch/ia32/boot/boot.ld /SPARTAN/trunk/arch/ia32/include /SPARTAN/trunk/arch/ia32/include/ap.h /SPARTAN/trunk/arch/ia32/include/apic.h /SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/include/atomic.h /SPARTAN/trunk/arch/ia32/include/context.h /SPARTAN/trunk/arch/ia32/include/cpu.h /SPARTAN/trunk/arch/ia32/include/cpuid.h /SPARTAN/trunk/arch/ia32/include/ega.h /SPARTAN/trunk/arch/ia32/include/i8042.h /SPARTAN/trunk/arch/ia32/include/i8254.h /SPARTAN/trunk/arch/ia32/include/i8259.h /SPARTAN/trunk/arch/ia32/include/interrupt.h /SPARTAN/trunk/arch/ia32/include/mm /SPARTAN/trunk/arch/ia32/include/mm/frame.h /SPARTAN/trunk/arch/ia32/include/mm/page.h /SPARTAN/trunk/arch/ia32/include/mm/vm.h /SPARTAN/trunk/arch/ia32/include/mp.h /SPARTAN/trunk/arch/ia32/include/pm.h /SPARTAN/trunk/arch/ia32/include/thread.h /SPARTAN/trunk/arch/ia32/include/types.h /SPARTAN/trunk/arch/ia32/src /SPARTAN/trunk/arch/ia32/src/asm.s /SPARTAN/trunk/arch/ia32/src/boot /SPARTAN/trunk/arch/ia32/src/boot/boot.S /SPARTAN/trunk/arch/ia32/src/context.s /SPARTAN/trunk/arch/ia32/src/cpu /SPARTAN/trunk/arch/ia32/src/cpu/cpu.c /SPARTAN/trunk/arch/ia32/src/cpuid.s /SPARTAN/trunk/arch/ia32/src/debug /SPARTAN/trunk/arch/ia32/src/debug/panic.s /SPARTAN/trunk/arch/ia32/src/delay.s /SPARTAN/trunk/arch/ia32/src/drivers /SPARTAN/trunk/arch/ia32/src/drivers/ega.c /SPARTAN/trunk/arch/ia32/src/drivers/i8042.c /SPARTAN/trunk/arch/ia32/src/drivers/i8254.c /SPARTAN/trunk/arch/ia32/src/drivers/i8259.c /SPARTAN/trunk/arch/ia32/src/ia32.c /SPARTAN/trunk/arch/ia32/src/interrupt.c /SPARTAN/trunk/arch/ia32/src/mm /SPARTAN/trunk/arch/ia32/src/mm/frame.c /SPARTAN/trunk/arch/ia32/src/mm/page.c /SPARTAN/trunk/arch/ia32/src/mm/tlb.c /SPARTAN/trunk/arch/ia32/src/pm.c /SPARTAN/trunk/arch/ia32/src/smp /SPARTAN/trunk/arch/ia32/src/smp/ap.S /SPARTAN/trunk/arch/ia32/src/smp/apic.c /SPARTAN/trunk/arch/ia32/src/smp/atomic.S /SPARTAN/trunk/arch/ia32/src/smp/mp.c /SPARTAN/trunk/arch/ia32/src/userspace.c /SPARTAN/trunk/arch/mips /SPARTAN/trunk/arch/mips/Makefile.inc /SPARTAN/trunk/arch/mips/_link.ld /SPARTAN/trunk/arch/mips/boot /SPARTAN/trunk/arch/mips/boot/Makefile /SPARTAN/trunk/arch/mips/boot/boot.s /SPARTAN/trunk/arch/mips/include /SPARTAN/trunk/arch/mips/include/asm /SPARTAN/trunk/arch/mips/include/asm.h /SPARTAN/trunk/arch/mips/include/asm/macro.h /SPARTAN/trunk/arch/mips/include/atomic.h /SPARTAN/trunk/arch/mips/include/cache.h /SPARTAN/trunk/arch/mips/include/context.h /SPARTAN/trunk/arch/mips/include/cp0.h /SPARTAN/trunk/arch/mips/include/cpu.h /SPARTAN/trunk/arch/mips/include/exception.h /SPARTAN/trunk/arch/mips/include/interrupt.h /SPARTAN/trunk/arch/mips/include/mm /SPARTAN/trunk/arch/mips/include/mm/frame.h /SPARTAN/trunk/arch/mips/include/mm/page.h /SPARTAN/trunk/arch/mips/include/mm/tlb.h /SPARTAN/trunk/arch/mips/include/mm/vm.h /SPARTAN/trunk/arch/mips/include/thread.h /SPARTAN/trunk/arch/mips/include/types.h /SPARTAN/trunk/arch/mips/src /SPARTAN/trunk/arch/mips/src/asm.s /SPARTAN/trunk/arch/mips/src/cache.c /SPARTAN/trunk/arch/mips/src/context.S /SPARTAN/trunk/arch/mips/src/cpu /SPARTAN/trunk/arch/mips/src/cpu/cpu.c /SPARTAN/trunk/arch/mips/src/exception.c /SPARTAN/trunk/arch/mips/src/fake.s /SPARTAN/trunk/arch/mips/src/interrupt.c /SPARTAN/trunk/arch/mips/src/lib /SPARTAN/trunk/arch/mips/src/lib/memstr.c /SPARTAN/trunk/arch/mips/src/mips.c /SPARTAN/trunk/arch/mips/src/mm /SPARTAN/trunk/arch/mips/src/mm/frame.c /SPARTAN/trunk/arch/mips/src/mm/page.c /SPARTAN/trunk/arch/mips/src/mm/tlb.c /SPARTAN/trunk/arch/mips/src/panic.s /SPARTAN/trunk/arch/mips/src/putchar.c /SPARTAN/trunk/arch/mips/src/start.S /SPARTAN/trunk/arch/powerpc /SPARTAN/trunk/arch/powerpc/Makefile.inc /SPARTAN/trunk/arch/powerpc/_link.ld /SPARTAN/trunk/arch/powerpc/boot /SPARTAN/trunk/arch/powerpc/boot/Makefile /SPARTAN/trunk/arch/powerpc/boot/boot.s /SPARTAN/trunk/arch/powerpc/src /SPARTAN/trunk/arch/powerpc/src/powerpc.c /SPARTAN/trunk/doc /SPARTAN/trunk/doc/TODO /SPARTAN/trunk/doc/mips /SPARTAN/trunk/doc/preemption /SPARTAN/trunk/doc/requirements /SPARTAN/trunk/doc/synchronization /SPARTAN/trunk/include /SPARTAN/trunk/include/arch.h /SPARTAN/trunk/include/config.h /SPARTAN/trunk/include/context.h /SPARTAN/trunk/include/cpu.h /SPARTAN/trunk/include/func.h /SPARTAN/trunk/include/list.h /SPARTAN/trunk/include/main /SPARTAN/trunk/include/main/kinit.h /SPARTAN/trunk/include/main/uinit.h /SPARTAN/trunk/include/memstr.h /SPARTAN/trunk/include/mm /SPARTAN/trunk/include/mm/frame.h /SPARTAN/trunk/include/mm/heap.h /SPARTAN/trunk/include/mm/page.h /SPARTAN/trunk/include/mm/tlb.h /SPARTAN/trunk/include/mm/vm.h /SPARTAN/trunk/include/panic.h /SPARTAN/trunk/include/print.h /SPARTAN/trunk/include/proc /SPARTAN/trunk/include/proc/scheduler.h /SPARTAN/trunk/include/proc/task.h /SPARTAN/trunk/include/proc/thread.h /SPARTAN/trunk/include/putchar.h /SPARTAN/trunk/include/synch /SPARTAN/trunk/include/synch/condvar.h /SPARTAN/trunk/include/synch/mutex.h /SPARTAN/trunk/include/synch/rwlock.h /SPARTAN/trunk/include/synch/semaphore.h /SPARTAN/trunk/include/synch/spinlock.h /SPARTAN/trunk/include/synch/synch.h /SPARTAN/trunk/include/synch/waitq.h /SPARTAN/trunk/include/test.h /SPARTAN/trunk/include/time /SPARTAN/trunk/include/time/clock.h /SPARTAN/trunk/include/time/delay.h /SPARTAN/trunk/include/time/timeout.h /SPARTAN/trunk/include/typedefs.h /SPARTAN/trunk/include/userspace.h /SPARTAN/trunk/src /SPARTAN/trunk/src/Makefile /SPARTAN/trunk/src/Makefile.config /SPARTAN/trunk/src/cpu /SPARTAN/trunk/src/cpu/cpu.c /SPARTAN/trunk/src/debug /SPARTAN/trunk/src/debug/print.c /SPARTAN/trunk/src/lib /SPARTAN/trunk/src/lib/func.c /SPARTAN/trunk/src/lib/list.c /SPARTAN/trunk/src/main /SPARTAN/trunk/src/main/kinit.c /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/main/uinit.c /SPARTAN/trunk/src/mm /SPARTAN/trunk/src/mm/frame.c /SPARTAN/trunk/src/mm/heap.c /SPARTAN/trunk/src/mm/page.c /SPARTAN/trunk/src/mm/tlb.c /SPARTAN/trunk/src/mm/vm.c /SPARTAN/trunk/src/proc /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/proc/task.c /SPARTAN/trunk/src/proc/thread.c /SPARTAN/trunk/src/synch /SPARTAN/trunk/src/synch/condvar.c /SPARTAN/trunk/src/synch/mutex.c /SPARTAN/trunk/src/synch/rwlock.c /SPARTAN/trunk/src/synch/semaphore.c /SPARTAN/trunk/src/synch/spinlock.c /SPARTAN/trunk/src/synch/waitq.c /SPARTAN/trunk/src/time /SPARTAN/trunk/src/time/clock.c /SPARTAN/trunk/src/time/delay.c /SPARTAN/trunk/src/time/timeout.c /SPARTAN/trunk/test /SPARTAN/trunk/test/synch /SPARTAN/trunk/test/synch/rwlock1 /SPARTAN/trunk/test/synch/rwlock1/test.c /SPARTAN/trunk/test/synch/rwlock2 /SPARTAN/trunk/test/synch/rwlock2/test.c /SPARTAN/trunk/test/synch/rwlock3 /SPARTAN/trunk/test/synch/rwlock3/test.c /SPARTAN/trunk/test/synch/rwlock4 /SPARTAN/trunk/test/synch/rwlock4/test.c /SPARTAN/trunk/test/synch/rwlock5 /SPARTAN/trunk/test/synch/rwlock5/test.c /SPARTAN/trunk/test/synch/semaphore1 /SPARTAN/trunk/test/synch/semaphore1/test.c /SPARTAN/trunk/test/synch/semaphore2 /SPARTAN/trunk/test/synch/semaphore2/test.c
|