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
811 6707 d 3 h jermar /kernel/trunk/ Fix number of steps in softint division.
Make ia64 port compile with softint.
 
/kernel/trunk/genarch/include/softint/division.h
/kernel/trunk/genarch/src/softint/division.c
/kernel/trunk/genarch/include/softint/softint.h
/kernel/trunk/genarch/src/softint/softint.c
/kernel/trunk/arch/ia64/Makefile.inc
/kernel/trunk/genarch/Makefile.inc
810 6707 d 8 h cejka /kernel/trunk/genarch/ Added softint for emulation 32 and 64 bit division.
Not tested yet.
 
/kernel/trunk/genarch/include/softint
/kernel/trunk/genarch/include/softint/softint.h
/kernel/trunk/genarch/src/softint
/kernel/trunk/genarch/src/softint/softint.c
809 6707 d 8 h palkovsky /kernel/trunk/arch/amd64/src/smp/ Simics GS patch even in SMP.  
/kernel/trunk/arch/amd64/src/smp/ap.S
808 6707 d 14 h palkovsky /kernel/trunk/arch/amd64/ Doc updates.  
/kernel/trunk/arch/amd64/include/mm/page.h
/kernel/trunk/arch/amd64/src/asm_utils.S
807 6707 d 14 h palkovsky /kernel/trunk/arch/amd64/src/boot/ I'm unsure if simics is broken or the only one according to spec,
but SYSCALL now works even with simics.
 
/kernel/trunk/arch/amd64/src/boot/boot.S
806 6707 d 21 h palkovsky /kernel/trunk/arch/amd64/ Added (finally!) userspace to AMD64.
It does not work on Simics *$U&%&$&*#. Broken simics!!!
There should be probably LEA instead of MOV/ADD, but LEA does not
work in neither qemu nor bochs. Any other simulator to test? :-/
 
/kernel/trunk/arch/amd64/include/asm.h
/kernel/trunk/arch/amd64/include/cpu.h
/kernel/trunk/arch/amd64/src/asm_utils.S
/kernel/trunk/arch/amd64/src/proc/scheduler.c
/kernel/trunk/arch/amd64/src/syscall.c
803 6708 d 0 h palkovsky /kernel/trunk/arch/amd64/ Basic amd syscall support.  
/kernel/trunk/arch/amd64/include/syscall.h
/kernel/trunk/arch/amd64/src/syscall.c
/kernel/trunk/arch/amd64/Makefile.inc
/kernel/trunk/arch/amd64/include/asm.h
/kernel/trunk/arch/amd64/include/cpu.h
/kernel/trunk/arch/amd64/include/pm.h
/kernel/trunk/arch/amd64/src/amd64.c
/kernel/trunk/arch/amd64/src/asm_utils.S
/kernel/trunk/arch/amd64/src/pm.c
802 6708 d 1 h palkovsky /kernel/trunk/arch/amd64/ Userspace now starts executing correctly.  
/kernel/trunk/arch/amd64/include/mm/as.h
/kernel/trunk/arch/amd64/src/userspace.c
800 6708 d 3 h palkovsky /kernel/trunk/arch/amd64/include/ Split AMD interrupt.h from ia32 version.  
/kernel/trunk/arch/amd64/include/interrupt.h
799 6708 d 3 h palkovsky /kernel/trunk/ Preliminary work on AMD userspace.  
/kernel/trunk/arch/amd64/include/interrupt.h
/kernel/trunk/arch/amd64/include/context.h
/kernel/trunk/arch/amd64/include/context_offset.h
/kernel/trunk/arch/amd64/include/cpu.h
/kernel/trunk/arch/amd64/src/amd64.c
/kernel/trunk/arch/amd64/src/asm_utils.S
/kernel/trunk/arch/amd64/src/interrupt.c
/kernel/trunk/arch/amd64/src/mm/page.c
/kernel/trunk/arch/amd64/src/pm.c
/kernel/trunk/arch/mips32/src/exception.c
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/tools/amd64/gencontext.c
798 6708 d 3 h decky /kernel/trunk/arch/amd64/src/boot/ fix init_addr virtual address  
/kernel/trunk/arch/amd64/src/boot/boot.S
797 6708 d 6 h palkovsky /kernel/trunk/arch/mips32/ Fixed uspace address constants.  
/kernel/trunk/arch/mips32/Makefile.inc
/kernel/trunk/arch/mips32/src/mips32.c
796 6708 d 7 h palkovsky /kernel/trunk/ Gxemul support for mips userspace. MIPS now _must_ be started
always with userspace, there is (almost) no way how to pass parameters
to kernel.
 
