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
718 6827 d 8 h decky /kernel/trunk/ interface change: as_area_load_mapping -> as_area_set_mapping (set single page mapping)
map init directly from the physical frames it is loaded in
 
/kernel/trunk/contrib/conf/dot.bochsrc
/kernel/trunk/contrib/conf/simics.conf
/kernel/trunk/generic/include/mm/as.h
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/mm/as.c
717 6827 d 11 h decky /kernel/trunk/ remove obsolete in-kernel userspace code
remove CONFIG_USERSPACE switch, uspace support is configured at run-time
 
/kernel/trunk/Makefile
/kernel/trunk/arch/amd64/src/asm_utils.S
/kernel/trunk/arch/ia32/src/asm.S
/kernel/trunk/arch/mips32/src/asm.S
/kernel/trunk/generic/include/main/uinit.h
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/kernel.config
714 6827 d 12 h decky /kernel/trunk/ syscall handler return value
uspace task termination (primitive)
 
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/generic/src/syscall/syscall.c
712 6827 d 13 h decky /kernel/trunk/ "Hello world" from user space :)  
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/generic/include/syscall/syscall.h
/kernel/trunk/generic/src/syscall/syscall.c
711 6827 d 13 h decky /kernel/trunk/generic/src/mm/ fix wrong frame memory access  
/kernel/trunk/generic/src/mm/as.c
704 6829 d 13 h jermar /kernel/trunk/ Make various mips32 tlb manipulation functions preserve EntryHi register.

Cleanup and more precise comments for previous commit.
 
/kernel/trunk/arch/mips32/src/mm/tlb.c
/kernel/trunk/generic/src/mm/as.c
703 6829 d 16 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
701 6832 d 7 h jermar /kernel/trunk/generic/src/mm/ Fix zone_print_one() and zone_print_list().
- add missing spinlock_unlock()
- add missing interrupts_disable() and interrupts_restore()
Coding style fixes and cleanup.
 
/kernel/trunk/generic/src/mm/buddy.c
/kernel/trunk/generic/src/mm/frame.c
699 6832 d 16 h jermar /kernel/trunk/ Memory management work.
Proto-interface and dummy implementation of generic page hash table subsytem.
 
/kernel/trunk/arch/ia64/include/mm/page.h
/kernel/trunk/arch/sparc64/include/mm/page.h
/kernel/trunk/genarch/include/mm/page_ht.h
/kernel/trunk/genarch/src/mm/page_ht.c
/kernel/trunk/generic/include/mm/page.h
/kernel/trunk/generic/src/mm/page.c
689 6834 d 13 h bondari /kernel/trunk/ Frame alloc test #1  
/kernel/trunk/test/mm/falloc1
/kernel/trunk/test/mm/falloc1/test.c
/kernel/trunk/arch/mips32/src/mm/page.c
/kernel/trunk/genarch/src/mm/page_pt.c
/kernel/trunk/generic/include/mm/frame.h
/kernel/trunk/generic/src/cpu/cpu.c
/kernel/trunk/generic/src/mm/frame.c
/kernel/trunk/generic/src/mm/vm.c
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/kernel.config
/kernel/trunk/test/mm/mapping1/test.c
687 6834 d 13 h jermar /kernel/trunk/ Memory management work.
Pass address space identifier to functions in page_operations to support single global page hash table.
 
/kernel/trunk/generic/include/mm/asid.h
/kernel/trunk/arch/amd64/src/mm/page.c
/kernel/trunk/arch/ia32/src/drivers/ega.c
/kernel/trunk/arch/ia32/src/mm/page.c
/kernel/trunk/arch/ia32/src/smp/smp.c
/kernel/trunk/arch/mips32/src/mm/tlb.c
/kernel/trunk/genarch/src/acpi/acpi.c
/kernel/trunk/genarch/src/mm/page_ht.c
/kernel/trunk/genarch/src/mm/page_pt.c
/kernel/trunk/generic/include/mm/page.h
/kernel/trunk/generic/src/mm/page.c
/kernel/trunk/generic/src/mm/vm.c
/kernel/trunk/test/mm/mapping1/test.c
686 6834 d 14 h bondari /kernel/trunk/generic/ Minor changes to 'zone' command  
/kernel/trunk/generic/include/mm/buddy.h
/kernel/trunk/generic/src/mm/buddy.c
/kernel/trunk/generic/src/mm/frame.c
684 6834 d 14 h jermar /kernel/trunk/ Memory management work.
Move generic 4-level page table interface to genarch
and enable architectures to use different virtual memory
mechanisms (e.g. page hash tables).
Start page hash table support.
Switch ia64 and sparc64 to page hash tables.
Other architectures keep on using 4-level page table interface.
 
