Subversion Repositories HelenOS-historic

Rev

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

Filtering Options

Rev Age Author Path Log message Diff Changes
703 6734 d 23 h jermar /kernel/trunk/ Memory management work.
- vm.* -> as.* (as like address space is, imho, more fitting)
- Don't do TLB shootdown on vm_install(). Some architectures only need to call tlb_invalidate_asid().
- Don't allocate all frames for as_area in as_area_create(), but let them be allocated on-demand by as_page_fault().
- Add high-level page fault handler as_page_fault().
- Add as_area_load_mapping().
 
/kernel/trunk/arch/amd64/include/mm/as.h
/kernel/trunk/arch/ia32/include/mm/as.h
/kernel/trunk/arch/ia64/include/mm/as.h
/kernel/trunk/arch/mips32/include/mm/as.h
/kernel/trunk/arch/mips32/src/mm/as.c
/kernel/trunk/arch/ppc32/include/mm/as.h
/kernel/trunk/arch/sparc64/include/mm/as.h
/kernel/trunk/generic/include/mm/as.h
/kernel/trunk/generic/src/mm/as.c
/kernel/trunk/arch/amd64/include/mm/vm.h
/kernel/trunk/arch/ia32/include/mm/vm.h
/kernel/trunk/arch/ia64/include/mm/vm.h
/kernel/trunk/arch/mips32/include/mm/vm.h
/kernel/trunk/arch/mips32/src/mm/vm.c
/kernel/trunk/arch/ppc32/include/mm/vm.h
/kernel/trunk/arch/sparc64/include/mm/vm.h
/kernel/trunk/generic/include/mm/vm.h
/kernel/trunk/generic/src/mm/vm.c
/kernel/trunk/Makefile
/kernel/trunk/arch/amd64/src/interrupt.c
/kernel/trunk/arch/amd64/src/userspace.c
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/arch/ia32/src/mm/frame.c
/kernel/trunk/arch/ia32/src/userspace.c
/kernel/trunk/arch/mips32/Makefile.inc
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/arch/mips32/src/mm/tlb.c
/kernel/trunk/doc/mm
/kernel/trunk/generic/include/arch.h
/kernel/trunk/generic/include/proc/task.h
/kernel/trunk/generic/include/typedefs.h
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/generic/src/mm/frame.c
/kernel/trunk/generic/src/mm/page.c
/kernel/trunk/generic/src/proc/scheduler.c
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/proc/the.c
674 6744 d 0 h cejka /kernel/trunk/ Support for printing float numbers in kernel removed.  
/kernel/trunk/arch/amd64/include/fmath.h
/kernel/trunk/arch/amd64/src/fmath.c
/kernel/trunk/arch/ia32/include/fmath.h
/kernel/trunk/arch/ia32/src/fmath.c
/kernel/trunk/arch/ia64/include/fmath.h
/kernel/trunk/arch/ia64/src/fmath.c
/kernel/trunk/arch/mips32/include/fmath.h
/kernel/trunk/arch/mips32/src/fmath.c
/kernel/trunk/arch/ppc32/include/fmath.h
/kernel/trunk/arch/ppc32/src/fmath.c
/kernel/trunk/arch/amd64/Makefile.inc
/kernel/trunk/arch/ia32/Makefile.inc
/kernel/trunk/arch/ia64/Makefile.inc
/kernel/trunk/arch/mips32/Makefile.inc
/kernel/trunk/arch/ppc32/Makefile.inc
/kernel/trunk/generic/src/debug/print.c
/kernel/trunk/test/print/print1/test.c
655 6758 d 17 h jermar /kernel/trunk/arch/ Compilation fixes.  
/kernel/trunk/arch/ia64/include/memstr.h
/kernel/trunk/arch/mips32/include/memstr.h
/kernel/trunk/arch/ppc32/include/memstr.h
635 6762 d 11 h palkovsky /kernel/trunk/ Fixed kconsole resolution of similar commands.
Add commands to debugger to allow for simple profiling or
calling debug actions if needed.
 
/kernel/trunk/arch/mips32/include/debugger.h
/kernel/trunk/arch/mips32/src/debugger.c
/kernel/trunk/generic/src/console/kconsole.c
/kernel/trunk/generic/src/lib/func.c
627 6763 d 19 h jermar /kernel/trunk/ Fix ia64 and sparc64 to compile with new atomic_t.
Fix rwlock test #5 and semaphore test #1 to compile with new atomic_t.

sparc64 work.
TBA must be set before a function call when MMU is switched off.
 
/kernel/trunk/arch/ia32/include/atomic.h
/kernel/trunk/arch/ia64/include/atomic.h
/kernel/trunk/arch/mips32/include/atomic.h
/kernel/trunk/arch/sparc64/include/atomic.h
/kernel/trunk/arch/sparc64/include/trap.h
/kernel/trunk/arch/sparc64/src/mm/tlb.c
/kernel/trunk/arch/sparc64/src/sparc64.c
/kernel/trunk/arch/sparc64/src/trap.c
/kernel/trunk/test/synch/rwlock5/test.c
/kernel/trunk/test/synch/semaphore1/test.c
625 6763 d 19 h palkovsky /kernel/trunk/ We are now almost -Wall clean.
- redefined atomic_t
- deleted many, many unused variables
- some minor code cleanups found using compiler warning.
 
