Subversion Repositories HelenOS

Rev

Go to most recent revision | Hide changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
1158 6657 d 22 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 6657 d 22 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
1153 6662 d 1 h jermar /kernel/trunk/generic/src/synch/ Because of another race condition, futex_wakeup() needs to be able to allocate and initialize the kernel futex structure too.  
/kernel/trunk/generic/src/synch/futex.c
1117 6674 d 15 h jermar /kernel/trunk/generic/ Improved futexes. (kernel part)  
/kernel/trunk/generic/include/synch/futex.h
/kernel/trunk/generic/src/synch/futex.c
1109 6675 d 14 h jermar /kernel/trunk/ Basic futex. Prototype implementation.  
/kernel/trunk/generic/include/synch/futex.h
/kernel/trunk/generic/src/synch/futex.c
/kernel/trunk/Makefile
/kernel/trunk/generic/include/syscall/syscall.h
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/generic/src/syscall/syscall.c
1104 6675 d 19 h jermar /kernel/trunk/ Define atomic_t only once in atomic.h
Change the encapsulated counter type to long so that it supports negative values as well.
 
/kernel/trunk/generic/include/atomic.h
/kernel/trunk/arch/amd64/include/atomic.h
/kernel/trunk/arch/amd64/src/proc/scheduler.c
/kernel/trunk/arch/ia32/include/atomic.h
/kernel/trunk/arch/ia32/src/userspace.c
/kernel/trunk/arch/ia64/include/atomic.h
/kernel/trunk/arch/ia64/src/mm/tlb.c
/kernel/trunk/arch/mips32/include/atomic.h
/kernel/trunk/arch/ppc32/include/atomic.h
/kernel/trunk/arch/sparc64/include/atomic.h
/kernel/trunk/generic/include/func.h
/kernel/trunk/generic/include/mm/slab.h
/kernel/trunk/generic/include/proc/scheduler.h
/kernel/trunk/generic/include/synch/spinlock.h
/kernel/trunk/generic/include/typedefs.h
/kernel/trunk/generic/src/console/console.c
/kernel/trunk/generic/src/mm/tlb.c
/kernel/trunk/generic/src/proc/scheduler.c
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/generic/src/synch/spinlock.c
/kernel/trunk/generic/src/time/clock.c
/kernel/trunk/test/atomic/atomic1/test.c
/kernel/trunk/test/debug/mips1/test.c
/kernel/trunk/test/fault/fault1/test.c
/kernel/trunk/test/fpu/fpu1/test.c
/kernel/trunk/test/fpu/mips1/test.c
/kernel/trunk/test/fpu/sse1/test.c
/kernel/trunk/test/mm/falloc2/test.c
/kernel/trunk/test/synch/rwlock1/test.c
/kernel/trunk/test/synch/rwlock2/test.c
/kernel/trunk/test/synch/rwlock3/test.c
/kernel/trunk/test/synch/rwlock4/test.c
/kernel/trunk/test/synch/rwlock5/test.c
/kernel/trunk/test/synch/semaphore1/test.c
/kernel/trunk/test/synch/semaphore2/test.c
/kernel/trunk/test/thread/thread1/test.c
1103 6676 d 0 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
1100 6677 d 16 h palkovsky /kernel/trunk/ Cleanup of spinlocks, now compiles both ia32 and amd64 with
and without DEBUG_SPINLOCKS. Made spinlocks inline.
Moved syscall_handler to generic (it was identical for ia32,amd64 & mips32).
Made slightly faster syscall for ia32.
Made better interrupt routines for ia32.
Allow not saving non-scratch registers during interrupt on ia32,amd64,mips32.
Aligned interrupt handlers on ia32,amd64, this should prevent problems
with different instruction lengths.
 
/kernel/trunk/arch/amd64/include/atomic.h
/kernel/trunk/arch/amd64/include/syscall.h
/kernel/trunk/arch/amd64/src/interrupt.c
/kernel/trunk/arch/amd64/src/syscall.c
/kernel/trunk/arch/ia32/include/atomic.h
/kernel/trunk/arch/ia32/include/interrupt.h
/kernel/trunk/arch/ia32/src/asm.S
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/arch/mips32/include/exception.h
/kernel/trunk/arch/mips32/src/exception.c
/kernel/trunk/arch/mips32/src/start.S
/kernel/trunk/generic/include/synch/spinlock.h
/kernel/trunk/generic/include/syscall/syscall.h
/kernel/trunk/generic/src/lib/func.c
/kernel/trunk/generic/src/synch/spinlock.c
/kernel/trunk/generic/src/syscall/syscall.c
/kernel/trunk/kernel.config
788 6720 d 19 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
787 6720 d 20 h palkovsky /kernel/trunk/generic/ Added constructor/destructor calls to SLAB.
Changed allocation of thread_t structure to use SLAB.
 