/kernel/trunk/contrib/conf/gxemul.sh
/kernel/trunk/arch/mips32/Makefile.inc
/kernel/trunk/arch/mips32/src/mips32.c
794 6708 d 8 h palkovsky /kernel/trunk/ Added MIPS userspace. Currently can't make it work in gxemul.  
/kernel/trunk/arch/mips32/include/asm/regname.h
/kernel/trunk/arch/mips32/src/exception.c
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/contrib/conf/msim.conf
/kernel/trunk/contrib/conf/spmips.conf
/kernel/trunk/generic/src/main/kinit.c
793 6708 d 9 h jermar /kernel/trunk/ Use hash_table_get_instance instead of list_get_instance.
Rename page_operations to page_mapping_operations.
Rename page_pt_operations to pt_mapping_operations.
Rename page_ht_operations to ht_mapping_operations.
 
/kernel/trunk/arch/amd64/src/mm/page.c
/kernel/trunk/arch/ia32/src/mm/page.c
/kernel/trunk/arch/ia64/src/mm/page.c
/kernel/trunk/arch/mips32/src/mm/page.c
/kernel/trunk/arch/ppc32/src/mm/page.c
/kernel/trunk/arch/sparc64/src/mm/frame.c
/kernel/trunk/arch/sparc64/src/mm/page.c
/kernel/trunk/genarch/include/mm/page_ht.h
/kernel/trunk/genarch/include/mm/page_pt.h
/kernel/trunk/genarch/src/mm/page_ht.c
/kernel/trunk/genarch/src/mm/page_pt.c
/kernel/trunk/generic/include/adt/hash_table.h
/kernel/trunk/generic/include/mm/page.h
/kernel/trunk/generic/src/mm/page.c
792 6708 d 9 h jermar /kernel/trunk/ Page hash table architectures now use generic hash table to manage
mappings.
 
/kernel/trunk/arch/ia64/include/mm/page.h
/kernel/trunk/arch/ia64/include/types.h
/kernel/trunk/arch/ia64/src/mm/page.c
/kernel/trunk/arch/sparc64/include/mm/page.h
/kernel/trunk/arch/sparc64/include/types.h
/kernel/trunk/arch/sparc64/src/mm/frame.c
/kernel/trunk/genarch/include/mm/page_ht.h
/kernel/trunk/genarch/src/mm/as_ht.c
/kernel/trunk/genarch/src/mm/page_ht.c
/kernel/trunk/generic/include/adt/hash_table.h
/kernel/trunk/generic/src/adt/hash_table.c
/kernel/trunk/generic/src/mm/as.c
791 6708 d 22 h palkovsky /kernel/trunk/generic/ better utilization of memory in slab alloc
removed malloc-8 slab
 
/kernel/trunk/generic/include/mm/slab.h
/kernel/trunk/generic/src/mm/slab.c
790 6709 d 2 h jermar /kernel/trunk/ Generic chaining hash table.  
/kernel/trunk/generic/include/adt/hash_table.h
/kernel/trunk/generic/src/adt/hash_table.c
/kernel/trunk/Makefile
/kernel/trunk/generic/include/typedefs.h
789 6709 d 2 h palkovsky /kernel/trunk/generic/ Early SLAB initialization, the cpu-cache is initialized later.
If you want to use slab_cache_create befor slab_cpu_enable, add
a flag SLAB_CACHE_MAGDEFERRED.
 
/kernel/trunk/generic/include/mm/as.h
/kernel/trunk/generic/include/mm/slab.h
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/generic/src/mm/as.c
/kernel/trunk/generic/src/mm/slab.c
788 6709 d 6 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 6709 d 7 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
786 6709 d 8 h bondari /kernel/trunk/ frame_alloc() functions variations in order to avoid problems with frame_alloc_generic() changes.
IMPORTANT: Parameter order for frame_alloc() was changed
 
/kernel/trunk/arch/ia64/src/mm/page.c
/kernel/trunk/genarch/src/mm/as_ht.c
/kernel/trunk/genarch/src/mm/as_pt.c
/kernel/trunk/genarch/src/mm/page_pt.c
/kernel/trunk/generic/include/mm/frame.h
/kernel/trunk/generic/src/cpu/cpu.c
/kernel/trunk/generic/src/mm/as.c
/kernel/trunk/generic/src/mm/frame.c
/kernel/trunk/generic/src/mm/slab.c
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/test/mm/falloc1/test.c
/kernel/trunk/test/mm/falloc2/test.c
/kernel/trunk/test/mm/mapping1/test.c
785 6709 d 9 h jermar /kernel/trunk/generic/src/ Comments clarification.  
/kernel/trunk/generic/src/mm/slab.c
/kernel/trunk/generic/src/proc/scheduler.c
784 6709 d 10 h palkovsky /kernel/trunk/generic/src/proc/ Cleanup of scheduler code  
/kernel/trunk/generic/src/proc/scheduler.c
783 6709 d 10 h palkovsky /kernel/trunk/generic/ Fixed some typos in slab allocator.
Scheduler now has better algorithm on load balancing.
Unfortunately it reveals deadlock in slab allocator :-/
 
