Subversion Repositories HelenOS

Rev

Go to most recent revision | Hide changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
897 6712 d 23 h jermar /kernel/trunk/ sparc64 work.
Fix KBD_VIRT_ADDRESS.
Call before_thread_runs() prior to the switch to the thread's stack. Add comment why this is crucial.
Add after_thread_ran() to the scheduler.
Add before_thread_runs_arch() and after_thread_ran_arch() for sparc64, mapping/demapping thread's kernel stack.
Add dummy after_thread_ran_arch() to all other architectures.
Add dtlb_insert_mapping() to promote code reuse.
 
/kernel/trunk/arch/sparc64/src/proc
/kernel/trunk/arch/sparc64/src/proc/scheduler.c
/kernel/trunk/arch/amd64/src/proc/scheduler.c
/kernel/trunk/arch/ia32/src/proc/scheduler.c
/kernel/trunk/arch/ia64/src/dummy.s
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/arch/ppc32/src/dummy.s
/kernel/trunk/arch/sparc64/Makefile.inc
/kernel/trunk/arch/sparc64/include/drivers/i8042.h
/kernel/trunk/arch/sparc64/include/mm/tlb.h
/kernel/trunk/arch/sparc64/include/trap/exception.h
/kernel/trunk/arch/sparc64/src/console.c
/kernel/trunk/arch/sparc64/src/mm/tlb.c
/kernel/trunk/arch/sparc64/src/sparc64.c
/kernel/trunk/arch/sparc64/src/trap/exception.c
/kernel/trunk/arch/sparc64/src/trap/trap_table.S
/kernel/trunk/generic/include/proc/scheduler.h
/kernel/trunk/generic/src/proc/scheduler.c
893 6713 d 10 h jermar /kernel/trunk/arch/ sparc64 work.
Revive OFW console code and use it before the kernel switches to standalone console.

ia32 + ia64 cosmetic changes.
 
/kernel/trunk/arch/ia32/src/drivers/i8042.c
/kernel/trunk/arch/ia64/src/ski/ski.c
/kernel/trunk/arch/ia64/src/start.S
/kernel/trunk/arch/sparc64/include/console.h
/kernel/trunk/arch/sparc64/src/console.c
/kernel/trunk/arch/sparc64/src/sparc64.c
892 6714 d 6 h vana /kernel/trunk/ Itanium active keyboard  
/kernel/trunk/test/fault
/kernel/trunk/test/fault/fault1
/kernel/trunk/test/fault/fault1/test.c
/kernel/trunk/arch/ia64/src/ski/ski.c
/kernel/trunk/kernel.config
879 6715 d 3 h vana /kernel/trunk/arch/ia64/ Itanium kernel page extended to maximum (256M) repaired RR manipulation functions, paging setuping function and added some comments.  
/kernel/trunk/arch/ia64/include/mm/page.h
/kernel/trunk/arch/ia64/src/mm/page.c
/kernel/trunk/arch/ia64/src/start.S
872 6717 d 22 h vana /kernel/trunk/ Init stack base fix
Removing commented code
 
/kernel/trunk/arch/ia64/src/start.S
/kernel/trunk/contrib/arch/ia64/vmaxlma.c
870 6717 d 23 h vana /kernel/trunk/arch/ia64/ Removed forgoten debug function and reverted my mistake  
/kernel/trunk/arch/ia64/include/mm/page.h
/kernel/trunk/arch/ia64/src/start.S
869 6717 d 23 h vana /kernel/trunk/ Uaaaaaaa ;-) Itanium Paging !!!!!! ;-)  
/kernel/trunk/arch/ia64/_link.ld.in
/kernel/trunk/arch/ia64/include/faddr.h
/kernel/trunk/arch/ia64/include/mm/asid.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/ia64/src/start.S
/kernel/trunk/contrib/arch/ia64/vmaxlma.c
/kernel/trunk/generic/include/mm/asid.h
840 6725 d 9 h jermar /kernel/trunk/ Fix filling of hardcoded_ktext_size and hardcoded_kdata_size to use 64 bit stores on ia64.  
/kernel/trunk/arch/ia64/src/start.S
/kernel/trunk/generic/src/mm/as.c
830 6730 d 8 h jermar /kernel/trunk/ Make ASID FIFO for mips32 be allocated statically.
Make ASID FIFO for sparc64 and ia64 be allocated dynamically.
Fix ia64 to call asid_fifo_init().
All three architectures now call asid_fifo_init() from as_arch_init().
 
