Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
703 |
6790 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
|
684 |
6795 d 21 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
|
674 |
6800 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
|
659 |
6813 d 0 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
|
655 |
6814 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
|
651 |
6815 d 11 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
|
625 |
6819 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
|
586 |
6824 d 20 h |
jermar |
/kernel/trunk/ |
Fix ppc32 and sparc64 to compile again.
Fix sparc64 to function again. |
|
/kernel/trunk/arch/ppc32/include/console.h /kernel/trunk/arch/sparc64/include/console.h
/kernel/trunk/arch/ia64/src/ski/ski.c /kernel/trunk/arch/ppc32/src/console.c /kernel/trunk/arch/ppc32/src/ppc32.c /kernel/trunk/arch/sparc64/src/console.c /kernel/trunk/arch/sparc64/src/sparc64.c /kernel/trunk/generic/include/console/chardev.h /kernel/trunk/generic/include/interrupt.h /kernel/trunk/generic/src/interrupt/interrupt.c
|
581 |
6824 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
|
577 |
6825 d 10 h |
palkovsky |
/kernel/trunk/ |
Some small fixes, basic changes to ia64 & ppc32 without testing. |
|
/kernel/trunk/arch/ia64/include/drivers/keyboard.h /kernel/trunk/arch/ia64/src/drivers/keyboard.c
/kernel/trunk/Makefile /kernel/trunk/arch/ia64/include/ski/ski.h /kernel/trunk/arch/ia64/src/drivers/it.c /kernel/trunk/arch/ia64/src/ia64.c /kernel/trunk/arch/ia64/src/ski/ski.c /kernel/trunk/arch/mips32/src/drivers/arc.c /kernel/trunk/arch/mips32/src/drivers/serial.c /kernel/trunk/arch/ppc32/src/console.c
|
569 |
6826 d 13 h |
jermar |
/kernel/trunk/ |
sparc64 work.
Implement functions for reading IMMU and DMMU TLBs. |
|
/kernel/trunk/arch/amd64/include/mm/tlb.h /kernel/trunk/arch/ia32/include/mm/tlb.h /kernel/trunk/arch/ia64/include/mm/tlb.h /kernel/trunk/arch/mips32/src/mm/tlb.c /kernel/trunk/arch/ppc32/include/mm/tlb.h /kernel/trunk/arch/sparc64/Makefile.inc /kernel/trunk/arch/sparc64/include/asm.h /kernel/trunk/arch/sparc64/include/barrier.h /kernel/trunk/arch/sparc64/include/mm/tlb.h /kernel/trunk/arch/sparc64/include/types.h /kernel/trunk/generic/include/mm/tlb.h /kernel/trunk/generic/src/mm/tlb.c
|
534 |
6830 d 16 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel again. |
|
/kernel
/SPARTAN
|
533 |
6830 d 16 h |
bondari |
/SPARTAN/trunk/ |
Buddy allocator for physical memory complete implementation.
Tested on IA32, AMD64, MIPS32. RWLock Test #5 is not passed.
NOTE: Other architectures could be broken (but should not be) |
|
/SPARTAN/trunk/Makefile.config /SPARTAN/trunk/arch/amd64/src/mm/page.c /SPARTAN/trunk/arch/ia32/src/mm/frame.c /SPARTAN/trunk/arch/ia32/src/mm/page.c /SPARTAN/trunk/arch/ia64/src/mm/frame.c /SPARTAN/trunk/arch/mips32/src/mm/frame.c /SPARTAN/trunk/arch/mips32/src/mm/page.c /SPARTAN/trunk/arch/ppc32/src/mm/frame.c /SPARTAN/trunk/generic/include/mm/buddy.h /SPARTAN/trunk/generic/include/mm/frame.h /SPARTAN/trunk/generic/include/typedefs.h /SPARTAN/trunk/generic/src/cpu/cpu.c /SPARTAN/trunk/generic/src/mm/buddy.c /SPARTAN/trunk/generic/src/mm/frame.c /SPARTAN/trunk/generic/src/mm/page.c /SPARTAN/trunk/generic/src/mm/vm.c /SPARTAN/trunk/generic/src/proc/thread.c
|
532 |
6830 d 16 h |
jermar |
/ |
Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch. |
|
/SPARTAN
/kernel
|
503 |
6842 d 19 h |
jermar |
/kernel/trunk/ |
Rename arch_late_init() to arch_pre_smp_init().
Add arch_post_smp_init().
Enable IRQ_KBD on ia-32 (doesn't work on Bochs SMP, works on Bochs UP). |
|
/kernel/trunk/arch/amd64/src/amd64.c /kernel/trunk/arch/ia32/src/ia32.c /kernel/trunk/arch/ia64/src/dummy.s /kernel/trunk/arch/ia64/src/ia64.c /kernel/trunk/arch/mips32/src/mips32.c /kernel/trunk/arch/ppc32/src/ppc32.c /kernel/trunk/arch/sparc64/src/sparc64.c /kernel/trunk/generic/include/arch.h /kernel/trunk/generic/src/main/main.c
|
501 |
6842 d 20 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel. |
|
/kernel
/SPARTAN
|
493 |
6843 d 13 h |
jermar |
/SPARTAN/trunk/ |
Move genarch/{src|include}/firmware/ofw to genarch/{src|include}/ofw. |
|
/SPARTAN/trunk/genarch/include/ofw /SPARTAN/trunk/genarch/src/ofw
/SPARTAN/trunk/genarch/include/firmware/ofw /SPARTAN/trunk/genarch/src/firmware/ofw
/SPARTAN/trunk/arch/ppc32/include/arch.h /SPARTAN/trunk/arch/ppc32/src/console.c /SPARTAN/trunk/arch/ppc32/src/mm/memory_init.c /SPARTAN/trunk/arch/sparc64/src/console.c /SPARTAN/trunk/genarch/Makefile.inc /SPARTAN/trunk/genarch/src/ofw/ofw.c
|
486 |
6850 d 13 h |
jermar |
/SPARTAN/trunk/ |
Revert to -O3 for all architectures as the mips32 bug got fixed. |
|
/SPARTAN/trunk/Makefile /SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/ia32/Makefile.inc /SPARTAN/trunk/arch/ia64/Makefile.inc /SPARTAN/trunk/arch/mips32/Makefile.inc /SPARTAN/trunk/arch/ppc32/Makefile.inc /SPARTAN/trunk/arch/sparc64/Makefile.inc
|
483 |
6850 d 16 h |
jermar |
/SPARTAN/trunk/ |
For now, each architecture must use its own -O switch (-O2 doesn't work for ia64, -O3 doesn't work for mips32).
New mips32 atomic_add() function.
Cleanup. |
|
/SPARTAN/trunk/Makefile /SPARTAN/trunk/Makefile.config /SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/ia32/Makefile.inc /SPARTAN/trunk/arch/ia64/Makefile.inc /SPARTAN/trunk/arch/mips32/Makefile.inc /SPARTAN/trunk/arch/mips32/include/atomic.h /SPARTAN/trunk/arch/mips32/include/cpu.h /SPARTAN/trunk/arch/mips32/src/interrupt.c /SPARTAN/trunk/arch/ppc32/Makefile.inc /SPARTAN/trunk/arch/sparc64/Makefile.inc /SPARTAN/trunk/generic/include/arch.h /SPARTAN/trunk/generic/include/config.h /SPARTAN/trunk/generic/include/cpu.h /SPARTAN/trunk/generic/include/proc/scheduler.h /SPARTAN/trunk/generic/include/synch/rwlock.h /SPARTAN/trunk/generic/include/typedefs.h /SPARTAN/trunk/generic/src/proc/scheduler.c /SPARTAN/trunk/test/fpu/fpu1/test.c /SPARTAN/trunk/test/fpu/mips1/test.c /SPARTAN/trunk/test/fpu/sse1/test.c /SPARTAN/trunk/test/synch/rwlock5/test.c
|
475 |
6854 d 22 h |
jermar |
/SPARTAN/trunk/ |
Define atomic_t type. |
|
/SPARTAN/trunk/arch/ia32/include/atomic.h /SPARTAN/trunk/arch/ia64/include/atomic.h /SPARTAN/trunk/arch/mips32/include/atomic.h /SPARTAN/trunk/arch/ppc32/include/atomic.h /SPARTAN/trunk/arch/sparc64/include/atomic.h /SPARTAN/trunk/generic/include/proc/scheduler.h /SPARTAN/trunk/generic/src/proc/scheduler.c /SPARTAN/trunk/generic/src/proc/thread.c /SPARTAN/trunk/test/synch/rwlock4/test.c /SPARTAN/trunk/test/synch/rwlock5/test.c /SPARTAN/trunk/test/synch/semaphore1/test.c /SPARTAN/trunk/test/synch/semaphore2/test.c
|