/kernel/trunk/generic/include/cpu.h
/kernel/trunk/generic/src/mm/slab.c
/kernel/trunk/generic/src/proc/scheduler.c
/kernel/trunk/generic/src/proc/thread.c
782 6709 d 11 h palkovsky /kernel/trunk/generic/src/mm/ Small locking performance tweak.  
/kernel/trunk/generic/src/mm/slab.c
781 6709 d 22 h palkovsky /kernel/trunk/generic/ Still better locking - does not hold global spinlock when
destroying cache.
 
/kernel/trunk/generic/include/mm/slab.h
/kernel/trunk/generic/src/mm/slab.c
780 6710 d 2 h palkovsky /kernel/trunk/ Small fix in slab allocator for large-sized slabs.  
/kernel/trunk/generic/src/mm/slab.c
/kernel/trunk/test/mm/slab2/test.c
779 6710 d 3 h jermar /kernel/trunk/generic/ Simplify load balancing activation.
This in fact removes the livelock that prevented cpu_sleep() to be called in SMP systems.
 
/kernel/trunk/generic/include/cpu.h
/kernel/trunk/generic/src/cpu/cpu.c
/kernel/trunk/generic/src/proc/scheduler.c
778 6710 d 5 h palkovsky /kernel/trunk/ Fixed boot process not to call malloc when slab not initialized.
Added simics workaround.
 
/kernel/trunk/arch/amd64/Makefile.inc
/kernel/trunk/arch/ia32/Makefile.inc
/kernel/trunk/arch/ia32/src/mm/frame.c
/kernel/trunk/genarch/src/acpi/matd.c
/kernel/trunk/generic/include/mm/as.h
/kernel/trunk/generic/include/mm/frame.h
/kernel/trunk/generic/src/mm/as.c
/kernel/trunk/generic/src/mm/slab.c
/kernel/trunk/kernel.config
777 6710 d 6 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
776 6710 d 9 h palkovsky /kernel/trunk/generic/ Added more granular locking to slab allocator and thus fix
hopefully last race condition.
 
/kernel/trunk/generic/include/mm/slab.h
/kernel/trunk/generic/src/mm/slab.c
775 6710 d 10 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
773 6710 d 22 h palkovsky /kernel/trunk/ Added slab stress test.
Fixed race condition in slab allocator.
Moved initialization of slab to the point where we know correct config.cpu_count
Correctly passes tests on amd64, ia32 in both bochs & qemu.
 
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/generic/src/mm/slab.c
/kernel/trunk/test/mm/slab2/test.c
772 6710 d 23 h palkovsky /kernel/trunk/ Fixed non-initialized cpu-cache.  
/kernel/trunk/generic/include/bitops.h
/kernel/trunk/generic/src/mm/slab.c
/kernel/trunk/test/mm/slab1/test.c
771 6711 d 1 h palkovsky /kernel/trunk/generic/ Implemented malloc/free as SLABs.  
/kernel/trunk/generic/include/bitops.h
/kernel/trunk/generic/include/mm/heap.h
/kernel/trunk/generic/include/mm/slab.h
/kernel/trunk/generic/src/mm/as.c
/kernel/trunk/generic/src/mm/slab.c
770 6711 d 8 h palkovsky /kernel/trunk/generic/include/ Fix context_save, so that it works even with inlines disabled (-O0).  
/kernel/trunk/generic/include/context.h
769 6711 d 21 h palkovsky /kernel/trunk/ SLAB allocator now uses itself for all its internal structures.
Added description of allocator.
Removed messy_stack_trace from amd64, as it would scroll away important
part of exception.
 
/kernel/trunk/arch/amd64/src/interrupt.c
/kernel/trunk/generic/src/mm/slab.c
768 6712 d 0 h palkovsky /kernel/trunk/ Debugged slab allocator. It currently supports per-CPU cache on 1 cpu.  
/kernel/trunk/generic/src/mm/frame.c
/kernel/trunk/generic/src/mm/slab.c
/kernel/trunk/test/mm/slab1/test.c
/kernel/trunk/test/mm/slab2/test.c
767 6712 d 1 h palkovsky /kernel/trunk/ Partially working SLAB CPU cache.  
/kernel/trunk/test/mm/slab2
/kernel/trunk/test/mm/slab2/test.c
/kernel/trunk/generic/include/mm/slab.h
/kernel/trunk/generic/src/mm/slab.c
/kernel/trunk/kernel.config