/kernel/trunk/generic/include/mm/slab.h
/kernel/trunk/generic/include/print.h
/kernel/trunk/generic/include/proc/thread.h
/kernel/trunk/generic/src/mm/slab.c
/kernel/trunk/generic/src/proc/scheduler.c
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/generic/src/synch/spinlock.c
625 6772 d 21 h palkovsky /kernel/trunk/ We are now almost -Wall clean.
- redefined atomic_t
- deleted many, many unused variables
- some minor code cleanups found using compiler warning.
 
/kernel/trunk/arch/amd64/include/asm.h
/kernel/trunk/arch/amd64/src/cpu/cpu.c
/kernel/trunk/arch/ia32/include/atomic.h
/kernel/trunk/arch/ia32/src/fmath.c
/kernel/trunk/arch/ia32/src/mm/frame.c
/kernel/trunk/arch/ia32/src/smp/smp.c
/kernel/trunk/arch/ia64/include/atomic.h
/kernel/trunk/arch/mips32/include/atomic.h
/kernel/trunk/arch/mips32/src/drivers/arc.c
/kernel/trunk/arch/mips32/src/drivers/serial.c
/kernel/trunk/arch/ppc32/include/atomic.h
/kernel/trunk/arch/sparc64/include/atomic.h
/kernel/trunk/generic/include/cpu.h
/kernel/trunk/generic/include/debug.h
/kernel/trunk/generic/include/synch/spinlock.h
/kernel/trunk/generic/src/console/cmd.c
/kernel/trunk/generic/src/console/kconsole.c
/kernel/trunk/generic/src/debug/symtab.c
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/generic/src/mm/vm.c
/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/test/synch/rwlock4/test.c
623 6773 d 2 h jermar /kernel/trunk/ Add SPINLOCK_DECLARE and SPINLOCK_INITIALIZE macros.
SPINLOCK_DECLARE is to be used instead of direct spinlock_t declarations
in dynamically allocated structures on which spinlock_initialize() is called after
their creation.
SPINLOCK_INITIALIZE is to be used instead of direct spinlock_t declarations
of global spinlocks. It declares and initializes the spinlock.
Moreover, both macros are empty on UP so that -Wall warnings about unused structures
get supressed.
 
