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
3189 5855 d 20 h jermar /trunk/kernel/arch/ppc32/src/ Implement memcpy_to_uspace_failover_address for ppc32.
This fixes kernel side of ticket #59.
 
/trunk/kernel/arch/ppc32/src/asm.S
3188 5857 d 19 h jermar /trunk/kernel/generic/src/mm/ Finer grained waiting for memory with consideration of the number
of available memory frames.
 
/trunk/kernel/generic/src/mm/frame.c
3187 5857 d 23 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 5857 d 23 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 5858 d 22 h jermar /trunk/kernel/generic/src/mm/ cstyle for frame.c  
/trunk/kernel/generic/src/mm/frame.c
3184 5859 d 2 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 5859 d 3 h jermar /trunk/kernel/generic/src/mm/ Avoid easy deadlock while printing slab cache statistics.  
/trunk/kernel/generic/src/mm/slab.c
3182 5859 d 3 h jermar /trunk/kernel/generic/include/mm/ cstyle for slab.h  
/trunk/kernel/generic/include/mm/slab.h
3181 5860 d 7 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 5860 d 9 h jermar /trunk/kernel/generic/src/mm/ cstyle for slab.c  
/trunk/kernel/generic/src/mm/slab.c
3179 5861 d 0 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
3178 5861 d 22 h jermar /trunk/boot/arch/ia64/loader/gefi/ Remove the ia64 loader's dependency on libgcc. The dependecny would break
builds with the new toolchain.
 
/trunk/boot/arch/ia64/loader/gefi/HelenOS/Makefile
/trunk/boot/arch/ia64/loader/gefi/apps/Makefile
3177 5862 d 0 h jermar /trunk/contrib/toolchain/ Upgrade the toolchain to gcc 4.3.1.
This revealed several bugs fixed in a couple of previous commits.
The ia64 toolchain no longer requires the extra includes.
The ppc32 architecture feels a little bit broken because the console
service doesn't start for some reason.
 
/trunk/contrib/toolchain/toolchain.amd64.sh
/trunk/contrib/toolchain/toolchain.arm32.sh
/trunk/contrib/toolchain/toolchain.ia32.sh
/trunk/contrib/toolchain/toolchain.ia64.sh
/trunk/contrib/toolchain/toolchain.mipseb32.sh
/trunk/contrib/toolchain/toolchain.mipsel32.sh
/trunk/contrib/toolchain/toolchain.ppc32.sh
/trunk/contrib/toolchain/toolchain.ppc64.sh
/trunk/contrib/toolchain/toolchain.sparc64.sh
3176 5862 d 0 h jermar /trunk/contrib/conf/ Remove outdated sample configuration files or configuration files that
are strongly inspired by Simics configuration files.
 
/trunk/contrib/conf/HelenOS.amd64.simics
/trunk/contrib/conf/HelenOS.ppc32.simics
/trunk/contrib/conf/HelenOS.sparc64.simics
/trunk/contrib/conf/SPMIPS.simics
/trunk/contrib/conf/dot.bochsrc
/trunk/contrib/conf/simics.conf
/trunk/contrib/conf/spmips.conf
/trunk/contrib/conf/vmware.conf
3175 5862 d 5 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 5862 d 20 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 5862 d 20 h jermar /trunk/kernel/ Frame pointers will make debugging much easier.  
/trunk/kernel/Makefile
3167 5863 d 8 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 5863 d 20 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 5864 d 20 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 5864 d 20 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 5864 d 20 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
3147 5866 d 6 h jermar /trunk/boot/arch/ Add TODO comments to arm32 and mips32 loaders saying that caches must be put
into the coherent state before passing control to the kernel.
 
/trunk/boot/arch/arm32/loader/boot.S
/trunk/boot/arch/mips32/loader/asm.S
3146 5866 d 7 h jermar /trunk/boot/arch/sparc64/loader/ Don't make any assumptions about the contents of the I-cache in sparc64
loader and before passing control to the kernel, invalidate the I-cache.
 
/trunk/boot/arch/sparc64/loader/asm.S
/trunk/boot/arch/sparc64/loader/ofwarch.c
3145 5866 d 9 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
3144 5866 d 21 h jermar /trunk/boot/arch/sparc64/loader/ Issue a sparc64 write barrier before passing control from the loader to
the kernel.
 
/trunk/boot/arch/sparc64/loader/asm.S
3143 5867 d 1 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 5867 d 2 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 5867 d 5 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 5867 d 5 h jermar /trunk/kernel/arch/ia64/include/ Fix operands for fc_i().  
/trunk/kernel/arch/ia64/include/barrier.h
3139 5867 d 5 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 5867 d 6 h jermar /trunk/kernel/arch/amd64/src/ Formatting fixes for amd64 debugger.  
/trunk/kernel/arch/amd64/src/debugger.c
3137 5867 d 6 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 5867 d 6 h jermar /trunk/kernel/arch/mips32/src/ Maintain cache coherence after mips32 install exception handlers.  
/trunk/kernel/arch/mips32/src/mips32.c
3135 5867 d 6 h jermar /trunk/kernel/arch/arm32/src/ Maintain cache coherence after arm32 installs exception handlers.  
/trunk/kernel/arch/arm32/src/exception.c
3134 5867 d 7 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 5867 d 21 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 5869 d 10 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 5869 d 23 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
3120 5874 d 2 h jermar /trunk/ Simple support for cscope.  
/trunk/Makefile