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
3194 5857 d 8 h jermar /trunk/kernel/generic/src/console/ Remove left-over debugging stuff.  
/trunk/kernel/generic/src/console/kconsole.c
3193 5858 d 0 h jermar /trunk/kernel/ cstyle fixes  
/trunk/kernel/arch/ppc32/src/mm/page.c
/trunk/kernel/arch/ppc32/src/mm/tlb.c
/trunk/kernel/generic/src/console/kconsole.c
/trunk/kernel/generic/src/main/main.c
3189 5862 d 22 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 5864 d 21 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 5865 d 1 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 5865 d 1 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 5866 d 1 h jermar /trunk/kernel/generic/src/mm/ cstyle for frame.c  
/trunk/kernel/generic/src/mm/frame.c
3184 5866 d 4 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 5866 d 6 h jermar /trunk/kernel/generic/src/mm/ Avoid easy deadlock while printing slab cache statistics.  
/trunk/kernel/generic/src/mm/slab.c
3182 5866 d 6 h jermar /trunk/kernel/generic/include/mm/ cstyle for slab.h  
/trunk/kernel/generic/include/mm/slab.h
3181 5867 d 9 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 5867 d 11 h jermar /trunk/kernel/generic/src/mm/ cstyle for slab.c  
/trunk/kernel/generic/src/mm/slab.c
3179 5868 d 3 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 5869 d 0 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 5869 d 2 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 5869 d 2 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 5869 d 8 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 5869 d 23 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 5869 d 23 h jermar /trunk/kernel/ Frame pointers will make debugging much easier.  
/trunk/kernel/Makefile
3167 5870 d 10 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 5870 d 23 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 5871 d 22 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 5871 d 23 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 5871 d 23 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 5873 d 9 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 5873 d 9 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 5873 d 12 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 5873 d 23 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 5874 d 4 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 5874 d 4 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 5874 d 7 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 5874 d 7 h jermar /trunk/kernel/arch/ia64/include/ Fix operands for fc_i().  
/trunk/kernel/arch/ia64/include/barrier.h
3139 5874 d 8 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 5874 d 8 h jermar /trunk/kernel/arch/amd64/src/ Formatting fixes for amd64 debugger.  
/trunk/kernel/arch/amd64/src/debugger.c
3137 5874 d 8 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 5874 d 8 h jermar /trunk/kernel/arch/mips32/src/ Maintain cache coherence after mips32 install exception handlers.  
/trunk/kernel/arch/mips32/src/mips32.c
3135 5874 d 8 h jermar /trunk/kernel/arch/arm32/src/ Maintain cache coherence after arm32 installs exception handlers.  
/trunk/kernel/arch/arm32/src/exception.c
3134 5874 d 10 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 5875 d 0 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 5876 d 12 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