/kernel/trunk/arch/ia64/src/mm/as.c
/kernel/trunk/arch/mips32/src/mm/as.c
/kernel/trunk/arch/mips32/src/mm/tlb.c
/kernel/trunk/arch/sparc64/src/mm/as.c
/kernel/trunk/arch/sparc64/src/mm/tlb.c
/kernel/trunk/genarch/src/mm/asid_fifo.c
/kernel/trunk/generic/include/adt/fifo.h
823 6731 d 23 h jermar /kernel/trunk/ Reimplement ASID stealing logic.
This time, hopefully, with correct synchronization.
 
/kernel/trunk/arch/ia32/include/mm/asid.h
/kernel/trunk/arch/ia64/src/mm/frame.c
/kernel/trunk/arch/ppc32/include/mm/asid.h
/kernel/trunk/arch/sparc64/src/mm/frame.c
/kernel/trunk/genarch/src/mm/asid.c
/kernel/trunk/genarch/src/mm/page_ht.c
/kernel/trunk/generic/include/mm/as.h
/kernel/trunk/generic/include/mm/asid.h
/kernel/trunk/generic/src/mm/as.c
/kernel/trunk/generic/src/proc/scheduler.c
819 6732 d 2 h vana /kernel/trunk/arch/ia64/ TR tlb filling functions  
/kernel/trunk/arch/ia64/include/mm/page.h
/kernel/trunk/arch/ia64/include/mm/tlb.h
/kernel/trunk/arch/ia64/src/mm/tlb.c
818 6732 d 5 h vana /kernel/trunk/arch/ia64/ IA-64 TLB filling functions for dynamic tlb filling (TC tlb).  
/kernel/trunk/arch/ia64/include/mm/page.h
/kernel/trunk/arch/ia64/include/mm/tlb.h
/kernel/trunk/arch/ia64/src/mm/tlb.c
816 6732 d 9 h jermar /kernel/trunk/ Fix mapping1 test.

Cleanup.
 
/kernel/trunk/arch/ia64/src/mm/frame.c
/kernel/trunk/generic/include/mm/frame.h
/kernel/trunk/test/mm/mapping1/test.c
815 6732 d 9 h jermar /kernel/trunk/ Fix sparc64 and ia64 to work with the changed frame allocator.

Fix ppc32 to at least compile.
 
/kernel/trunk/arch/ia64/include/types.h
/kernel/trunk/arch/ia64/src/mm/frame.c
/kernel/trunk/arch/mips32/src/mm/frame.c
/kernel/trunk/arch/ppc32/include/types.h
/kernel/trunk/arch/ppc32/src/mm/frame.c
/kernel/trunk/arch/sparc64/include/types.h
/kernel/trunk/arch/sparc64/src/mm/frame.c
/kernel/trunk/genarch/src/mm/page_ht.c
/kernel/trunk/generic/src/mm/buddy.c
813 6732 d 23 h jermar /kernel/trunk/ Change ia64 kernel image to link and load at 0x100000 where
it (or its heap or stack) won't mess up with the ROM region.

Blacklist ia64 frame 0 from frame allocator so that 0 won't be
returned to malloc and friends. This can be reenabled again
once the kernel is not identity mapped.
 
/kernel/trunk/arch/ia64/_link.ld.in
/kernel/trunk/arch/ia64/src/mm/frame.c
/kernel/trunk/arch/sparc64/src/mm/frame.c
/kernel/trunk/generic/src/mm/buddy.c
793 6734 d 7 h jermar /kernel/trunk/ Use hash_table_get_instance instead of list_get_instance.
Rename page_operations to page_mapping_operations.
Rename page_pt_operations to pt_mapping_operations.
Rename page_ht_operations to ht_mapping_operations.
 
