Subversion Repositories HelenOS

Rev

Go to most recent revision | Hide changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
2220 6336 d 0 h decky /trunk/kernel/arch/ia32/src/boot/ check for PSE support, add error message on PSE not present
make initial mapping explicitly writeable, turn PAE explicitly off (just in case)
 
/trunk/kernel/arch/ia32/src/boot/boot.S
2219 6336 d 1 h decky /trunk/kernel/arch/amd64/src/boot/ add error message on no long mode support  
/trunk/kernel/arch/amd64/src/boot/boot.S
2218 6336 d 20 h decky /trunk/kernel/ support the possibility to send EOI or Interrupt Acknowledgement
prior to processing the interrupt
(this is essential on some architectures to prevent preemption deadlock)
 
/trunk/kernel/arch/amd64/src/interrupt.c
/trunk/kernel/arch/ia32/src/drivers/i8254.c
/trunk/kernel/arch/ia32/src/interrupt.c
/trunk/kernel/arch/ia32/src/smp/apic.c
/trunk/kernel/arch/ia32xen/src/interrupt.c
/trunk/kernel/arch/ppc32/src/interrupt.c
/trunk/kernel/arch/ppc64/src/interrupt.c
/trunk/kernel/generic/include/ddi/irq.h
/trunk/kernel/generic/src/ddi/irq.c
2217 6336 d 21 h jermar /trunk/kernel/arch/ia32/src/smp/ On SMP amd64 and ia32 systems, release the irq->lock
before calling clock() from the interrupt handler.
This is important for maintaining kernel preemption
since no preemption can take place while a spinlock
is held.
 
/trunk/kernel/arch/ia32/src/smp/apic.c
2216 6336 d 23 h decky /trunk/ make thread ID 64 bit (task ID is 64 bit already)
cleanup thread syscalls
 
/trunk/kernel/arch/amd64/include/types.h
/trunk/kernel/arch/arm32/include/types.h
/trunk/kernel/arch/ia32/include/types.h
/trunk/kernel/arch/ia32xen/include/types.h
/trunk/kernel/arch/ia64/include/types.h
/trunk/kernel/arch/mips32/include/types.h
/trunk/kernel/arch/ppc32/include/types.h
/trunk/kernel/arch/ppc64/include/types.h
/trunk/kernel/arch/sparc64/include/types.h
/trunk/kernel/generic/include/interrupt.h
/trunk/kernel/generic/include/proc/task.h
/trunk/kernel/generic/include/proc/thread.h
/trunk/kernel/generic/src/adt/btree.c
/trunk/kernel/generic/src/console/cmd.c
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/proc/scheduler.c
/trunk/kernel/generic/src/proc/task.c
/trunk/kernel/generic/src/proc/thread.c
/trunk/kernel/generic/src/syscall/syscall.c
/trunk/kernel/test/fpu/fpu1.c
/trunk/kernel/test/fpu/mips2.c
/trunk/kernel/test/fpu/sse1.c
/trunk/kernel/test/mm/falloc2.c
/trunk/kernel/test/mm/slab1.c
/trunk/kernel/test/mm/slab2.c
/trunk/kernel/test/synch/rwlock3.c
/trunk/kernel/test/synch/rwlock4.c
/trunk/kernel/test/synch/semaphore2.c
/trunk/kernel/test/thread/thread1.c
/trunk/uspace/libc/generic/thread.c
/trunk/uspace/libc/include/thread.h
/trunk/uspace/tester/thread/thread1.c
2215 6337 d 0 h kebrt /branches/arm/kernel/arch/arm32/src/drivers/ gxemul.c renamed  
/branches/arm/kernel/arch/arm32/src/drivers/gxemul.c
2214 6337 d 0 h kebrt /branches/arm/kernel/arch/arm32/ console_init() added, gxemul driver edited ("msim" string removed)  
/branches/arm/kernel/arch/arm32/include/drivers/gxemul.h
/branches/arm/kernel/arch/arm32/include/drivers/msim_gxemul.h
/branches/arm/kernel/arch/arm32/src/drivers/msim_gxemul.c
/branches/arm/kernel/arch/arm32/Makefile.inc
/branches/arm/kernel/arch/arm32/include/interrupt.h
/branches/arm/kernel/arch/arm32/src/arm32.c
/branches/arm/kernel/arch/arm32/src/console.c
/branches/arm/kernel/arch/arm32/src/interrupt.c
2213 6337 d 0 h kebrt /branches/arm/kernel/arch/arm32/ static variables (e.g. 'last' in generic/../device.c) not initialized to zero when bss section separated  
/branches/arm/kernel/arch/arm32/_link.ld.in
2212 6337 d 0 h kebrt /branches/arm/kernel/generic/ aux_printf redirection removed  
/branches/arm/kernel/generic/include/print.h
/branches/arm/kernel/generic/src/printf/printf.c
2211 6337 d 1 h decky /trunk/kernel/generic/src/synch/ reflect the renaming of printflock to printf_lock  
/trunk/kernel/generic/src/synch/spinlock.c
2210 6337 d 1 h decky /trunk/ use more useful values  
/trunk/kernel/test/thread/thread1.c
/trunk/uspace/tester/thread/thread1.c
2209 6337 d 1 h decky /trunk/uspace/ use futex instead of pthread serialization
synchronize only output to stdout
cleanup
 
