Subversion Repositories HelenOS

Rev

Go to most recent revision | Hide changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
3187 5876 d 8 h jermar /trunk/kernel/generic/src/mm/ Get rid of the infamous "Sleep not implemented" panic during low memory
condition. Use a condition variable to implement the sleep. As of now, the
condition is rather coarse and can cause that threads may sleep unnecessarily.
Needs to be fine tuned and based on the amount of memory available.
 
/trunk/kernel/generic/src/mm/frame.c
3186 5876 d 8 h jermar /trunk/kernel/ Support for active mutexes. Active mutexes implement busy waiting, pretty much
in the same way as spinlocks, but can be passed to condition variables, which is
the motivation for this enhancement.
 
/trunk/kernel/genarch/src/mm/as_ht.c
/trunk/kernel/generic/include/synch/mutex.h
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/mm/as.c
/trunk/kernel/generic/src/proc/task.c
/trunk/kernel/generic/src/synch/condvar.c
/trunk/kernel/generic/src/synch/mutex.c
/trunk/kernel/generic/src/synch/rwlock.c
/trunk/kernel/test/mm/slab2.c
3185 5877 d 7 h jermar /trunk/kernel/generic/src/mm/ cstyle for frame.c  
/trunk/kernel/generic/src/mm/frame.c
3184 5877 d 11 h jermar /trunk/kernel/generic/src/ipc/ Fix a scary two-year old bug: do not attempt to initialize a call structure if
its allocation failed.
 