/kernel/trunk/arch/ia64/src/mm/page.c
/kernel/trunk/genarch/include/mm
/kernel/trunk/genarch/include/mm/page_ht.h
/kernel/trunk/genarch/include/mm/page_pt.h
/kernel/trunk/genarch/src/mm
/kernel/trunk/genarch/src/mm/page_ht.c
/kernel/trunk/genarch/src/mm/page_pt.c
/kernel/trunk/arch/amd64/Makefile.inc
/kernel/trunk/arch/amd64/src/mm/page.c
/kernel/trunk/arch/ia32/Makefile.inc
/kernel/trunk/arch/ia32/src/mm/page.c
/kernel/trunk/arch/ia64/Makefile.inc
/kernel/trunk/arch/ia64/include/mm/page.h
/kernel/trunk/arch/mips32/Makefile.inc
/kernel/trunk/arch/mips32/src/mm/page.c
/kernel/trunk/arch/ppc32/Makefile.inc
/kernel/trunk/arch/ppc32/src/mm/page.c
/kernel/trunk/arch/sparc64/Makefile.inc
/kernel/trunk/arch/sparc64/src/mm/page.c
/kernel/trunk/genarch/Makefile.inc
/kernel/trunk/generic/include/mm/page.h
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/generic/src/mm/page.c
/kernel/trunk/generic/src/mm/vm.c
683 6834 d 15 h bondari /kernel/trunk/generic/ Console command 'zone' now takes zone address as parameter.
Added buddy system statistics into the 'zone' command.
 
/kernel/trunk/generic/include/mm/buddy.h
/kernel/trunk/generic/include/mm/frame.h
/kernel/trunk/generic/src/mm/buddy.c
/kernel/trunk/generic/src/mm/frame.c
681 6834 d 17 h jermar /kernel/trunk/ Minor changes.  
/kernel/trunk/doc/arch/amd64
/kernel/trunk/doc/arch/ia32
/kernel/trunk/generic/include/cpu.h
678 6838 d 8 h decky /kernel/trunk/ move syscall infrastructure to a separate subdir  
/kernel/trunk/generic/include/syscall
/kernel/trunk/generic/include/syscall/syscall.h
/kernel/trunk/generic/src/syscall
/kernel/trunk/generic/src/syscall/syscall.c
/kernel/trunk/generic/include/proc/syscall.h
/kernel/trunk/generic/src/proc/syscall.c
/kernel/trunk/Makefile
677 6838 d 11 h bondari /kernel/trunk/generic/src/ Comments to zone console commands  
/kernel/trunk/generic/src/console/cmd.c
/kernel/trunk/generic/src/mm/frame.c
676 6838 d 11 h bondari /kernel/trunk/generic/ Memory zones console command implementation. todo: buddy allocator structures.  
/kernel/trunk/generic/include/mm/frame.h
/kernel/trunk/generic/src/console/cmd.c
/kernel/trunk/generic/src/mm/frame.c
675 6838 d 16 h jermar /kernel/trunk/generic/src/ Clean up.  
/kernel/trunk/generic/src/debug/print.c
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/generic/src/proc/scheduler.c
674 6838 d 18 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
673 6839 d 8 h jermar /kernel/trunk/ Add 'version' and 'cpus' kconsole commands.
Remove leading p from names of p* commands.
 
/kernel/trunk/generic/include/main/version.h
/kernel/trunk/generic/src/main/version.c
/kernel/trunk/Makefile
/kernel/trunk/arch/mips32/src/debugger.c
/kernel/trunk/generic/include/cpu.h
/kernel/trunk/generic/src/console/cmd.c
/kernel/trunk/generic/src/cpu/cpu.c
/kernel/trunk/generic/src/interrupt/interrupt.c
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/main/main.c
671 6840 d 8 h vana /kernel/trunk/ i8042 bug fix...  
/kernel/trunk/arch/ia32/src/drivers/i8042.c
/kernel/trunk/generic/src/main/main.c
669 6843 d 7 h jermar /kernel/trunk/ sparc64 work.
kconsole support.
Add non-blocking ofw_getchar().
 