/kernel/trunk/arch/ia32/src/drivers/ega.c
/kernel/trunk/arch/ia32/src/drivers/i8042.c
/kernel/trunk/arch/ia32/src/mm/page.c
/kernel/trunk/arch/mips32/src/debugger.c
/kernel/trunk/arch/mips32/src/mm/asid.c
/kernel/trunk/generic/include/console/chardev.h
/kernel/trunk/generic/include/console/kconsole.h
/kernel/trunk/generic/include/cpu.h
/kernel/trunk/generic/include/mm/frame.h
/kernel/trunk/generic/include/mm/vm.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/rwlock.h
/kernel/trunk/generic/include/synch/spinlock.h
/kernel/trunk/generic/include/synch/waitq.h
/kernel/trunk/generic/include/time/timeout.h
/kernel/trunk/generic/src/console/kconsole.c
/kernel/trunk/generic/src/cpu/cpu.c
/kernel/trunk/generic/src/debug/print.c
/kernel/trunk/generic/src/interrupt/interrupt.c
/kernel/trunk/generic/src/main/main.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/proc/task.c
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/generic/src/synch/rwlock.c
/kernel/trunk/test/synch/rwlock4/test.c
/kernel/trunk/test/synch/semaphore2/test.c
/kernel/trunk/test/thread/thread1/test.c
622 6773 d 16 h palkovsky /kernel/trunk/ Better gcc CALLER implementation  
/kernel/trunk/arch/ia32/include/debug.h
/kernel/trunk/arch/mips32/include/debug.h
/kernel/trunk/generic/include/debug.h
/kernel/trunk/generic/src/synch/spinlock.c
615 6775 d 1 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
581 6778 d 1 h palkovsky /kernel/trunk/ Small debug changes.  
/kernel/trunk/arch/amd64/include/debug.h
/kernel/trunk/arch/ia32/include/debug.h
/kernel/trunk/arch/ia64/include/debug.h
/kernel/trunk/arch/ppc32/include/debug.h
/kernel/trunk/arch/sparc64/include/debug.h
/kernel/trunk/arch/amd64/include/asm.h
/kernel/trunk/arch/ia32/include/asm.h
/kernel/trunk/arch/mips32/include/debug.h
/kernel/trunk/generic/include/debug.h
/kernel/trunk/generic/src/interrupt/interrupt.c
/kernel/trunk/generic/src/synch/spinlock.c
557 6780 d 23 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 6781 d 15 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 6783 d 17 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
/kernel
/SPARTAN
532 6783 d 17 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
/SPARTAN
/kernel
501 6795 d 22 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
/kernel
/SPARTAN
458 6810 d 0 h decky /SPARTAN/trunk/ make configuration variables usage consistent  
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/amd64/src/amd64.c
/SPARTAN/trunk/arch/amd64/src/interrupt.c
/SPARTAN/trunk/arch/amd64/src/smp/ap.S
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/include/atomic.h
/SPARTAN/trunk/arch/ia32/src/atomic.S
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/smp/ap.S
/SPARTAN/trunk/arch/ia32/src/smp/apic.c
/SPARTAN/trunk/arch/ia32/src/smp/ipi.c
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/arch/ia32/src/smp/smp.c
/SPARTAN/trunk/arch/mips32/Makefile.inc
/SPARTAN/trunk/arch/mips32/src/exception.c
/SPARTAN/trunk/genarch/src/acpi/matd.c
/SPARTAN/trunk/generic/include/cpu.h
/SPARTAN/trunk/generic/include/mm/tlb.h
/SPARTAN/trunk/generic/include/smp/ipi.h
/SPARTAN/trunk/generic/include/smp/smp.h
/SPARTAN/trunk/generic/include/synch/spinlock.h
/SPARTAN/trunk/generic/src/cpu/cpu.c
/SPARTAN/trunk/generic/src/main/kinit.c
/SPARTAN/trunk/generic/src/main/main.c
/SPARTAN/trunk/generic/src/mm/tlb.c
/SPARTAN/trunk/generic/src/proc/scheduler.c
/SPARTAN/trunk/generic/src/smp/ipi.c
/SPARTAN/trunk/generic/src/synch/spinlock.c
430 6816 d 14 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 6831 d 3 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 6831 d 13 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 6837 d 16 h jermar /SPARTAN/trunk/src/ Doxygen comments fixes.  
/SPARTAN/trunk/src/debug/print.c
/SPARTAN/trunk/src/synch/waitq.c
404 6837 d 16 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
387 6846 d 19 h jermar /SPARTAN/trunk/src/synch/ Doxygen-style comments for condvar.c.  
/SPARTAN/trunk/src/synch/condvar.c
386 6846 d 19 h jermar /SPARTAN/trunk/src/synch/ Doxygen-style comments for mutex.c.  
/SPARTAN/trunk/src/synch/mutex.c
385 6846 d 20 h jermar /SPARTAN/trunk/src/synch/ Doxygen-style comments for rwlock.c.  
/SPARTAN/trunk/src/synch/rwlock.c
384 6846 d 21 h jermar /SPARTAN/trunk/src/synch/ Doxygen-style comments for semaphore.c.  
/SPARTAN/trunk/src/synch/semaphore.c
383 6846 d 22 h jermar /SPARTAN/trunk/src/synch/ Doxygen-style comments for spinlock.c.  
/SPARTAN/trunk/src/synch/spinlock.c
382 6847 d 14 h jermar /SPARTAN/trunk/src/synch/ Doxygen-style comments for waitq.c.  
/SPARTAN/trunk/src/synch/waitq.c
223 6878 d 3 h jermar /SPARTAN/trunk/ Preemption work.
Instrument spinlock functions with preemption_disable() and preemption_enable() calls.
 
/SPARTAN/trunk/include/synch/spinlock.h
/SPARTAN/trunk/src/synch/spinlock.c
195 6879 d 17 h vana /SPARTAN/trunk/ 1) memcopy and _memcopy functions rewriten to ANSI C norm.
2) Repaired ia32,ia64 and mips version of SPARTAN to work with this memcopy functions
3) Warning for non declared funcions added and repaired ia32,ia64 and mips versions to pass build process with this warning and Werror option
 
