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
3451 5804 d 11 h jermar /trunk/kernel/generic/src/console/ Rename kconsole's 'ipc_task' command to 'ipc'.  
/trunk/kernel/generic/src/console/cmd.c
3449 5804 d 11 h jermar /trunk/kernel/generic/src/ipc/ Fix task active call accounting for IPC_M_HUNGUP calls.  
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/ipc/sysipc.c
3445 5805 d 11 h jermar /trunk/kernel/ Rename ipc/ipc_kbox.c to ipc/kbox.c.  
/trunk/kernel/generic/src/ipc/kbox.c
/trunk/kernel/generic/src/ipc/ipc_kbox.c
/trunk/kernel/Makefile
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/ipc/sysipc.c
3441 5805 d 18 h svoboda /trunk/kernel/generic/src/ Use LOG() instead of printf() for debug messages.  
/trunk/kernel/generic/src/ipc/ipc_kbox.c
/trunk/kernel/generic/src/ipc/sysipc.c
/trunk/kernel/generic/src/udebug/udebug.c
/trunk/kernel/generic/src/udebug/udebug_ipc.c
/trunk/kernel/generic/src/udebug/udebug_ops.c
3438 5805 d 19 h svoboda /trunk/ Merge syscall tracer (trace) and relevant part of udebug interface from tracing to trunk.  
/trunk/kernel/generic/include/ipc/ipc_kbox.h
/trunk/kernel/generic/include/udebug
/trunk/kernel/generic/include/udebug/udebug.h
/trunk/kernel/generic/include/udebug/udebug_ipc.h
/trunk/kernel/generic/include/udebug/udebug_ops.h
/trunk/kernel/generic/src/ipc/ipc_kbox.c
/trunk/kernel/generic/src/udebug
/trunk/kernel/generic/src/udebug/udebug.c
/trunk/kernel/generic/src/udebug/udebug_ipc.c
/trunk/kernel/generic/src/udebug/udebug_ops.c
/trunk/uspace/app/trace
/trunk/uspace/app/trace/Makefile
/trunk/uspace/app/trace/errors.c
/trunk/uspace/app/trace/errors.h
/trunk/uspace/app/trace/ipc_desc.c
/trunk/uspace/app/trace/ipc_desc.h
/trunk/uspace/app/trace/ipcp.c
/trunk/uspace/app/trace/ipcp.h
/trunk/uspace/app/trace/proto.c
/trunk/uspace/app/trace/proto.h
/trunk/uspace/app/trace/syscalls.c
/trunk/uspace/app/trace/syscalls.h
/trunk/uspace/app/trace/trace.c
/trunk/uspace/lib/libc/generic/udebug.c
/trunk/uspace/lib/libc/include/udebug.h
/trunk/boot/arch/amd64/Makefile.inc
/trunk/boot/arch/arm32/loader/Makefile
/trunk/boot/arch/ia32/Makefile.inc
/trunk/boot/arch/ia64/loader/Makefile
/trunk/boot/arch/mips32/loader/Makefile
/trunk/boot/arch/ppc32/loader/Makefile
/trunk/boot/arch/ppc64/loader/Makefile
/trunk/kernel/Makefile
/trunk/kernel/generic/include/ipc/ipc.h
/trunk/kernel/generic/include/ipc/sysipc.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/ipc/ipc.c
/trunk/kernel/generic/src/ipc/sysipc.c
/trunk/kernel/generic/src/main/uinit.c
/trunk/kernel/generic/src/proc/task.c
/trunk/kernel/generic/src/proc/thread.c
/trunk/kernel/generic/src/syscall/syscall.c
/trunk/kernel/kernel.config
/trunk/uspace/Makefile
/trunk/uspace/lib/libc/Makefile
/trunk/uspace/lib/libc/generic/ipc.c
/trunk/uspace/lib/libc/include/ipc/ipc.h
3422 5808 d 10 h jermar /trunk/kernel/generic/src/mm/ as_area_resize() should use as instead of AS.  
/trunk/kernel/generic/src/mm/as.c
3404 5808 d 21 h jermar /trunk/kernel/generic/src/lib/ cstyle  
/trunk/kernel/generic/src/lib/memstr.c
3395 5813 d 12 h jermar /trunk/kernel/generic/ Kernel's ipc_data_t and uspace's ipc_call_t must be in sync.

This commit fixes a problem introduced in revision 3362, when
ipc_data_t was enlarged by the caller_phone member. This resulted
in sys_ipc_wait_for_call() passing larger structure to uspace
than requested, leading to a random damage of userspace memory.
 