/kernel/trunk/arch/amd64/src/mm/page.c
/kernel/trunk/arch/ia32/src/mm/page.c
/kernel/trunk/arch/ia64/src/mm/page.c
/kernel/trunk/arch/mips32/src/mm/page.c
/kernel/trunk/arch/ppc32/src/mm/page.c
/kernel/trunk/arch/sparc64/src/mm/frame.c
/kernel/trunk/arch/sparc64/src/mm/page.c
/kernel/trunk/genarch/include/mm/page_ht.h
/kernel/trunk/genarch/include/mm/page_pt.h
/kernel/trunk/genarch/src/mm/page_ht.c
/kernel/trunk/genarch/src/mm/page_pt.c
/kernel/trunk/generic/include/adt/hash_table.h
/kernel/trunk/generic/include/mm/page.h
/kernel/trunk/generic/src/mm/page.c
792 6734 d 8 h jermar /kernel/trunk/ Page hash table architectures now use generic hash table to manage
mappings.
 
/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/include/mm/page.h
/kernel/trunk/arch/sparc64/include/types.h
/kernel/trunk/arch/sparc64/src/mm/frame.c
/kernel/trunk/genarch/include/mm/page_ht.h
/kernel/trunk/genarch/src/mm/as_ht.c
/kernel/trunk/genarch/src/mm/page_ht.c
/kernel/trunk/generic/include/adt/hash_table.h
/kernel/trunk/generic/src/adt/hash_table.c
/kernel/trunk/generic/src/mm/as.c
786 6735 d 7 h bondari /kernel/trunk/ frame_alloc() functions variations in order to avoid problems with frame_alloc_generic() changes.
IMPORTANT: Parameter order for frame_alloc() was changed
 
/kernel/trunk/arch/ia64/src/mm/page.c
/kernel/trunk/genarch/src/mm/as_ht.c
/kernel/trunk/genarch/src/mm/as_pt.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/as.c
/kernel/trunk/generic/src/mm/frame.c
/kernel/trunk/generic/src/mm/slab.c
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/test/mm/falloc1/test.c
/kernel/trunk/test/mm/falloc2/test.c
/kernel/trunk/test/mm/mapping1/test.c
762 6738 d 9 h palkovsky /kernel/trunk/ Currently not-working SLAB allocator.
- slightly changed interface to frame_alloc, allow zone preference
 
/kernel/trunk/arch/ia64/src/mm/page.c
/kernel/trunk/genarch/src/mm/as_ht.c
/kernel/trunk/genarch/src/mm/as_pt.c
/kernel/trunk/genarch/src/mm/page_pt.c
/kernel/trunk/generic/include/mm/frame.h
/kernel/trunk/generic/include/mm/slab.h
/kernel/trunk/generic/src/cpu/cpu.c
/kernel/trunk/generic/src/mm/as.c
/kernel/trunk/generic/src/mm/frame.c
/kernel/trunk/generic/src/mm/slab.c
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/test/mm/falloc1/test.c
/kernel/trunk/test/mm/falloc2/test.c
/kernel/trunk/test/mm/mapping1/test.c
/kernel/trunk/test/mm/slab1/test.c
758 6739 d 0 h jermar /kernel/trunk/arch/ sparc64 bugfix.
When disabling IMMU and DMMU the kernel has to perform synchronization operation
(e.g flush %r or membar #Sync instruction). There is no guarantee that the address
contained in %r is in DTLB and therefore the flush instruction can fault. Normally
this would be recognized and fixed by the OpenFirmware Fast Data MMU fault handler.
However, this handler lives in virtually mapped memory and an attempt to execute
there while the MMUs are disabled would result in a nested trap leading to error state.
Replacing flush %r instruction with membar #Sync, wich is sufficient in this case,
fixes this problem.
 
/kernel/trunk/arch/ia64/src/mm/frame.c
/kernel/trunk/arch/sparc64/include/barrier.h
/kernel/trunk/arch/sparc64/include/mm/mmu.h
/kernel/trunk/arch/sparc64/include/mm/page.h

Show All