Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
756 |
6820 d 8 h |
jermar |
/kernel/trunk/ |
Memory management work.
Remove the last (i.e. 'root') argument from page_mapping_insert() and page_mapping_find().
Page table address is now extracted from the first (i.e. 'as') argument.
Add a lot of infrastructure to make the above possible.
sparc64 is now broken, most likely because of insufficient identity mapping of physical memory. |
|
/kernel/trunk/arch/amd64/src/mm/as.c /kernel/trunk/arch/ia32/src/mm/as.c /kernel/trunk/arch/ia64/src/mm/as.c /kernel/trunk/arch/ppc32/src/mm/as.c /kernel/trunk/arch/sparc64/src/mm/as.c /kernel/trunk/genarch/include/mm/as_ht.h /kernel/trunk/genarch/include/mm/as_pt.h /kernel/trunk/genarch/src/mm/as_ht.c /kernel/trunk/genarch/src/mm/as_pt.c
/kernel/trunk/arch/amd64/Makefile.inc /kernel/trunk/arch/amd64/include/mm/as.h /kernel/trunk/arch/amd64/src/mm/page.c /kernel/trunk/arch/ia32/Makefile.inc /kernel/trunk/arch/ia32/include/mm/as.h /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/ia64/Makefile.inc /kernel/trunk/arch/ia64/include/mm/as.h /kernel/trunk/arch/ia64/include/mm/page.h /kernel/trunk/arch/ia64/src/mm/tlb.c /kernel/trunk/arch/mips32/include/mm/as.h /kernel/trunk/arch/mips32/src/mm/as.c /kernel/trunk/arch/mips32/src/mm/tlb.c /kernel/trunk/arch/ppc32/Makefile.inc /kernel/trunk/arch/ppc32/include/mm/as.h /kernel/trunk/arch/sparc64/Makefile.inc /kernel/trunk/arch/sparc64/include/mm/as.h /kernel/trunk/arch/sparc64/include/mm/frame.h /kernel/trunk/arch/sparc64/include/mm/page.h /kernel/trunk/genarch/Makefile.inc /kernel/trunk/genarch/include/mm/page_ht.h /kernel/trunk/genarch/include/mm/page_pt.h /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/as.h /kernel/trunk/generic/include/mm/buddy.h /kernel/trunk/generic/include/mm/page.h /kernel/trunk/generic/src/main/kinit.c /kernel/trunk/generic/src/main/main.c /kernel/trunk/generic/src/mm/as.c /kernel/trunk/generic/src/mm/page.c /kernel/trunk/test/mm/mapping1/test.c
|
755 |
6821 d 7 h |
jermar |
/kernel/trunk/ |
Change page_mapping_find/insert interfaces to take as_t * as first argument
and not asid_t as second argument. This change was necessitated by the
removal of mapping array from as_area_t and the fact that an address
space doesn't have an ASID when it is created. |
|
/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/include/mm/page_pt.h /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/as.h /kernel/trunk/generic/include/mm/page.h /kernel/trunk/generic/src/main/main.c /kernel/trunk/generic/src/mm/as.c /kernel/trunk/generic/src/mm/page.c /kernel/trunk/test/mm/mapping1/test.c
|
753 |
6821 d 15 h |
jermar |
/kernel/trunk/ |
Convert ASID management of ia64 to ASID FIFO mechanism.
18-bit RIDs are supported. |
|
/kernel/trunk/arch/ia64/src/mm/asid.c
/kernel/trunk/arch/ia64/Makefile.inc /kernel/trunk/arch/ia64/include/mm/asid.h /kernel/trunk/arch/mips32/include/mm/asid.h /kernel/trunk/arch/sparc64/include/mm/asid.h /kernel/trunk/genarch/src/mm/asid.c
|
751 |
6821 d 17 h |
jermar |
/kernel/trunk/arch/ia64/ |
Fix initialization of pta.base on ia64. |
|
/kernel/trunk/arch/ia64/include/mm/page.h /kernel/trunk/arch/ia64/src/mm/page.c
|
750 |
6822 d 12 h |
jermar |
/kernel/trunk/ |
ia32 SMP updates.
Update info about supported version of Bochs (bump the counter to 2.2.6).
Add Task Priority Register type and initialize this register to a known state. |
|
/kernel/trunk/arch/ia32/include/smp/apic.h /kernel/trunk/arch/ia32/src/smp/apic.c /kernel/trunk/doc/arch/amd64 /kernel/trunk/doc/arch/ia32
|
749 |
6823 d 15 h |
jermar |
/kernel/trunk/arch/ia64/ |
ia64 virtual address translation subsystem update. |
|
/kernel/trunk/arch/ia64/include/mm/asid.h /kernel/trunk/arch/ia64/include/mm/page.h /kernel/trunk/arch/ia64/src/mm/asid.c /kernel/trunk/arch/ia64/src/mm/page.c
|
748 |
6824 d 15 h |
jermar |
/kernel/trunk/arch/ia64/ |
First HT_HASH_ARCH implementation for ia64. |
|
/kernel/trunk/arch/ia64/include/mm/page.h /kernel/trunk/arch/ia64/src/mm/page.c
|
747 |
6825 d 9 h |
jermar |
/kernel/trunk/ |
ia64 work.
Add nice wrappers for thash and ttag instructions.
Add nice wrappers for accessing reion registers and PTA.
Fix set_vhpt_environment().
Allocate and initialize page_ht (a.k.a. VHPT).
Add missing header to sparc64.
Remove excessive header from debug.h. |
|
/kernel/trunk/arch/ia64/include/asm.h /kernel/trunk/arch/ia64/include/mm/asid.h /kernel/trunk/arch/ia64/include/mm/page.h /kernel/trunk/arch/ia64/include/types.h /kernel/trunk/arch/ia64/src/mm/page.c /kernel/trunk/arch/sparc64/src/trap/interrupt.c /kernel/trunk/generic/include/debug.h
|
746 |
6825 d 17 h |
jermar |
/kernel/trunk/ |
Page hash table modifications. |
|
/kernel/trunk/arch/ia64/include/asm.h /kernel/trunk/arch/ia64/include/mm/page.h /kernel/trunk/arch/ia64/include/register.h /kernel/trunk/arch/ia64/src/mm/page.c /kernel/trunk/arch/sparc64/include/mm/page.h /kernel/trunk/genarch/include/mm/page_ht.h /kernel/trunk/genarch/src/mm/page_ht.c
|
744 |
6826 d 11 h |
jermar |
/kernel/trunk/arch/ia64/ |
Remove ia64 boot as it is not needed by the simulator. |
|
/kernel/trunk/arch/ia64/boot
|
743 |
6827 d 10 h |
jermar |
/kernel/trunk/arch/ |
sparc64 work.
13 bits wide means the max value is 8191 and not 0x8191. |
|
/kernel/trunk/arch/mips32/include/mm/asid.h /kernel/trunk/arch/sparc64/include/mm/asid.h
|
742 |
6827 d 10 h |
jermar |
/kernel/trunk/arch/ |
sparc64 work.
Memory context (ASID) is, in fact, 13 bits (and not 12 bits) wide. |
|
/kernel/trunk/arch/ia64/src/mm/asid.c /kernel/trunk/arch/sparc64/include/mm/asid.h
|
741 |
6827 d 11 h |
jermar |
/kernel/trunk/ |
Unlock address space prior TLB shootdown in get_asid() to unify
the locking order among mips32, sparc64 and ia64.
Add ASID_STEALING_ENABLED macro to disable the stealing part on ia64
in a clean way. |
|
/kernel/trunk/arch/ia64/include/mm/asid.h /kernel/trunk/arch/mips32/include/mm/asid.h /kernel/trunk/arch/sparc64/include/mm/asid.h /kernel/trunk/genarch/src/mm/asid.c
|
740 |
6827 d 17 h |
jermar |
/kernel/trunk/ |
ia64 ASID management code (not tested). |
|
/kernel/trunk/arch/ia64/src/mm/asid.c /kernel/trunk/arch/ia64/src/mm/tlb.c
/kernel/trunk/arch/ia64/Makefile.inc /kernel/trunk/arch/ia64/include/mm/asid.h /kernel/trunk/genarch/src/mm/asid.c /kernel/trunk/generic/src/mm/tlb.c
|
736 |
6829 d 14 h |
jermar |
/kernel/trunk/arch/ia64/src/ |
Fix panic_printf on ia64 to call halt() instead of cpu_halt(). |
|
/kernel/trunk/arch/ia64/src/asm.S
|
730 |
6830 d 14 h |
jermar |
/kernel/trunk/ |
Finalize ASID management for sparc64 and mips32 by making use of FIFO queue of ASIDs. |
|
/kernel/trunk/genarch/include/mm/asid_fifo.h /kernel/trunk/genarch/src/mm/asid_fifo.c
/kernel/trunk/arch/mips32/src/mm/asid.c
/kernel/trunk/arch/ia32/src/mm/tlb.c /kernel/trunk/arch/ia64/include/mm/asid.h /kernel/trunk/arch/mips32/Makefile.inc /kernel/trunk/arch/mips32/src/mm/tlb.c /kernel/trunk/arch/sparc64/Makefile.inc /kernel/trunk/arch/sparc64/src/mm/tlb.c /kernel/trunk/genarch/Makefile.inc /kernel/trunk/generic/include/mm/asid.h
|
728 |
6832 d 9 h |
vana |
/kernel/trunk/arch/ia64/src/mm/ |
Serialize writes to RR because of assembler RAW warning. |
|
/kernel/trunk/arch/ia64/src/mm/page.c
|
727 |
6832 d 9 h |
jermar |
/kernel/trunk/ |
New ASID management subsystem (initial work, more is required).
Some TLB invalidation changes. |
|
/kernel/trunk/genarch/src/mm/asid.c
/kernel/trunk/arch/ia32/include/mm/asid.h /kernel/trunk/arch/ia32/src/mm/tlb.c /kernel/trunk/arch/ia64/Makefile.inc /kernel/trunk/arch/ia64/include/mm/asid.h /kernel/trunk/arch/mips32/Makefile.inc /kernel/trunk/arch/mips32/include/mm/asid.h /kernel/trunk/arch/mips32/src/mm/as.c /kernel/trunk/arch/mips32/src/mm/asid.c /kernel/trunk/arch/mips32/src/mm/tlb.c /kernel/trunk/arch/ppc32/include/mm/asid.h /kernel/trunk/arch/sparc64/Makefile.inc /kernel/trunk/arch/sparc64/include/mm/asid.h /kernel/trunk/arch/sparc64/src/mm/tlb.c /kernel/trunk/genarch/Makefile.inc /kernel/trunk/generic/include/mm/as.h /kernel/trunk/generic/include/mm/asid.h /kernel/trunk/generic/include/mm/tlb.h /kernel/trunk/generic/src/main/kinit.c /kernel/trunk/generic/src/main/main.c /kernel/trunk/generic/src/mm/as.c /kernel/trunk/generic/src/mm/tlb.c
|
726 |
6832 d 9 h |
jermar |
/kernel/trunk/arch/ia64/src/mm/ |
Temporarily disable set_VHPT_environment() to stop ia64 kernel from faulting. |
|
/kernel/trunk/arch/ia64/src/mm/page.c
|
724 |
6834 d 11 h |
palkovsky |
/kernel/trunk/ |
Commit of the falloc_bad branch to trunk (719:723). |
|
/kernel/trunk/arch/mips32/src/mm/frame.c /kernel/trunk/generic/include/mm/frame.h /kernel/trunk/generic/src/main/main.c /kernel/trunk/generic/src/mm/frame.c /kernel/trunk/test/mm/falloc1/test.c
|
717 |
6836 d 13 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
|
716 |
6836 d 13 h |
vana |
/kernel/trunk/arch/ia64/src/mm/ |
ttag and thash envelope functions |
|
/kernel/trunk/arch/ia64/src/mm/page.c
|
715 |
6836 d 14 h |
vana |
/kernel/trunk/arch/ia64/ |
VHPT setup to be able to use ttag and thash instructions |
|
/kernel/trunk/arch/ia64/include/mm/frame.h /kernel/trunk/arch/ia64/include/mm/page.h /kernel/trunk/arch/ia64/src/mm/page.c
|
714 |
6836 d 14 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 |
6836 d 15 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
|
710 |
6836 d 16 h |
vana |
/kernel/trunk/arch/ia64/include/mm/ |
VHPT entry |
|
/kernel/trunk/arch/ia64/include/mm/page.h
|
704 |
6838 d 15 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 |
6838 d 19 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
|
702 |
6838 d 19 h |
jermar |
/kernel/trunk/arch/amd64/src/ |
Fix amd64 interrupt_handler to properly remove error code from stack before iretq. |
|
/kernel/trunk/arch/amd64/src/asm_utils.S
|
700 |
6841 d 18 h |
jermar |
/kernel/trunk/arch/sparc64/include/ |
Remove fmath.h |
|
/kernel/trunk/arch/sparc64/include/fmath.h
|
699 |
6841 d 18 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
|
696 |
6843 d 12 h |
decky |
/kernel/trunk/arch/amd64/ |
AMD64 SMP boots again |
|
/kernel/trunk/arch/amd64/_link.ld.in /kernel/trunk/arch/amd64/include/pm.h /kernel/trunk/arch/amd64/src/boot/boot.S /kernel/trunk/arch/amd64/src/smp/ap.S
|
695 |
6843 d 13 h |
decky |
/kernel/trunk/arch/amd64/ |
make AMD64 boot again (using grub, see /boot tree), SMP is still broken |
|
/kernel/trunk/arch/amd64/include/boot/boot.h /kernel/trunk/arch/amd64/src/boot/boot.S
|
694 |
6843 d 13 h |
decky |
/kernel/trunk/arch/amd64/ |
break AMD64, will be fixed soon |
|
/kernel/trunk/arch/amd64/boot /kernel/trunk/arch/amd64/include/boot/memmapasm.h /kernel/trunk/arch/amd64/src/boot/memmap.S
/kernel/trunk/arch/amd64/Makefile.inc /kernel/trunk/arch/amd64/_link.ld.in /kernel/trunk/arch/amd64/include/boot/boot.h /kernel/trunk/arch/amd64/src/boot/boot.S /kernel/trunk/arch/amd64/src/mm/memory_init.c
|
693 |
6843 d 14 h |
decky |
/kernel/trunk/arch/ia32/ |
simplify and cleanup ia32 boot process, remove obsolete stuff |
|
/kernel/trunk/arch/ia32/_link.ld.in /kernel/trunk/arch/ia32/include/boot/boot.h /kernel/trunk/arch/ia32/include/pm.h /kernel/trunk/arch/ia32/src/boot/boot.S /kernel/trunk/arch/ia32/src/mm/frame.c /kernel/trunk/arch/ia32/src/pm.c /kernel/trunk/arch/ia32/src/smp/ap.S /kernel/trunk/arch/ia32/src/smp/apic.c /kernel/trunk/arch/ia32/src/smp/smp.c
|
691 |
6843 d 15 h |
jermar |
/kernel/trunk/arch/ |
Cleanup. |
|
/kernel/trunk/arch/amd64/src/mm/page.c /kernel/trunk/arch/ia64/include/mm/page.h /kernel/trunk/arch/sparc64/include/mm/page.h
|
690 |
6843 d 15 h |
bondari |
/kernel/trunk/arch/ |
Fixes of 3-param frame_alloc() function calls |
|
/kernel/trunk/arch/amd64/src/mm/page.c /kernel/trunk/arch/ia32/src/mm/page.c
|
689 |
6843 d 15 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 |
6843 d 15 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
|
685 |
6843 d 16 h |
decky |
/kernel/trunk/arch/amd64/ |
AMD64 PM initialization |
|
/kernel/trunk/arch/amd64/include/pm.h /kernel/trunk/arch/amd64/src/boot/boot.S
|