Subversion Repositories HelenOS-historic

Rev

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

Filtering Options

Rev Age Author Path Log message Diff Changes
906 6656 d 21 h palkovsky /kernel/trunk/ Added lazy fpu context allocation.
- threads that don't use fpu, don't get allocated fpu context
- fpu context alignment on AMD64 nicely disappeared
 
/kernel/trunk/arch/amd64/src/fpu_context.c
/kernel/trunk/arch/ia32/include/fpu_context.h
/kernel/trunk/arch/ia32/src/fpu_context.c
/kernel/trunk/arch/mips32/include/fpu_context.h
/kernel/trunk/arch/mips32/src/fpu_context.c
/kernel/trunk/generic/include/fpu_context.h
/kernel/trunk/generic/include/proc/thread.h
/kernel/trunk/generic/src/proc/scheduler.c
/kernel/trunk/generic/src/proc/thread.c
897 6659 d 21 h jermar /kernel/trunk/ sparc64 work.
Fix KBD_VIRT_ADDRESS.
Call before_thread_runs() prior to the switch to the thread's stack. Add comment why this is crucial.
Add after_thread_ran() to the scheduler.
Add before_thread_runs_arch() and after_thread_ran_arch() for sparc64, mapping/demapping thread's kernel stack.
Add dummy after_thread_ran_arch() to all other architectures.
Add dtlb_insert_mapping() to promote code reuse.
 
/kernel/trunk/arch/sparc64/src/proc
/kernel/trunk/arch/sparc64/src/proc/scheduler.c
/kernel/trunk/arch/amd64/src/proc/scheduler.c
/kernel/trunk/arch/ia32/src/proc/scheduler.c
/kernel/trunk/arch/ia64/src/dummy.s
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/arch/ppc32/src/dummy.s
/kernel/trunk/arch/sparc64/Makefile.inc
/kernel/trunk/arch/sparc64/include/drivers/i8042.h
/kernel/trunk/arch/sparc64/include/mm/tlb.h
/kernel/trunk/arch/sparc64/include/trap/exception.h
/kernel/trunk/arch/sparc64/src/console.c
/kernel/trunk/arch/sparc64/src/mm/tlb.c
/kernel/trunk/arch/sparc64/src/sparc64.c
/kernel/trunk/arch/sparc64/src/trap/exception.c
/kernel/trunk/arch/sparc64/src/trap/trap_table.S
/kernel/trunk/generic/include/proc/scheduler.h
/kernel/trunk/generic/src/proc/scheduler.c
814 6679 d 9 h palkovsky /kernel/trunk/ Cleanup o frame allocator.
Removed early_malloc & initial heap.
Will break ia64, ppc & sparc.
Added e820 table print.
 
/kernel/trunk/generic/include/mm/heap.h
/kernel/trunk/generic/src/mm/heap.c
/kernel/trunk/Makefile
/kernel/trunk/arch/amd64/include/types.h
/kernel/trunk/arch/amd64/src/mm/page.c
/kernel/trunk/arch/amd64/src/pm.c
/kernel/trunk/arch/ia32/include/types.h
/kernel/trunk/arch/ia32/src/mm/frame.c
/kernel/trunk/arch/ia32/src/pm.c
/kernel/trunk/arch/ia32/src/smp/smp.c
/kernel/trunk/arch/mips32/Makefile.inc
/kernel/trunk/arch/mips32/include/types.h
/kernel/trunk/arch/mips32/src/drivers/arc.c
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/arch/mips32/src/mm/frame.c
/kernel/trunk/contrib/conf/msim.conf
/kernel/trunk/genarch/src/acpi/matd.c
/kernel/trunk/genarch/src/mm/as_pt.c
/kernel/trunk/genarch/src/mm/page_pt.c
/kernel/trunk/generic/include/mm/buddy.h
/kernel/trunk/generic/include/mm/frame.h
/kernel/trunk/generic/include/mm/slab.h
/kernel/trunk/generic/include/proc/thread.h
/kernel/trunk/generic/include/typedefs.h
/kernel/trunk/generic/src/adt/hash_table.c
/kernel/trunk/generic/src/cpu/cpu.c
/kernel/trunk/generic/src/lib/sort.c
/kernel/trunk/generic/src/main/main.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/test/mm/falloc1/test.c
/kernel/trunk/test/mm/falloc2/test.c
788 6682 d 3 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 6682 d 5 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
777 6683 d 3 h palkovsky /kernel/trunk/generic/ added thread list to kconsole.  
/kernel/trunk/generic/include/proc/thread.h
/kernel/trunk/generic/src/console/cmd.c
/kernel/trunk/generic/src/proc/thread.c
775 6683 d 8 h palkovsky /kernel/trunk/generic/ Added scheduler queues output. The scheduler is buggy - on SMP
the cpus never get tu cpu_sleep, in slab2 test on 4 cpus everything
is on the first cpu.
The slab allocator passes tests in this configuration, but in slightly
different(more efficient) locking order it panics. TODO: Find out why
does it panic.
 
