Subversion Repositories HelenOS

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
2141 6432 d 12 h jermar /trunk/ The Ultimate Solution To Illegal Virtual Aliases.
It is better to avoid them completely than to fight them.
Switch the sparc64 port to 16K pages. The TLBs and TSBs
continue to operate with 8K pages only. Page tables and
other generic parts operate with 16K pages.

Because the MMU doesn't support 16K directly, each 16K
page is emulated by a pair of 8K pages. With 16K pages,
illegal aliases cannot be created in 16K D-cache.
 
2089 6490 d 22 h decky /trunk/ huge type system cleanup
remove cyclical type dependencies across multiple header files
many minor coding style fixes
 
2071 6501 d 15 h jermar /trunk/ (c) versus (C)  
2009 6545 d 14 h jermar /trunk/kernel/ Initial support for handling illegal virtual aliases on sparc64.  
1889 6623 d 15 h jermar /trunk/kernel/ Fix bug in mm/as.c:
- as_area_destroy() should not work with AS but as

sparc64 work:
- start implementing TSB support
 
1864 6637 d 12 h jermar /trunk/ sparc64 update.
- Prototype userspace layer implementation that
at least relates to sparc64 and compiles cleanly.
- Fixes for kernel's preemptible_handler and code
related to running userspace.
- Enable userspace. Several dozen instructions
are now run in userspace! We are pretty near
the userspace milestone for sparc64.
 
1860 6640 d 17 h jermar /trunk/kernel/ A lot of untested sparc64 stuff:
- Write ASID to hardware when a thread is about to run in userspace.
- Add userspace() and switch_to_userspace() functions.
- Handle special cases when the userspace spill/fill handler causes MMU trap.
- Resolve some TODOs in the existing sparc64 code.
- sparc64 has now C99 compliant header guards.
- Formatting and indentation fixes.
 
1787 6691 d 17 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1702 6719 d 21 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1511 6730 d 21 h palkovsky /kernel/trunk/arch/ Remove __address from include file included by uspace  
1070 6808 d 1 h jermar /kernel/trunk/ More checks for address space area conflicts.  
940 6812 d 17 h jermar /kernel/trunk/ Get rid of unneeded macros.
Their functionality has been replaced by the ELF loader.
 
756 6852 d 12 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.
 
703 6870 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().
 
646 6896 d 13 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.
 
534 6910 d 16 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
532 6910 d 16 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
501 6922 d 20 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
418 6953 d 15 h jermar /SPARTAN/trunk/ sparc64 infrastructure.