/kernel/trunk/arch/sparc64/include/console.h
/kernel/trunk/arch/sparc64/src/console.c
/kernel/trunk/arch/sparc64/src/sparc64.c
/kernel/trunk/genarch/include/ofw/ofw.h
/kernel/trunk/genarch/src/ofw/ofw.c
/kernel/trunk/generic/include/console/chardev.h
668 6843 d 14 h bondari /kernel/trunk/generic/src/console/ Zones related commands infrastructure for console. Also fixed small bug that caused infinite loop during command parsing  
/kernel/trunk/generic/src/console/cmd.c
/kernel/trunk/generic/src/console/kconsole.c
664 6848 d 4 h jermar /kernel/trunk/ sparc64 work.
Interrupt Levels 1 - 15 serviced.
Minor changes in the exc_* functions.
 
/kernel/trunk/arch/sparc64/include/drivers
/kernel/trunk/arch/sparc64/include/drivers/tick.h
/kernel/trunk/arch/sparc64/include/trap/interrupt.h
/kernel/trunk/arch/sparc64/src/drivers
/kernel/trunk/arch/sparc64/src/drivers/tick.c
/kernel/trunk/arch/sparc64/src/trap/interrupt.c
/kernel/trunk/arch/sparc64/Makefile.inc
/kernel/trunk/arch/sparc64/include/asm.h
/kernel/trunk/arch/sparc64/include/interrupt.h
/kernel/trunk/arch/sparc64/include/register.h
/kernel/trunk/arch/sparc64/src/console.c
/kernel/trunk/arch/sparc64/src/sparc64.c
/kernel/trunk/arch/sparc64/src/trap/trap.c
/kernel/trunk/arch/sparc64/src/trap/trap_table.S
/kernel/trunk/generic/include/interrupt.h
/kernel/trunk/generic/include/typedefs.h
/kernel/trunk/generic/src/interrupt/interrupt.c
662 6850 d 7 h decky /kernel/trunk/ initial syscall table support  
/kernel/trunk/generic/include/proc/syscall.h
/kernel/trunk/generic/src/proc/syscall.c
/kernel/trunk/Makefile
659 6851 d 18 h jermar /kernel/trunk/ Make the kernel compile with -Wall.  
/kernel/trunk/Makefile
/kernel/trunk/arch/ia64/src/fmath.c
/kernel/trunk/arch/ppc32/src/fmath.c
/kernel/trunk/arch/ppc32/src/mm/memory_init.c
/kernel/trunk/genarch/src/acpi/acpi.c
/kernel/trunk/generic/src/lib/func.c
/kernel/trunk/generic/src/time/timeout.c
654 6853 d 12 h jermar /kernel/trunk/generic/src/ Fix page_insert_mapping().
Some architectures (e.g. ia32) need to have the lower-numbered PTL's flagged as PAGE_WRITE in order to prevent overriding protection bits of leaf TTE's.
 
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/mm/page.c
651 6854 d 5 h decky /kernel/trunk/ remove arch/$ARCH/boot where not needed, change global Makefile accordingly
remove early_mapping() (breaks ppc32 for now)
change early heap initialization (required for init to work)
 
/kernel/trunk/arch/ia32/boot
/kernel/trunk/arch/sparc64/boot
/kernel/trunk/Makefile
/kernel/trunk/arch/ppc32/include/arch.h
/kernel/trunk/generic/include/arch.h
/kernel/trunk/generic/include/config.h
/kernel/trunk/generic/src/main/main.c
650 6854 d 7 h jermar /kernel/trunk/ sparc64 work.
Implement interrupt_disable(), interrupt_enable(), interrupt_restore() and interrupt_read() functions.
Fix context save/restore to save/restore register %i7.
 
/kernel/trunk/arch/sparc64/include/asm.h
/kernel/trunk/arch/sparc64/include/context.h
/kernel/trunk/arch/sparc64/include/context_offset.h
/kernel/trunk/arch/sparc64/include/register.h
/kernel/trunk/arch/sparc64/src/context.S
/kernel/trunk/arch/sparc64/src/dummy.s
/kernel/trunk/generic/include/debug.h
/kernel/trunk/generic/src/proc/scheduler.c
646 6855 d 6 h jermar /kernel/trunk/ Fix cpu_init(): frame_alloc() can return 0 as the valid address of block of frames. Do not signal error.

sparc64 work.
Reorganize kernel vs. userspace memory layout.
Add panic_printf().
Turn dummy() into nop rather than into infinite loop.
 
/kernel/trunk/arch/sparc64/src/panic.S
/kernel/trunk/arch/sparc64/Makefile.inc
/kernel/trunk/arch/sparc64/include/mm/page.h
/kernel/trunk/arch/sparc64/include/mm/vm.h
/kernel/trunk/arch/sparc64/src/dummy.s
/kernel/trunk/arch/sparc64/src/mm/tlb.c
/kernel/trunk/arch/sparc64/src/sparc64.c
/kernel/trunk/generic/src/cpu/cpu.c
640 6856 d 6 h jermar /kernel/trunk/ sparc64 work.
CPU identification.
 
