Subversion Repositories HelenOS-historic

Rev

Go to most recent revision | Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
833 6684 d 21 h jermar /kernel/trunk/arch/ppc32/include/mm/ Fix ppc32 to at least compile again.  
823 6688 d 22 h jermar /kernel/trunk/ Reimplement ASID stealing logic.
This time, hopefully, with correct synchronization.
 
815 6689 d 9 h jermar /kernel/trunk/ Fix sparc64 and ia64 to work with the changed frame allocator.

Fix ppc32 to at least compile.
 
765 6695 d 1 h jermar /kernel/trunk/ Add PAGE_WIDTH to aid divisions by PAGE_SIZE.  
763 6695 d 7 h jermar /kernel/trunk/ Modify frame.h to use shifting instead of multiplication and division.
Define FRAME_WIDTH for all architectures.
 
760 6695 d 9 h jermar /kernel/trunk/ mips32 is not supposed to allocate page table.
This is done by the generic code now.
Remove PTL0 pointer as it is not needed.

Remove GET_PTL0_ADDRESS from kernel.

Update sparc64 comments in barrier.h.
 
756 6696 d 22 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.
 
727 6709 d 0 h jermar /kernel/trunk/ New ASID management subsystem (initial work, more is required).
Some TLB invalidation changes.
 
703 6715 d 9 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().
 
674 6724 d 10 h cejka /kernel/trunk/ Support for printing float numbers in kernel removed.  
655 6739 d 4 h jermar /kernel/trunk/arch/ Compilation fixes.  
651 6739 d 21 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)
 
625 6744 d 6 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.
 
586 6749 d 6 h jermar /kernel/trunk/ Fix ppc32 and sparc64 to compile again.
Fix sparc64 to function again.
 
581 6749 d 10 h palkovsky /kernel/trunk/ Small debug changes.  
569 6750 d 23 h jermar /kernel/trunk/ sparc64 work.
Implement functions for reading IMMU and DMMU TLBs.
 
534 6755 d 2 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
532 6755 d 3 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
501 6767 d 7 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
493 6768 d 0 h jermar /SPARTAN/trunk/ Move genarch/{src|include}/firmware/ofw to genarch/{src|include}/ofw.  
475 6779 d 8 h jermar /SPARTAN/trunk/ Define atomic_t type.  
421 6794 d 22 h jermar /SPARTAN/trunk/ Create genarch directory.
Move ppc32 ofw.[ch] to genarch.
Fix prototype for ofw_call() to return __address instead of int (please review).
Fix copyright notice in sparc64/boot/boot.S.
 
414 6802 d 12 h jermar /SPARTAN/trunk/ Create generic context_save() and context_restore().
These two functions are defined inline and only call context_save_arch() and context_restore_arch(), respectively.
The main purpose of this is to enable centralized commenting of these important and tricky functions.
 
413 6802 d 23 h jermar /SPARTAN/trunk/ Rename cpu_priority_{high|low|restore|read} functions to interrupts_{disable|enable|restore|read}.
Rename pri_t to ipl_t (Interrupt Priority Level).
Rename thread_t::pri to thread_t::priority.
 
391 6816 d 0 h jermar /SPARTAN/trunk/ mips32 memory management work.
TLB Refill Exception implemented (passed basic testing).
Remove bit g from struct entry_hi.
Add generic find_mapping().
Add asid to vm_t type, define asid_t to hide architecture specific differences.
Implement ASID allocation for mips32, dummy for other architectures.
Add THE->vm (a.k.a. VM).
Add vm_install_arch().
Move pte_t definition to arch/types.h on each architecture.
Fix PTL manipulating functions on mips32 to shift pfn by 12 instead of by 14.
Fix tlb_init_arch() to initialize all entries.

Other.
Remove unnecessary header files from arch.h
Add missing headers here and there.
Remove two unnecessary ld flags from mips32 makefile.
 
389 6816 d 11 h jermar /SPARTAN/trunk/ MIPS work.
Fix some name inconsistencies between cp0 functions' declarations and definitions.
Add and implement tlb_init_arch().
Add tlb_modified() exception handler.

Other architectures: add dummy tlb_init_arch().
 
363 6831 d 1 h jermar /SPARTAN/trunk/arch/ Fix copyright notices.  
361 6831 d 2 h bondari /SPARTAN/trunk/ Memory routines per-arch declations for future implementation  
342 6838 d 8 h jermar /SPARTAN/trunk/arch/ Rename ppc port to ppc32.  
338 6839 d 7 h jermar /SPARTAN/trunk/ Avoid code duplication by creating generic byteorder.h.
Some naming changes in swap functions.
 
332 6839 d 9 h palkovsky /SPARTAN/trunk/ Updated symtab so that it works correctly with BE architectures.
Changed compiler for BE MIPS to be mips-sgi-irix5, because
mipsel -EB does not behave correctly.
Doc updates to amd64.
Added ARC BIOS support to MIPS architecture. Putchar works correctly,
kernel passed FPU & some rwlock tests.
 
294 6845 d 12 h jermar /SPARTAN/trunk/arch/ Add timeout to kmp() so that we don't deadlock while waiting for AP's to come up.

Improve comment in byteorder.h.
 
292 6845 d 23 h jermar /SPARTAN/trunk/ Add byteorder.h to support conversions between different endianesses.
Add native_le2host().

Use native_le2host() in get_symtab_entry().
 
266 6847 d 8 h cejka /SPARTAN/trunk/ Support for NaN and infinity in printf.  
254 6847 d 13 h decky /SPARTAN/trunk/arch/ppc/ fix stupid assembler bugs in cpu_priority_* (PPC)  
253 6847 d 13 h jermar /SPARTAN/trunk/arch/ Implement PPC's get_stack_base().

Comment AMD64's get_stack_base().
 
230 6849 d 7 h cejka /SPARTAN/trunk/arch/ Created fmath as basic tool for IEEE 754 floating point numbers.
Added option $F for printf for printing "double" type.
 
210 6850 d 0 h decky /SPARTAN/trunk/ many PPC stuff, platform dependent arch.h header files  
207 6850 d 10 h decky /SPARTAN/trunk/ separated stack mapping  
204 6850 d 12 h decky /SPARTAN/trunk/arch/ppc/include/ PPC interrupt high/low/restore