/trunk/uspace/kbd/generic/key_buffer.c
/trunk/uspace/libc/generic/io/io.c
/trunk/uspace/libc/generic/io/printf.c
/trunk/uspace/libc/generic/io/printf_core.c
/trunk/uspace/libc/generic/io/vprintf.c
/trunk/uspace/libc/generic/io/vsnprintf.c
/trunk/uspace/libc/generic/io/vsprintf.c
/trunk/uspace/libc/include/async.h
2208 6337 d 1 h decky /trunk/kernel/generic/ use spinlock only on console output, not other print functions
cleanup
 
/trunk/kernel/generic/include/print.h
/trunk/kernel/generic/include/printf/printf_core.h
/trunk/kernel/generic/src/printf/printf_core.c
/trunk/kernel/generic/src/printf/snprintf.c
/trunk/kernel/generic/src/printf/vprintf.c
/trunk/kernel/generic/src/printf/vsnprintf.c
/trunk/kernel/generic/src/printf/vsprintf.c
2207 6337 d 18 h jelen /branches/fs/boot/arch/ia32/ramdisk/ ramdisk file  
/branches/fs/boot/arch/ia32/ramdisk
/branches/fs/boot/arch/ia32/ramdisk/Makefile.inc
/branches/fs/boot/arch/ia32/ramdisk/ramdisk.header
/branches/fs/boot/arch/ia32/ramdisk/ramdisk.img.raw
2206 6337 d 19 h jelen /branches/fs/kernel/generic/src/main/ ramdisk initialization  
/branches/fs/kernel/generic/src/main/kinit.c
2205 6337 d 19 h jelen /branches/fs/kernel/generic/src/lib/ ramdisk initialization  
/branches/fs/kernel/generic/src/lib/rd.c
2204 6337 d 19 h jelen /branches/fs/kernel/generic/include/lib/ ramdisk version flag 0->1  
/branches/fs/kernel/generic/include/lib/rd.h
2203 6337 d 19 h jelen /branches/fs/boot/arch/ia32/ Link to ramdisk, added fs module  
/branches/fs/boot/arch/ia32/Makefile.inc
2202 6337 d 19 h jelen /branches/fs/boot/arch/ia32/grub/ Added fs module and ramdisk image  
/branches/fs/boot/arch/ia32/grub/menu.lst
2201 6337 d 21 h jancik /branches/arm/kernel/generic/ Alf: Temporary kernel hack ... redirecting kernel printf function to aux_printf to kernel prints was visible  
/branches/arm/kernel/generic/include/print.h
/branches/arm/kernel/generic/src/printf/printf.c
2200 6337 d 21 h jancik /branches/arm/kernel/arch/arm32/src/ Alf: nothing important arm32 ... comment unnesesary things, dummy.S each symbol have different address so you can found what function call fall down  
/branches/arm/kernel/arch/arm32/src/arm32.c
/branches/arm/kernel/arch/arm32/src/dummy.S
2199 6337 d 22 h jancik /branches/arm/kernel/arch/arm32/ Alf: Memory management update  
/branches/arm/kernel/arch/arm32/include/mm/page.h
/branches/arm/kernel/arch/arm32/src/mm/frame.c
/branches/arm/kernel/arch/arm32/src/mm/page.c
/branches/arm/kernel/arch/arm32/src/mm/tlb.c
2198 6337 d 22 h jancik /branches/arm/ Alf: Start kernel at 0x8010 0000 with paging enabled  
/branches/arm/boot/arch/arm32/loader/mm.c
/branches/arm/boot/arch/arm32/loader/mm.h
/branches/arm/boot/arch/arm32/loader/Makefile
/branches/arm/boot/arch/arm32/loader/asm.h
/branches/arm/boot/arch/arm32/loader/boot.S
/branches/arm/boot/arch/arm32/loader/main.c
/branches/arm/boot/arch/arm32/loader/pack
/branches/arm/kernel/arch/arm32/Makefile.inc
2197 6338 d 3 h kebrt /branches/arm/kernel/arch/arm32/ linker script reverted & -fno-zero-initialized-in-bss added  
/branches/arm/kernel/arch/arm32/_link.ld.in
2196 6338 d 3 h kebrt /branches/arm/kernel/arch/arm32/ linker script reverted & -fno-zero-initialized-in-bss added  
/branches/arm/kernel/arch/arm32/Makefile.inc
2195 6338 d 3 h kebrt /branches/arm/kernel/arch/arm32/include/ comments & formatting  
/branches/arm/kernel/arch/arm32/include/atomic.h
/branches/arm/kernel/arch/arm32/include/stack.h
2194 6338 d 4 h kebrt /branches/arm/kernel/arch/arm32/ linker script cleaned (not sure about all changes, but problem with stack_safe != 0 solved)  
/branches/arm/kernel/arch/arm32/_link.ld.in
2193 6338 d 4 h decky /trunk/uspace/tester/ reimplement all tests from original ipcc
(cleanup needed)
 