/kernel/trunk/arch/amd64/include/asm.h
/kernel/trunk/arch/amd64/src/cpu/cpu.c
/kernel/trunk/arch/ia32/include/atomic.h
/kernel/trunk/arch/ia32/src/fmath.c
/kernel/trunk/arch/ia32/src/mm/frame.c
/kernel/trunk/arch/ia32/src/smp/smp.c
/kernel/trunk/arch/ia64/include/atomic.h
/kernel/trunk/arch/mips32/include/atomic.h
/kernel/trunk/arch/mips32/src/drivers/arc.c
/kernel/trunk/arch/mips32/src/drivers/serial.c
/kernel/trunk/arch/ppc32/include/atomic.h
/kernel/trunk/arch/sparc64/include/atomic.h
/kernel/trunk/generic/include/cpu.h
/kernel/trunk/generic/include/debug.h
/kernel/trunk/generic/include/synch/spinlock.h
/kernel/trunk/generic/src/console/cmd.c
/kernel/trunk/generic/src/console/kconsole.c
/kernel/trunk/generic/src/debug/symtab.c
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/generic/src/mm/vm.c
/kernel/trunk/generic/src/proc/scheduler.c
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/generic/src/synch/rwlock.c
/kernel/trunk/generic/src/synch/spinlock.c
/kernel/trunk/test/synch/rwlock4/test.c
622 6764 d 15 h palkovsky /kernel/trunk/ Better gcc CALLER implementation  
/kernel/trunk/arch/ia32/include/debug.h
/kernel/trunk/arch/mips32/include/debug.h
/kernel/trunk/generic/include/debug.h
/kernel/trunk/generic/src/synch/spinlock.c
614 6766 d 10 h palkovsky /kernel/trunk/ Added support for mips breakpoints.
We have a kind of kernel debugger :-)
Breakpoints on JMP/Branch instructions are not supported and
they are reported after the breakpoint is fired and exited as
a BranchDelay exception. If we found a way, how to detect these
instructions, we would be able to support them as 'one-time' breakpoints.
 
/kernel/trunk/arch/mips32/include/debugger.h
/kernel/trunk/arch/mips32/src/debugger.c
/kernel/trunk/arch/mips32/Makefile.inc
/kernel/trunk/arch/mips32/src/exception.c
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/generic/src/console/kconsole.c
610 6766 d 18 h palkovsky /kernel/trunk/arch/mips32/ Cleanup of unnecessary things.  
/kernel/trunk/arch/mips32/include/cp0.h
/kernel/trunk/arch/mips32/src/cpu/cpu.c
/kernel/trunk/arch/mips32/src/drivers/arc.c
/kernel/trunk/arch/mips32/src/exception.c
/kernel/trunk/arch/mips32/src/interrupt.c
606 6766 d 20 h palkovsky /kernel/trunk/ Small kconsole readline changes.
Some mips tweaks to allow for real keyboard support in indy.
 
/kernel/trunk/arch/ia32/include/i8042.h
/kernel/trunk/arch/ia32/src/drivers/i8042.c
/kernel/trunk/arch/mips32/include/drivers/arc.h
/kernel/trunk/arch/mips32/include/drivers/msim.h
/kernel/trunk/arch/mips32/include/drivers/serial.h
/kernel/trunk/arch/mips32/src/console.c
/kernel/trunk/arch/mips32/src/drivers/arc.c
/kernel/trunk/arch/mips32/src/drivers/msim.c
/kernel/trunk/arch/mips32/src/drivers/serial.c
/kernel/trunk/generic/src/console/kconsole.c
600 6767 d 20 h jermar /kernel/trunk/arch/mips32/ Different sizes of TLB on mips32.
R4000 has 48 entries, 4kc has only 16 entries.
 
/kernel/trunk/arch/mips32/Makefile.inc
/kernel/trunk/arch/mips32/include/mm/tlb.h
599 6767 d 21 h jermar /kernel/trunk/arch/mips32/ Fixes for mips32 invalidation functions.  
/kernel/trunk/arch/mips32/include/mm/tlb.h
/kernel/trunk/arch/mips32/src/mm/tlb.c
594 6768 d 16 h jermar /kernel/trunk/ ptlb command (currently usable on mips32 only).  
/kernel/trunk/generic/include/mm/tlb_cmd.h
/kernel/trunk/generic/src/mm/tlb_cmd.c
/kernel/trunk/Makefile
/kernel/trunk/arch/mips32/include/mm/tlb.h
/kernel/trunk/arch/mips32/src/mm/tlb.c
/kernel/trunk/generic/src/console/kconsole.c
/kernel/trunk/generic/src/mm/tlb.c
590 6768 d 18 h palkovsky /kernel/trunk/ Move all MIPS exceptions to generic dispatcher.
Align size in malloc() to __native size, some architectures
don't like it unaligned.
 