/kernel/trunk/generic/include/proc/scheduler.h
/kernel/trunk/generic/src/console/cmd.c
/kernel/trunk/generic/src/mm/slab.c
/kernel/trunk/generic/src/proc/scheduler.c
703 6705 d 8 h jermar /kernel/trunk/ Memory management work.
- vm.* -> as.* (as like address space is, imho, more fitting)
- Don't do TLB shootdown on vm_install(). Some architectures only need to call tlb_invalidate_asid().
- Don't allocate all frames for as_area in as_area_create(), but let them be allocated on-demand by as_page_fault().
- Add high-level page fault handler as_page_fault().
- Add as_area_load_mapping().
 
/kernel/trunk/arch/amd64/include/mm/as.h
/kernel/trunk/arch/ia32/include/mm/as.h
/kernel/trunk/arch/ia64/include/mm/as.h
/kernel/trunk/arch/mips32/include/mm/as.h
/kernel/trunk/arch/mips32/src/mm/as.c
/kernel/trunk/arch/ppc32/include/mm/as.h
/kernel/trunk/arch/sparc64/include/mm/as.h
/kernel/trunk/generic/include/mm/as.h
/kernel/trunk/generic/src/mm/as.c
/kernel/trunk/arch/amd64/include/mm/vm.h
/kernel/trunk/arch/ia32/include/mm/vm.h
/kernel/trunk/arch/ia64/include/mm/vm.h
/kernel/trunk/arch/mips32/include/mm/vm.h
/kernel/trunk/arch/mips32/src/mm/vm.c
/kernel/trunk/arch/ppc32/include/mm/vm.h
/kernel/trunk/arch/sparc64/include/mm/vm.h
/kernel/trunk/generic/include/mm/vm.h
/kernel/trunk/generic/src/mm/vm.c
/kernel/trunk/Makefile
/kernel/trunk/arch/amd64/src/interrupt.c
/kernel/trunk/arch/amd64/src/userspace.c
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/arch/ia32/src/mm/frame.c
/kernel/trunk/arch/ia32/src/userspace.c
/kernel/trunk/arch/mips32/Makefile.inc
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/arch/mips32/src/mm/tlb.c
/kernel/trunk/doc/mm
/kernel/trunk/generic/include/arch.h
/kernel/trunk/generic/include/proc/task.h
/kernel/trunk/generic/include/typedefs.h
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/generic/src/mm/frame.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/proc/the.c
678 6714 d 0 h decky /kernel/trunk/ move syscall infrastructure to a separate subdir  
/kernel/trunk/generic/include/syscall
/kernel/trunk/generic/include/syscall/syscall.h
/kernel/trunk/generic/src/syscall
/kernel/trunk/generic/src/syscall/syscall.c
/kernel/trunk/generic/include/proc/syscall.h
/kernel/trunk/generic/src/proc/syscall.c
/kernel/trunk/Makefile
662 6725 d 23 h decky /kernel/trunk/ initial syscall table support  
/kernel/trunk/generic/include/proc/syscall.h
/kernel/trunk/generic/src/proc/syscall.c
/kernel/trunk/Makefile
623 6734 d 11 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
557 6742 d 8 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
534 6745 d 2 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
/kernel
/SPARTAN
532 6745 d 2 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
/SPARTAN
/kernel
501 6757 d 6 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
/kernel
/SPARTAN
483 6765 d 2 h jermar /SPARTAN/trunk/ For now, each architecture must use its own -O switch (-O2 doesn't work for ia64, -O3 doesn't work for mips32).