/trunk/kernel/generic/include/ipc/ipc.h
/trunk/kernel/generic/src/ipc/ipc.c
3394 5814 d 10 h jermar /trunk/kernel/generic/src/ipc/ cstyle for ipc.c  
/trunk/kernel/generic/src/ipc/ipc.c
3384 5820 d 13 h jermar /trunk/kernel/generic/src/mm/ cstyle  
/trunk/kernel/generic/src/mm/as.c
3383 5820 d 22 h svoboda /trunk/kernel/generic/src/mm/ Fix panic caused by not setting new area flags in as_area_change_flags(), as pointed out by Jakub.  
/trunk/kernel/generic/src/mm/as.c
3382 5821 d 10 h jermar /trunk/kernel/generic/src/mm/ Fix the rare case when the anon or ELF backend uses PFN 0 for mapping.  
/trunk/kernel/generic/src/mm/backend_anon.c
/trunk/kernel/generic/src/mm/backend_elf.c
3370 5826 d 11 h jermar /trunk/kernel/generic/ Synchronous IPC must be interruptible.  
/trunk/kernel/generic/include/errno.h
/trunk/kernel/generic/include/ipc/ipc.h
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/ipc/sysipc.c
3363 5829 d 13 h jermar /trunk/kernel/generic/src/ipc/ Demasquerade the caller phone during ipc_answer_n() rather than in
ipc_wait_for_call().
 
/trunk/kernel/generic/src/ipc/ipc.c
3362 5829 d 13 h jermar /trunk/kernel/generic/ Fix processing of answers to forwarded masqueraded calls.  
/trunk/kernel/generic/include/ipc/ipc.h
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/ipc/ipcrsc.c
/trunk/kernel/generic/src/main/kinit.c
3359 5829 d 21 h jermar /trunk/kernel/generic/src/proc/ Improve comments in task.c  
/trunk/kernel/generic/src/proc/task.c
3332 5837 d 18 h jermar /trunk/kernel/generic/src/ipc/ Fix types when processing IPC_M_DATA_WRITE arguments.  
/trunk/kernel/generic/src/ipc/sysipc.c
3274 5843 d 16 h jermar /trunk/ memcpy(), memmove() and similar functions return dst instead of src.
Fix all implementations, including those in assembly. ppc32 assembly
version didn't seem to be affected by this.
 
/trunk/boot/arch/arm32/loader/asm.S
/trunk/boot/arch/mips32/loader/asm.S
/trunk/boot/arch/sparc64/loader/asm.S
/trunk/kernel/arch/amd64/src/asm_utils.S
/trunk/kernel/arch/arm32/src/asm.S
/trunk/kernel/arch/ia32/src/asm.S
/trunk/kernel/arch/ia32xen/src/asm.S
/trunk/kernel/arch/ia64/src/asm.S
/trunk/kernel/arch/mips32/src/asm.S
/trunk/kernel/arch/sparc64/src/asm.S
/trunk/kernel/generic/src/lib/memstr.c
/trunk/uspace/lib/libc/generic/string.c
3246 5847 d 13 h jermar /trunk/ cstyle  
/trunk/kernel/generic/src/lib/rd.c
/trunk/uspace/lib/libc/generic/vfs/vfs.c
3240 5853 d 21 h decky / move unfinished ObjC support to a separate branch  
/branches/cs
/trunk/kernel/generic/include/lib/objc.h
/trunk/kernel/generic/include/lib/objc_ext.h
/trunk/kernel/generic/src/lib/objc.c
/trunk/kernel/generic/src/lib/objc_ext.c
/trunk/kernel/Makefile
/trunk/kernel/arch/ia32/src/mm/as.c
/trunk/kernel/genarch/include/mm/page_pt.h
/trunk/kernel/genarch/src/mm/as_pt.c
/trunk/kernel/generic/include/mm/as.h
/trunk/kernel/generic/src/mm/as.c
/trunk/kernel/kernel.config
3225 5859 d 21 h jermar /trunk/kernel/generic/src/sysinfo/ Check the validity of the 'len' argument for sysinfo syscalls.  
/trunk/kernel/generic/src/sysinfo/sysinfo.c
3222 5876 d 16 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
3208 5878 d 11 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 5878 d 12 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 5878 d 13 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 5878 d 15 h jermar /trunk/kernel/generic/src/mm/ Fix deadlock in the 'zones' kconsole command.  
/trunk/kernel/generic/src/mm/frame.c
3194 5883 d 20 h jermar /trunk/kernel/generic/src/console/ Remove left-over debugging stuff.  
/trunk/kernel/generic/src/console/kconsole.c
3193 5884 d 11 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
3188 5891 d 9 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 5891 d 13 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 5891 d 13 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 5892 d 12 h jermar /trunk/kernel/generic/src/mm/ cstyle for frame.c  
/trunk/kernel/generic/src/mm/frame.c
3184 5892 d 16 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 5892 d 17 h jermar /trunk/kernel/generic/src/mm/ Avoid easy deadlock while printing slab cache statistics.  
/trunk/kernel/generic/src/mm/slab.c
3181 5893 d 21 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 5893 d 22 h jermar /trunk/kernel/generic/src/mm/ cstyle for slab.c  
/trunk/kernel/generic/src/mm/slab.c
3175 5895 d 19 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
3143 5900 d 15 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 5900 d 15 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 5900 d 19 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