/trunk/uspace/tester/fault
/trunk/uspace/tester/fault/fault1.c
/trunk/uspace/tester/fault/fault1.def
/trunk/uspace/tester/fault/fault2.c
/trunk/uspace/tester/fault/fault2.def
/trunk/uspace/tester/ipc/answer.c
/trunk/uspace/tester/ipc/answer.def
/trunk/uspace/tester/ipc/hangup.c
/trunk/uspace/tester/ipc/hangup.def
/trunk/uspace/tester/ipc/send_async.c
/trunk/uspace/tester/ipc/send_async.def
/trunk/uspace/tester/ipc/send_sync.c
/trunk/uspace/tester/ipc/send_sync.def
/trunk/uspace/tester/Makefile
/trunk/uspace/tester/tester.c
/trunk/uspace/tester/tester.h
2192 6338 d 5 h decky /trunk/uspace/libc/arch/sparc64/include/ fix uspace atomic_add according kernel code  
/trunk/uspace/libc/arch/sparc64/include/atomic.h
2191 6338 d 5 h kebrt /branches/arm/kernel/arch/arm32/include/ stack constants  
/branches/arm/kernel/arch/arm32/include/stack.h
2190 6338 d 5 h kebrt /branches/arm/kernel/arch/arm32/include/ get_stack_base() added  
/branches/arm/kernel/arch/arm32/include/asm.h
/branches/arm/kernel/arch/arm32/include/context.h
2189 6338 d 5 h kebrt /branches/arm/kernel/arch/arm32/ ARM CPU identification  
/branches/arm/kernel/arch/arm32/include/cpu.h
/branches/arm/kernel/arch/arm32/src/cpu/cpu.c
2188 6338 d 5 h decky /trunk/ new user space testing framework (unfinished)  
/trunk/uspace/tester/ipc
/trunk/uspace/tester/ipc/connect.c
/trunk/uspace/tester/ipc/connect.def
/trunk/uspace/tester/ipc/register.c
/trunk/uspace/tester/ipc/register.def
/trunk/uspace/tester/print
/trunk/uspace/tester/print/print1.c
/trunk/uspace/tester/print/print1.def
/trunk/uspace/tester/tester.h
/trunk/uspace/tester/thread
/trunk/uspace/tester/thread/thread1.c
/trunk/uspace/tester/thread/thread1.def
/trunk/kernel/test/print/print1.c
/trunk/uspace/libc/generic/thread.c
/trunk/uspace/libc/generic/time.c
/trunk/uspace/libc/include/thread.h
/trunk/uspace/libc/include/unistd.h
/trunk/uspace/tester/Makefile
/trunk/uspace/tester/tester.c
2187 6338 d 6 h decky /trunk/kernel/generic/ add syscall for getting current thread ID  
/trunk/kernel/generic/include/proc/thread.h
/trunk/kernel/generic/include/syscall/syscall.h
/trunk/kernel/generic/src/proc/thread.c
/trunk/kernel/generic/src/syscall/syscall.c
2186 6338 d 7 h decky /trunk/uspace/tester/ rename ipcc.c to tester.c  
/trunk/uspace/tester/tester.c
/trunk/uspace/tester/ipcc.c
2185 6338 d 7 h decky /trunk/ rename ipcc to tester  
/trunk/uspace/tester
/trunk/uspace/ipcc
/trunk/boot/arch/amd64/Makefile.inc
/trunk/boot/arch/amd64/grub/menu.lst
/trunk/boot/arch/ia32/Makefile.inc
/trunk/boot/arch/ia32/grub/menu.lst
/trunk/boot/arch/ia32xen/Makefile.inc
/trunk/boot/arch/ia32xen/grub/menu.debug.lst
/trunk/boot/arch/ia32xen/grub/menu.lst
/trunk/boot/arch/mips32/loader/Makefile
/trunk/boot/arch/ppc32/loader/Makefile
/trunk/boot/arch/ppc64/loader/Makefile
/trunk/boot/arch/sparc64/loader/Makefile
/trunk/contrib/conf/ski.conf
/trunk/kernel/generic/src/lib/objc.c
/trunk/uspace/Makefile
/trunk/uspace/tester/Makefile
2184 6338 d 9 h decky /trunk/kernel/generic/src/lib/ add zetta (sextillion) prefix
make constants explicitly unsigned
 