New mips32 atomic_add() function.

Cleanup.
 
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/Makefile.config
/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/include/atomic.h
/SPARTAN/trunk/arch/mips32/include/cpu.h
/SPARTAN/trunk/arch/mips32/src/interrupt.c
/SPARTAN/trunk/arch/ppc32/Makefile.inc
/SPARTAN/trunk/arch/sparc64/Makefile.inc
/SPARTAN/trunk/generic/include/arch.h
/SPARTAN/trunk/generic/include/config.h
/SPARTAN/trunk/generic/include/cpu.h
/SPARTAN/trunk/generic/include/proc/scheduler.h
/SPARTAN/trunk/generic/include/synch/rwlock.h
/SPARTAN/trunk/generic/include/typedefs.h
/SPARTAN/trunk/generic/src/proc/scheduler.c
/SPARTAN/trunk/test/fpu/fpu1/test.c
/SPARTAN/trunk/test/fpu/mips1/test.c
/SPARTAN/trunk/test/fpu/sse1/test.c
/SPARTAN/trunk/test/synch/rwlock5/test.c
475 6769 d 8 h jermar /SPARTAN/trunk/ Define atomic_t type.  
/SPARTAN/trunk/arch/ia32/include/atomic.h
/SPARTAN/trunk/arch/ia64/include/atomic.h
/SPARTAN/trunk/arch/mips32/include/atomic.h
/SPARTAN/trunk/arch/ppc32/include/atomic.h
/SPARTAN/trunk/arch/sparc64/include/atomic.h
/SPARTAN/trunk/generic/include/proc/scheduler.h
/SPARTAN/trunk/generic/src/proc/scheduler.c
/SPARTAN/trunk/generic/src/proc/thread.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
452 6772 d 1 h decky /SPARTAN/trunk/ major build system revision (unfinished)
this patchset most definitively breaks a lot of things, be patient
 
/SPARTAN/trunk/clean
/SPARTAN/trunk/genarch/include/acpi
/SPARTAN/trunk/genarch/include/acpi/acpi.h
/SPARTAN/trunk/genarch/include/acpi/madt.h
/SPARTAN/trunk/genarch/src/acpi
/SPARTAN/trunk/genarch/src/acpi/acpi.c
/SPARTAN/trunk/genarch/src/acpi/matd.c
/SPARTAN/trunk/build.amd64
/SPARTAN/trunk/build.ia64
/SPARTAN/trunk/build.mips32
/SPARTAN/trunk/build.ppc32
/SPARTAN/trunk/build.sparc64
/SPARTAN/trunk/clean.amd64
/SPARTAN/trunk/clean.ia32
/SPARTAN/trunk/clean.ia64
/SPARTAN/trunk/clean.mips32
/SPARTAN/trunk/clean.ppc32
/SPARTAN/trunk/clean.sparc64
/SPARTAN/trunk/genarch/include/firmware/acpi
/SPARTAN/trunk/genarch/src/firmware/acpi
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/Makefile.config
/SPARTAN/trunk/arch/amd64/src/amd64.c
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/include/ega.h
/SPARTAN/trunk/arch/ia32/src/cpu/cpu.c
/SPARTAN/trunk/arch/ia32/src/drivers/ega.c
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/ia32/src/smp/smp.c
/SPARTAN/trunk/genarch/Makefile.inc
/SPARTAN/trunk/generic/include/print.h
/SPARTAN/trunk/generic/include/proc/scheduler.h
/SPARTAN/trunk/generic/include/proc/thread.h
/SPARTAN/trunk/generic/src/debug/print.c
/SPARTAN/trunk/generic/src/main/kinit.c
/SPARTAN/trunk/generic/src/proc/scheduler.c
/SPARTAN/trunk/generic/src/proc/thread.c
430 6777 d 23 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
413 6792 d 22 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

Show All