/trunk/kernel/generic/src/ipc/ipc.c
3183 5877 d 12 h jermar /trunk/kernel/generic/src/mm/ Avoid easy deadlock while printing slab cache statistics.  
/trunk/kernel/generic/src/mm/slab.c
3182 5877 d 12 h jermar /trunk/kernel/generic/include/mm/ cstyle for slab.h  
/trunk/kernel/generic/include/mm/slab.h
3181 5878 d 16 h jermar /trunk/kernel/generic/src/ cstyle for kinit.c and scheduler.c  
/trunk/kernel/generic/src/main/kinit.c
/trunk/kernel/generic/src/proc/scheduler.c
3180 5878 d 18 h jermar /trunk/kernel/generic/src/mm/ cstyle for slab.c  
/trunk/kernel/generic/src/mm/slab.c
3179 5879 d 9 h jermar /trunk/kernel/ Introduce the notion of FPU_NO_CFLAGS and separate building of test/fpu
objects and building the rest of kernel objects. Now, amd64 and ia32 can
enable things such as SSE selectively for the test/fpu/*.
 
/trunk/kernel/Makefile
/trunk/kernel/arch/amd64/Makefile.inc
/trunk/kernel/arch/ia32/Makefile.inc
3175 5880 d 14 h jermar /trunk/kernel/generic/src/main/ Don't print anything before the kernel initializes the first THE
structure. This fixes a regression introduced in r3061. If anything
worked from r3061 until now, it was only due to luck. arm32 was not
that lucky when built with gcc 4.3.1.
 
/trunk/kernel/generic/src/main/main.c
3173 5881 d 5 h jermar /trunk/kernel/arch/ia32/ Don't build the ia32 kernel with MMX/SSE/3DNOW enabled. This was causing
problems with gcc 4.3.1 which generated MMX aided code in a context that
didn't allow this.
 
/trunk/kernel/arch/ia32/Makefile.inc
3172 5881 d 5 h jermar /trunk/kernel/ Frame pointers will make debugging much easier.  
/trunk/kernel/Makefile
3167 5881 d 17 h svoboda /trunk/kernel/arch/mips32/include/ Fix mips32 atomic_add() which would break build unless a constant was propagated into the second argument. (Specifically at -O0)  
/trunk/kernel/arch/mips32/include/atomic.h
3165 5882 d 5 h jermar /trunk/kernel/test/avltree/ Fix an off-by-one bug in avltree1 test and also declare an unused static
function as used. These two bugs were breaking building by gcc 4.3.1.
 
/trunk/kernel/test/avltree/avltree1.c
3164 5883 d 5 h jermar /trunk/ First argument of atomic functions is read-write (ia32).  
/trunk/kernel/arch/ia32/include/atomic.h
/trunk/uspace/lib/libc/arch/ia32/include/atomic.h
3163 5883 d 5 h jermar /trunk/ First argument to atomic functions is read-write (amd64).  
/trunk/kernel/arch/amd64/include/atomic.h
/trunk/uspace/lib/libc/arch/amd64/include/atomic.h
3162 5883 d 5 h jermar /trunk/ The first argument to atomic_add() is read-write. (mips32)  
/trunk/kernel/arch/mips32/include/atomic.h
/trunk/uspace/lib/libc/arch/mips32/include/atomic.h
3145 5884 d 18 h jermar /trunk/kernel/arch/sparc64/include/ On sparc64, when the operand to the FLUSH instruction doesn't matter, the
instruction's semantics is to flush the pipeline.
 
/trunk/kernel/arch/sparc64/include/barrier.h
/trunk/kernel/arch/sparc64/include/mm/tlb.h
3143 5885 d 10 h svoboda /trunk/kernel/ Implement smc_coherence[_block]() for ppc32  
/trunk/kernel/arch/ppc32/include/barrier.h
/trunk/kernel/generic/src/mm/backend_elf.c
3142 5885 d 11 h svoboda /trunk/kernel/generic/src/mm/ Fix build when smc_coherence_block() is defined as an empty macro  
/trunk/kernel/generic/src/mm/backend_elf.c
3141 5885 d 14 h jermar /trunk/kernel/generic/src/mm/ Maintain cache coherence when the ELF backend duplicates a frame from an
executable segment.
 
/trunk/kernel/generic/src/mm/backend_elf.c
3140 5885 d 14 h jermar /trunk/kernel/arch/ia64/include/ Fix operands for fc_i().  
/trunk/kernel/arch/ia64/include/barrier.h
3139 5885 d 15 h jermar /trunk/kernel/arch/mips32/src/ Maintain cache coherence when setting breakpoints in kconsole on mips32.  
/trunk/kernel/arch/mips32/src/debugger.c
3138 5885 d 15 h jermar /trunk/kernel/arch/amd64/src/ Formatting fixes for amd64 debugger.  
/trunk/kernel/arch/amd64/src/debugger.c
3137 5885 d 15 h jermar /trunk/kernel/generic/src/proc/ Maintain cache coherence after sys_task_spawn() copies ELF image from user space.  
/trunk/kernel/generic/src/proc/task.c
3136 5885 d 15 h jermar /trunk/kernel/arch/mips32/src/ Maintain cache coherence after mips32 install exception handlers.  
/trunk/kernel/arch/mips32/src/mips32.c
3135 5885 d 15 h jermar /trunk/kernel/arch/arm32/src/ Maintain cache coherence after arm32 installs exception handlers.  
/trunk/kernel/arch/arm32/src/exception.c
3134 5885 d 16 h jermar /trunk/kernel/arch/ Add smc_coherence_block().  
/trunk/kernel/arch/arm32/include/barrier.h
/trunk/kernel/arch/ia32/include/barrier.h
/trunk/kernel/arch/ia64/include/barrier.h
/trunk/kernel/arch/mips32/include/barrier.h
/trunk/kernel/arch/ppc32/include/barrier.h
/trunk/kernel/arch/ppc64/include/barrier.h
/trunk/kernel/arch/sparc64/include/barrier.h
3133 5886 d 6 h jermar /trunk/kernel/arch/ Add smc_coherence() macro to all architectures.
So far, only amd64, ia32, ia64 and sparc64 are implemented.
 
/trunk/kernel/arch/sparc64/include/mm/cache_spec.h
/trunk/kernel/arch/arm32/include/barrier.h
/trunk/kernel/arch/ia32/include/barrier.h
/trunk/kernel/arch/ia64/include/barrier.h
/trunk/kernel/arch/mips32/include/barrier.h
/trunk/kernel/arch/ppc32/include/barrier.h
/trunk/kernel/arch/ppc64/include/barrier.h
/trunk/kernel/arch/sparc64/include/barrier.h
/trunk/kernel/arch/sparc64/include/mm/tlb.h
/trunk/kernel/arch/sparc64/src/mm/cache.S
3130 5887 d 19 h jermar /trunk/kernel/generic/src/mm/ Add a comment explaining the reason for a memory barrier after page table update in detail.  
/trunk/kernel/generic/src/mm/page.c
3128 5888 d 8 h jermar /trunk/kernel/generic/src/mm/ Issue a memory barrier after modifying a page table mapping in order to
prevent memory prefetching.
 
/trunk/kernel/generic/src/mm/page.c
3118 5892 d 12 h jermar /trunk/kernel/test/mm/ Fix formatter.  
/trunk/kernel/test/mm/slab1.c
3113 5893 d 3 h decky /trunk/kernel/generic/ rename SYS_IO to SYS_KLOG
do not notify uspace klog with every single character, introduce some latency
 
/trunk/kernel/generic/include/syscall/syscall.h
/trunk/kernel/generic/src/console/console.c
/trunk/kernel/generic/src/syscall/syscall.c
3105 5893 d 19 h svoboda /trunk/kernel/ Revert accidental change of Makefile  
/trunk/kernel/Makefile
3104 5893 d 19 h svoboda /trunk/kernel/ Declare arguments for memstr.h operations as pointers instead of uintptr_t.  
/trunk/kernel/Makefile
/trunk/kernel/arch/amd64/include/memstr.h
/trunk/kernel/arch/amd64/src/pm.c
/trunk/kernel/arch/arm32/include/memstr.h
/trunk/kernel/arch/ia32/include/memstr.h
/trunk/kernel/arch/ia32/src/drivers/ega.c
/trunk/kernel/arch/ia32/src/pm.c
/trunk/kernel/arch/ia32/src/smp/smp.c
/trunk/kernel/arch/ia32xen/src/ia32xen.c
/trunk/kernel/arch/ia32xen/src/pm.c
/trunk/kernel/arch/ia32xen/src/smp/smp.c
/trunk/kernel/arch/ia64/include/memstr.h
/trunk/kernel/arch/ia64/src/drivers/ega.c
/trunk/kernel/arch/ia64/src/mm/vhpt.c
/trunk/kernel/arch/mips32/include/memstr.h
/trunk/kernel/arch/ppc32/include/memstr.h
/trunk/kernel/arch/ppc64/include/memstr.h
/trunk/kernel/arch/ppc64/src/mm/page.c
/trunk/kernel/arch/sparc64/include/memstr.h
/trunk/kernel/arch/sparc64/src/mm/as.c
/trunk/kernel/genarch/src/mm/as_pt.c
/trunk/kernel/genarch/src/mm/page_pt.c
/trunk/kernel/generic/include/memstr.h
/trunk/kernel/generic/src/adt/hash_table.c
/trunk/kernel/generic/src/cpu/cpu.c
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/lib/memstr.c
/trunk/kernel/generic/src/lib/objc_ext.c
/trunk/kernel/generic/src/mm/as.c
/trunk/kernel/generic/src/mm/backend_anon.c
/trunk/kernel/generic/src/mm/backend_elf.c
/trunk/kernel/generic/src/mm/slab.c
/trunk/kernel/generic/src/proc/thread.c
/trunk/kernel/test/mm/falloc2.c
/trunk/kernel/test/mm/slab1.c
/trunk/kernel/test/mm/slab2.c
3098 5895 d 7 h svoboda /trunk/ Make mips32 compile again  
/trunk/kernel/arch/mips32/include/types.h
/trunk/kernel/generic/include/typedefs.h
/trunk/uspace/lib/libc/arch/mips32/src/entry.s
3097 5895 d 7 h decky /trunk/kernel/ resurrect klog  
/trunk/kernel/arch/ia32/src/smp/ap.S
/trunk/kernel/generic/include/console/console.h
/trunk/kernel/generic/src/console/console.c
/trunk/kernel/generic/src/main/main.c
/trunk/kernel/generic/src/syscall/syscall.c
3096 5895 d 8 h svoboda /trunk/kernel/generic/src/syscall/ Fix malloc(0) in sys_io()  
/trunk/kernel/generic/src/syscall/syscall.c
3095 5895 d 8 h svoboda /trunk/ Make ia64 compile again.  
/trunk/kernel/arch/ia64/include/types.h
/trunk/uspace/lib/libc/arch/ia64/src/entry.s
3094 5895 d 8 h svoboda /trunk/ Make arm32 compile again.  
/trunk/kernel/arch/arm32/Makefile.inc
/trunk/kernel/arch/arm32/include/types.h
/trunk/kernel/arch/arm32/src/mm/page_fault.c
/trunk/uspace/lib/libc/arch/arm32/src/entry.s