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
3222 5862 d 7 h svoboda /trunk/ Merge program-loader related stuff from dynload branch to trunk. (huge)  
/trunk/kernel/generic/include/proc/program.h
/trunk/kernel/generic/include/synch/smc.h
/trunk/kernel/generic/src/proc/program.c
/trunk/kernel/generic/src/synch/smc.c
/trunk/uspace/app/cli
/trunk/uspace/app/cli/Makefile
/trunk/uspace/app/cli/cli.c
/trunk/uspace/lib/libc/generic/pcb.c
/trunk/uspace/lib/libc/generic/smc.c
/trunk/uspace/lib/libc/include/ipc/loader.h
/trunk/uspace/lib/libc/include/loader
/trunk/uspace/lib/libc/include/loader/pcb.h
/trunk/uspace/lib/libc/include/smc.h
/trunk/uspace/srv/loader
/trunk/uspace/srv/loader/Makefile
/trunk/uspace/srv/loader/arch
/trunk/uspace/srv/loader/arch/amd64
/trunk/uspace/srv/loader/arch/amd64/Makefile.inc
/trunk/uspace/srv/loader/arch/amd64/_link.ld.in
/trunk/uspace/srv/loader/arch/amd64/amd64.s
/trunk/uspace/srv/loader/arch/arm32
/trunk/uspace/srv/loader/arch/arm32/Makefile.inc
/trunk/uspace/srv/loader/arch/arm32/_link.ld.in
/trunk/uspace/srv/loader/arch/arm32/arm32.s
/trunk/uspace/srv/loader/arch/ia32
/trunk/uspace/srv/loader/arch/ia32/Makefile.inc
/trunk/uspace/srv/loader/arch/ia32/_link.ld.in
/trunk/uspace/srv/loader/arch/ia32/ia32.s
/trunk/uspace/srv/loader/arch/ia64
/trunk/uspace/srv/loader/arch/ia64/Makefile.inc
/trunk/uspace/srv/loader/arch/ia64/_link.ld.in
/trunk/uspace/srv/loader/arch/ia64/ia64.s
/trunk/uspace/srv/loader/arch/mips32
/trunk/uspace/srv/loader/arch/mips32/Makefile.inc
/trunk/uspace/srv/loader/arch/mips32/_link.ld.in
/trunk/uspace/srv/loader/arch/mips32/mips32.s
/trunk/uspace/srv/loader/arch/ppc32
/trunk/uspace/srv/loader/arch/ppc32/Makefile.inc
/trunk/uspace/srv/loader/arch/ppc32/_link.ld.in
/trunk/uspace/srv/loader/arch/ppc32/ppc32.s
/trunk/uspace/srv/loader/arch/sparc64
/trunk/uspace/srv/loader/arch/sparc64/Makefile.inc
/trunk/uspace/srv/loader/arch/sparc64/_link.ld.in
/trunk/uspace/srv/loader/arch/sparc64/sparc64.s
/trunk/uspace/srv/loader/elf_load.c
/trunk/uspace/srv/loader/include
/trunk/uspace/srv/loader/include/arch.h
/trunk/uspace/srv/loader/include/elf.h
/trunk/uspace/srv/loader/include/elf_load.h
/trunk/uspace/srv/loader/interp.s
/trunk/uspace/srv/loader/main.c
/trunk/boot/arch/amd64/Makefile.inc
/trunk/boot/arch/amd64/grub/menu.lst
/trunk/boot/arch/arm32/loader/Makefile
/trunk/boot/arch/ia32/Makefile.inc
/trunk/boot/arch/ia32/grub/menu.lst
/trunk/boot/arch/ia64/loader/Makefile
/trunk/boot/arch/mips32/loader/Makefile
/trunk/boot/arch/ppc32/loader/Makefile
/trunk/boot/arch/sparc64/loader/Makefile
/trunk/kernel/Makefile
/trunk/kernel/arch/amd64/src/userspace.c
/trunk/kernel/arch/arm32/src/userspace.c
/trunk/kernel/arch/ia32/src/userspace.c
/trunk/kernel/arch/ia32xen/src/userspace.c
/trunk/kernel/arch/ia64/src/asm.S
/trunk/kernel/arch/mips32/src/start.S
/trunk/kernel/arch/ppc32/src/asm.S
/trunk/kernel/arch/ppc64/src/asm.S
/trunk/kernel/arch/sparc64/src/asm.S
/trunk/kernel/generic/include/lib/elf.h
/trunk/kernel/generic/include/mm/as.h
/trunk/kernel/generic/include/proc/task.h
/trunk/kernel/generic/include/proc/thread.h
/trunk/kernel/generic/include/syscall/syscall.h
/trunk/kernel/generic/src/lib/elf.c
/trunk/kernel/generic/src/main/kinit.c
/trunk/kernel/generic/src/mm/as.c
/trunk/kernel/generic/src/proc/task.c
/trunk/kernel/generic/src/proc/thread.c
/trunk/kernel/generic/src/syscall/syscall.c
/trunk/uspace/Makefile
/trunk/uspace/app/init/init.c
/trunk/uspace/app/tester/tester.c
/trunk/uspace/lib/libc/Makefile
/trunk/uspace/lib/libc/arch/amd64/src/entry.s
/trunk/uspace/lib/libc/arch/arm32/src/entry.s
/trunk/uspace/lib/libc/arch/ia32/src/entry.s
/trunk/uspace/lib/libc/arch/ia64/src/entry.s
/trunk/uspace/lib/libc/arch/mips32/src/entry.s
/trunk/uspace/lib/libc/arch/ppc32/src/entry.s
/trunk/uspace/lib/libc/arch/ppc64/src/entry.s
/trunk/uspace/lib/libc/arch/sparc64/src/entry.s
/trunk/uspace/lib/libc/generic/as.c
/trunk/uspace/lib/libc/generic/io/stream.c
/trunk/uspace/lib/libc/generic/libc.c
/trunk/uspace/lib/libc/generic/task.c
/trunk/uspace/lib/libc/include/as.h
/trunk/uspace/lib/libc/include/io/stream.h
/trunk/uspace/lib/libc/include/libc.h
/trunk/uspace/lib/libc/include/task.h
3209 5864 d 2 h jermar /trunk/kernel/arch/ia32/src/smp/ Allocate AP's GDT from first 4 GiB.  
/trunk/kernel/arch/ia32/src/smp/smp.c
3208 5864 d 3 h jermar /trunk/kernel/generic/ The real intention of the previous commit was to put the boundary
on 4 GiB, not 16 GiB.
 