/trunk/kernel/generic/src/lib/func.c
2183 6339 d 3 h jermar /trunk/kernel/generic/ Continue to de-oversynchronize the kernel.
- replace as->refcount with an atomic counter; accesses to this
reference counter are not to be done when the as->lock mutex is held;
this gets us rid of mutex_lock_active();

Remove the possibility of a deadlock between TLB shootdown and asidlock.
- get rid of mutex_lock_active() on as->lock
- when locking the asidlock spinlock, always do it conditionally and with
preemption disabled; in the unsuccessful case, enable interrupts and try again
- there should be no deadlock between TLB shootdown and the as->lock mutexes
- PLEASE REVIEW !!!

Add DEADLOCK_PROBE's to places where we have spinlock_trylock() loops.
 
/trunk/kernel/generic/include/mm/as.h
/trunk/kernel/generic/include/synch/mutex.h
/trunk/kernel/generic/include/synch/spinlock.h
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/ipc/irq.c
/trunk/kernel/generic/src/mm/as.c
/trunk/kernel/generic/src/proc/scheduler.c
/trunk/kernel/generic/src/proc/task.c
/trunk/kernel/generic/src/proc/thread.c
/trunk/kernel/generic/src/synch/spinlock.c
/trunk/kernel/generic/src/synch/waitq.c
/trunk/kernel/generic/src/time/timeout.c
2182 6339 d 20 h jancik /branches/arm/kernel/arch/arm32/ Alf: Paging ... not tested  
/branches/arm/kernel/arch/arm32/src/mm/memory_init.c
/branches/arm/kernel/arch/arm32/Makefile.inc
/branches/arm/kernel/arch/arm32/include/mm/memory_init.h
/branches/arm/kernel/arch/arm32/include/mm/page.h
/branches/arm/kernel/arch/arm32/src/arm32.c
/branches/arm/kernel/arch/arm32/src/mm/frame.c
/branches/arm/kernel/arch/arm32/src/mm/page.c
2181 6340 d 23 h konopa /branches/fs/kernel/doc/ New author added  
/branches/fs/kernel/doc/AUTHORS