/kernel/trunk/arch/mips32/include/exception.h
/kernel/trunk/arch/mips32/include/interrupt.h
/kernel/trunk/arch/mips32/src/drivers/arc.c
/kernel/trunk/arch/mips32/src/drivers/msim.c
/kernel/trunk/arch/mips32/src/drivers/serial.c
/kernel/trunk/arch/mips32/src/exception.c
/kernel/trunk/arch/mips32/src/interrupt.c
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/generic/src/mm/heap.c
581 6768 d 23 h palkovsky /kernel/trunk/ Small debug changes.  
/kernel/trunk/arch/amd64/include/debug.h
/kernel/trunk/arch/ia32/include/debug.h
/kernel/trunk/arch/ia64/include/debug.h
/kernel/trunk/arch/ppc32/include/debug.h
/kernel/trunk/arch/sparc64/include/debug.h
/kernel/trunk/arch/amd64/include/asm.h
/kernel/trunk/arch/ia32/include/asm.h
/kernel/trunk/arch/mips32/include/debug.h
/kernel/trunk/generic/include/debug.h
/kernel/trunk/generic/src/interrupt/interrupt.c
/kernel/trunk/generic/src/synch/spinlock.c
578 6769 d 10 h palkovsky /kernel/trunk/ Added exception printing.
It does not work correctly on SMP architectures :-/
Preemption error....
 
/kernel/trunk/arch/mips32/include/interrupt.h
/kernel/trunk/generic/include/interrupt.h
/kernel/trunk/generic/src/interrupt/interrupt.c
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/main/main.c
575 6769 d 11 h palkovsky /kernel/trunk/ Added generic exc_register/exc_dispatch functions,
copied from ia32 architecture. Currently only mips32 uses them.

The chardev_t can now be both input & output device (was
needed for serial driver).

Broken other architectures - ia64, sparc, powerpc will not compile.

Mips32 supports input on all msim, gxemul, indy(tested emulation
in gxemul, loses characters), simics. Simics serial line
is done using polling, I was unable to make it produce
an interrupt when the key was pressed.
 
/kernel/trunk/arch/mips32/include/drivers/msim.h
/kernel/trunk/arch/mips32/include/drivers/serial.h
/kernel/trunk/arch/mips32/src/drivers/msim.c
/kernel/trunk/arch/mips32/src/drivers/serial.c
/kernel/trunk/generic/include/interrupt.h
/kernel/trunk/generic/src/interrupt
/kernel/trunk/generic/src/interrupt/interrupt.c
/kernel/trunk/arch/mips32/include/drivers/keyboard.h
/kernel/trunk/arch/mips32/src/drivers/keyboard.c
/kernel/trunk/Makefile
/kernel/trunk/arch/ia32/include/ega.h
/kernel/trunk/arch/ia32/src/drivers/ega.c
/kernel/trunk/arch/ia32/src/drivers/i8042.c
/kernel/trunk/arch/mips32/Makefile.inc
/kernel/trunk/arch/mips32/include/console.h
/kernel/trunk/arch/mips32/include/drivers/arc.h
/kernel/trunk/arch/mips32/include/interrupt.h
/kernel/trunk/arch/mips32/src/console.c
/kernel/trunk/arch/mips32/src/drivers/arc.c
/kernel/trunk/arch/mips32/src/interrupt.c
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/generic/include/console/chardev.h
/kernel/trunk/generic/include/console/console.h
/kernel/trunk/generic/include/print.h
/kernel/trunk/generic/src/console/chardev.c
/kernel/trunk/generic/src/console/console.c
574 6769 d 17 h palkovsky /kernel/trunk/ Merged msim & gxemul native keyboards.  
/kernel/trunk/arch/mips32/include/drivers/keyboard.h
/kernel/trunk/arch/mips32/include/interrupt.h
/kernel/trunk/arch/mips32/src/drivers/keyboard.c
/kernel/trunk/arch/mips32/src/interrupt.c
/kernel/trunk/contrib/conf/msim.conf
573 6769 d 17 h palkovsky /kernel/trunk/ Added MIPS ARC memory initializaiton.  
/kernel/trunk/arch/mips32/include/drivers/arc.h
/kernel/trunk/arch/mips32/include/mm/memory_init.h
/kernel/trunk/arch/mips32/src/drivers/arc.c
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/arch/mips32/src/mm/frame.c
/kernel/trunk/tools/config.py
567 6771 d 11 h palkovsky /kernel/trunk/ Added simple support for arc keyboards on mips.  
/kernel/trunk/arch/mips32/include/drivers/arc.h
/kernel/trunk/arch/mips32/include/drivers/keyboard.h
/kernel/trunk/arch/mips32/src/drivers/arc.c
/kernel/trunk/arch/mips32/src/drivers/keyboard.c
/kernel/trunk/arch/mips32/src/interrupt.c
/kernel/trunk/tools/config.py

Show All