/trunk/kernel/generic/include/mm/frame.h
/trunk/kernel/generic/src/mm/frame.c
3207 5864 d 3 h jermar /trunk/kernel/generic/ Introduce FRAME_LOW_16_GiB slab/frame allocator flag. When specified, the
allocators will not allocate memory above 16 GiB. Each architecture needs to
make sure not to merge zones from below and above 16 GiB. Allocations that
require memory below 16 GiB need to be altered to use this flag.
 
/trunk/kernel/generic/include/mm/frame.h
/trunk/kernel/generic/src/mm/frame.c
3206 5864 d 4 h jermar /trunk/kernel/generic/ Avoid deadlock during the 'zone n' kconsole command. Buddy allocator detail is
no longer printed because the effort to avoid the deadlock was simply not worth
it.
 
/trunk/kernel/generic/include/mm/buddy.h
/trunk/kernel/generic/src/mm/buddy.c
/trunk/kernel/generic/src/mm/frame.c
3205 5864 d 6 h jermar /trunk/kernel/generic/src/mm/ Fix deadlock in the 'zones' kconsole command.  
/trunk/kernel/generic/src/mm/frame.c
3200 5867 d 10 h svoboda /trunk/kernel/arch/ppc32/src/ Remove buggy assembler memsetb function, call generic C _memsetb instead. Fixes kconsole panic when uspace klog is enabled and memsetb() called from klog_update()  
/trunk/kernel/arch/ppc32/src/asm.S
3198 5869 d 3 h svoboda /trunk/ Use initrd with mips32 port. Increase memory size.  
/trunk/boot/arch/mips32/loader/Makefile
/trunk/kernel/generic/include/config.h
3194 5869 d 11 h jermar /trunk/kernel/generic/src/console/ Remove left-over debugging stuff.  
/trunk/kernel/generic/src/console/kconsole.c
3193 5870 d 2 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 5875 d 1 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 5877 d 0 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 5877 d 4 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 5877 d 4 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 5878 d 3 h jermar /trunk/kernel/generic/src/mm/ cstyle for frame.c  
/trunk/kernel/generic/src/mm/frame.c
3184 5878 d 7 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 5878 d 8 h jermar /trunk/kernel/generic/src/mm/ Avoid easy deadlock while printing slab cache statistics.  
/trunk/kernel/generic/src/mm/slab.c
3182 5878 d 8 h jermar /trunk/kernel/generic/include/mm/ cstyle for slab.h  
/trunk/kernel/generic/include/mm/slab.h
3181 5879 d 12 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 5879 d 13 h jermar /trunk/kernel/generic/src/mm/ cstyle for slab.c  
/trunk/kernel/generic/src/mm/slab.c
3179 5880 d 5 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 5881 d 10 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 5882 d 1 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 5882 d 1 h jermar /trunk/kernel/ Frame pointers will make debugging much easier.  
/trunk/kernel/Makefile
3167 5882 d 13 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 5883 d 1 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 5884 d 1 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 5884 d 1 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 5884 d 1 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 5885 d 14 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 5886 d 6 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 5886 d 7 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 5886 d 10 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 5886 d 10 h jermar /trunk/kernel/arch/ia64/include/ Fix operands for fc_i().  
/trunk/kernel/arch/ia64/include/barrier.h
3139 5886 d 10 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 5886 d 11 h jermar /trunk/kernel/arch/amd64/src/ Formatting fixes for amd64 debugger.  
/trunk/kernel/arch/amd64/src/debugger.c
3137 5886 d 11 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 5886 d 11 h jermar /trunk/kernel/arch/mips32/src/ Maintain cache coherence after mips32 install exception handlers.  
/trunk/kernel/arch/mips32/src/mips32.c
3135 5886 d 11 h jermar /trunk/kernel/arch/arm32/src/ Maintain cache coherence after arm32 installs exception handlers.  
/trunk/kernel/arch/arm32/src/exception.c
3134 5886 d 12 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