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
3186 5885 d 19 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 5886 d 18 h jermar /trunk/kernel/generic/src/mm/ cstyle for frame.c  
/trunk/kernel/generic/src/mm/frame.c
3184 5886 d 21 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 5886 d 23 h jermar /trunk/kernel/generic/src/mm/ Avoid easy deadlock while printing slab cache statistics.  
/trunk/kernel/generic/src/mm/slab.c
3182 5886 d 23 h jermar /trunk/kernel/generic/include/mm/ cstyle for slab.h  
/trunk/kernel/generic/include/mm/slab.h
3181 5888 d 2 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 5888 d 4 h jermar /trunk/kernel/generic/src/mm/ cstyle for slab.c  
/trunk/kernel/generic/src/mm/slab.c
3179 5888 d 20 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 5889 d 17 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 5889 d 19 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 5889 d 19 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 5890 d 1 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 5890 d 16 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 5890 d 16 h jermar /trunk/kernel/ Frame pointers will make debugging much easier.  
/trunk/kernel/Makefile
3167 5891 d 3 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 5891 d 16 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 5892 d 16 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 5892 d 16 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 5892 d 16 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 5894 d 2 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 5894 d 2 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 5894 d 5 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 5894 d 16 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 5894 d 21 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 5894 d 21 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 5895 d 0 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 5895 d 0 h jermar /trunk/kernel/arch/ia64/include/ Fix operands for fc_i().  
/trunk/kernel/arch/ia64/include/barrier.h
3139 5895 d 1 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 5895 d 1 h jermar /trunk/kernel/arch/amd64/src/ Formatting fixes for amd64 debugger.  
/trunk/kernel/arch/amd64/src/debugger.c
3137 5895 d 1 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 5895 d 1 h jermar /trunk/kernel/arch/mips32/src/ Maintain cache coherence after mips32 install exception handlers.  
/trunk/kernel/arch/mips32/src/mips32.c
3135 5895 d 2 h jermar /trunk/kernel/arch/arm32/src/ Maintain cache coherence after arm32 installs exception handlers.  
/trunk/kernel/arch/arm32/src/exception.c
3134 5895 d 3 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 5895 d 17 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 5897 d 5 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 5897 d 18 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 5901 d 21 h jermar /trunk/ Simple support for cscope.  
/trunk/Makefile
3119 5901 d 22 h jermar /trunk/uspace/srv/fs/fat/ Initialize in-core FAT root directory node during mount.  
/trunk/uspace/srv/fs/fat/fat_ops.c
3118 5901 d 22 h jermar /trunk/kernel/test/mm/ Fix formatter.  
/trunk/kernel/test/mm/slab1.c
3117 5902 d 0 h svoboda /trunk/uspace/ Make getchar() and tester behave sanely when there's no console.  
/trunk/uspace/app/tester/tester.c
/trunk/uspace/lib/libc/generic/io/stream.c