/SPARTAN/trunk/test/thread
/SPARTAN/trunk/test/thread/thread1
/SPARTAN/trunk/test/thread/thread1/test.c
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/arch/ia32/src/acpi/acpi.c
/SPARTAN/trunk/arch/ia32/src/acpi/madt.c
/SPARTAN/trunk/arch/ia32/src/drivers/ega.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/mm/memory_init.c
/SPARTAN/trunk/arch/ia32/src/mm/page.c
/SPARTAN/trunk/arch/ia32/src/pm.c
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/arch/ia32/src/smp/smp.c
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/include/asm.h
/SPARTAN/trunk/arch/mips/Makefile.inc
/SPARTAN/trunk/arch/mips/include/asm.h
/SPARTAN/trunk/arch/mips/src/cpu/cpu.c
/SPARTAN/trunk/arch/mips/src/exception.c
/SPARTAN/trunk/arch/mips/src/mm/page.c
/SPARTAN/trunk/arch/mips/src/mm/tlb.c
/SPARTAN/trunk/arch/ppc/Makefile.inc
/SPARTAN/trunk/include/cpu.h
/SPARTAN/trunk/include/memstr.h
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/debug/print.c
/SPARTAN/trunk/src/lib/memstr.c
/SPARTAN/trunk/src/main/kinit.c
/SPARTAN/trunk/src/main/uinit.c
/SPARTAN/trunk/src/mm/frame.c
/SPARTAN/trunk/src/mm/heap.c
/SPARTAN/trunk/src/mm/page.c
/SPARTAN/trunk/src/mm/vm.c
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/proc/thread.c
/SPARTAN/trunk/src/synch/semaphore.c
/SPARTAN/trunk/src/synch/spinlock.c
153 6902 d 13 h jermar /SPARTAN/trunk/ Add memory barriers into spinlock_*().
Implement CS_{ENTER|LEAVE}_BARRIER() for IA-32 (no-op).
Provide incomplete CS_{ENTER|LEAVE}_BARRIER() macros for IA-64 and MIPS as well.

Small changes here and there.
 
/SPARTAN/trunk/arch/ia32/include/barrier.h
/SPARTAN/trunk/arch/ia64/include/barrier.h
/SPARTAN/trunk/arch/mips/include/barrier.h
/SPARTAN/trunk/src/synch/rwlock.c
/SPARTAN/trunk/src/synch/spinlock.c
115 6961 d 13 h jermar /SPARTAN/trunk/ Implement several assembler functions in gcc's __asm__ notation instead of in .s or .S file.
Gain both better speed and size.
 
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/arch/ia32/include/atomic.h
/SPARTAN/trunk/arch/ia32/src/asm.s
/SPARTAN/trunk/arch/ia32/src/atomic.S
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/mm/page.c
/SPARTAN/trunk/arch/ia32/src/mm/tlb.c
/SPARTAN/trunk/arch/ia32/src/smp/apic.c
/SPARTAN/trunk/doc/requirements
/SPARTAN/trunk/src/debug/print.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/thread.c
/SPARTAN/trunk/src/synch/semaphore.c
111 6964 d 17 h palkovsky /SPARTAN/trunk/ Code cleanup in scheduler.c thread.c - removed unnecessary spinlock.
atomic_inc, atomic_dec moved to arch/atomic.h instead of arch/smp/atomic.h,
advisable to use even in non-smp mode.
Fixed atomic_inc, atomic_dec in mips architecture.
 
/SPARTAN/trunk/arch/ia32/include/atomic.h
/SPARTAN/trunk/arch/ia32/src/atomic.S
/SPARTAN/trunk/arch/mips/include/atomic.h
/SPARTAN/trunk/arch/ia32/include/smp/atomic.h
/SPARTAN/trunk/arch/ia32/src/smp/atomic.S
/SPARTAN/trunk/arch/mips/include/smp/atomic.h
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/mips/_link.ld
/SPARTAN/trunk/include/proc/scheduler.h
/SPARTAN/trunk/src/Makefile
/SPARTAN/trunk/src/mm/tlb.c
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/proc/thread.c
/SPARTAN/trunk/src/synch/spinlock.c
/SPARTAN/trunk/src/time/clock.c
/SPARTAN/trunk/test/fpu/fpu1/test.c
/SPARTAN/trunk/test/synch/rwlock1/test.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
68 6990 d 17 h decky /SPARTAN/trunk/ NDEBUG debug symbol, ASSERT debug macro, fancier panic() in debug mode
indentation fixes, ASSERTs
 
/SPARTAN/trunk/arch/ia32/src/debug/panic.s
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/pm.c
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/arch/ia64/src/fake.s
/SPARTAN/trunk/arch/mips/src/cache.c
/SPARTAN/trunk/arch/mips/src/exception.c
/SPARTAN/trunk/arch/mips/src/interrupt.c
/SPARTAN/trunk/arch/mips/src/mm/tlb.c
/SPARTAN/trunk/arch/mips/src/panic.s
/SPARTAN/trunk/include/list.h
/SPARTAN/trunk/include/panic.h
/SPARTAN/trunk/include/print.h
/SPARTAN/trunk/include/typedefs.h
/SPARTAN/trunk/src/debug/print.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/synch/rwlock.c
/SPARTAN/trunk/src/time/timeout.c
25 7010 d 2 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 7022 d 18 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