/kernel/trunk/arch/sparc64/include/register.h
/kernel/trunk/arch/sparc64/src/cpu
/kernel/trunk/arch/sparc64/src/cpu/cpu.c
/kernel/trunk/arch/sparc64/Makefile.inc
/kernel/trunk/arch/sparc64/include/asm.h
/kernel/trunk/arch/sparc64/include/cpu.h
/kernel/trunk/arch/sparc64/src/dummy.s
/kernel/trunk/generic/src/console/kconsole.c
/kernel/trunk/generic/src/main/main.c
635 6857 d 5 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
631 6858 d 8 h palkovsky /kernel/trunk/ Fixed cpu halting in debug panic mode.  
/kernel/trunk/arch/ia32/include/atomic.h
/kernel/trunk/arch/mips32/src/debugger.c
/kernel/trunk/generic/include/func.h
/kernel/trunk/generic/src/console/console.c
/kernel/trunk/generic/src/lib/func.c
/kernel/trunk/generic/src/proc/scheduler.c
629 6858 d 10 h decky /kernel/trunk/ init task loading (yet buggy)  
/kernel/trunk/arch/ia32/boot/grub.img.gz
/kernel/trunk/arch/ia32/src/boot/boot.S
/kernel/trunk/generic/include/mm/frame.h
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/mm/frame.c
628 6858 d 11 h decky /kernel/trunk/ ia32: floppy boot image uses GRUB  
/kernel/trunk/arch/ia32/boot/grub.img.gz
/kernel/trunk/arch/ia32/boot/boot.S
/kernel/trunk/arch/ia32/boot/boot.ld
/kernel/trunk/arch/ia32/boot/Makefile
/kernel/trunk/arch/ia32/src/boot/boot.S
/kernel/trunk/generic/include/config.h
/kernel/trunk/generic/src/main/main.c
625 6858 d 13 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
624 6858 d 14 h jermar /kernel/trunk/generic/ Add LIST_INITIALIZE() macro to declare and initialize statically allocated lists.  
/kernel/trunk/generic/include/list.h
/kernel/trunk/generic/include/mm/frame.h
/kernel/trunk/generic/src/console/kconsole.c
/kernel/trunk/generic/src/mm/frame.c
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/proc/thread.c
623 6858 d 19 h jermar /kernel/trunk/ Add SPINLOCK_DECLARE and SPINLOCK_INITIALIZE macros.
SPINLOCK_DECLARE is to be used instead of direct spinlock_t declarations
in dynamically allocated structures on which spinlock_initialize() is called after
their creation.
SPINLOCK_INITIALIZE is to be used instead of direct spinlock_t declarations
of global spinlocks. It declares and initializes the spinlock.
Moreover, both macros are empty on UP so that -Wall warnings about unused structures
get supressed.
 
/kernel/trunk/arch/ia32/src/drivers/ega.c
/kernel/trunk/arch/ia32/src/drivers/i8042.c
/kernel/trunk/arch/ia32/src/mm/page.c
/kernel/trunk/arch/mips32/src/debugger.c
/kernel/trunk/arch/mips32/src/mm/asid.c
/kernel/trunk/generic/include/console/chardev.h
/kernel/trunk/generic/include/console/kconsole.h
/kernel/trunk/generic/include/cpu.h
/kernel/trunk/generic/include/mm/frame.h
/kernel/trunk/generic/include/mm/vm.h
/kernel/trunk/generic/include/proc/scheduler.h
/kernel/trunk/generic/include/proc/task.h
/kernel/trunk/generic/include/proc/thread.h
/kernel/trunk/generic/include/synch/rwlock.h
/kernel/trunk/generic/include/synch/spinlock.h
/kernel/trunk/generic/include/synch/waitq.h
/kernel/trunk/generic/include/time/timeout.h
/kernel/trunk/generic/src/console/kconsole.c
/kernel/trunk/generic/src/cpu/cpu.c
/kernel/trunk/generic/src/debug/print.c
/kernel/trunk/generic/src/interrupt/interrupt.c
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/generic/src/mm/frame.c
/kernel/trunk/generic/src/mm/heap.c
/kernel/trunk/generic/src/mm/tlb.c
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/generic/src/synch/rwlock.c
/kernel/trunk/test/synch/rwlock4/test.c
/kernel/trunk/test/synch/semaphore2/test.c
/kernel/trunk/test/thread/thread1/test.c
622 6859 d 9 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