Subversion Repositories HelenOS-historic

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
823 6730 d 16 h jermar /kernel/trunk/ Reimplement ASID stealing logic.
This time, hopefully, with correct synchronization.
 
815 6731 d 2 h jermar /kernel/trunk/ Fix sparc64 and ia64 to work with the changed frame allocator.

Fix ppc32 to at least compile.
 
765 6736 d 18 h jermar /kernel/trunk/ Add PAGE_WIDTH to aid divisions by PAGE_SIZE.  
763 6737 d 0 h jermar /kernel/trunk/ Modify frame.h to use shifting instead of multiplication and division.
Define FRAME_WIDTH for all architectures.
 
760 6737 d 2 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 6738 d 15 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 6750 d 17 h jermar /kernel/trunk/ New ASID management subsystem (initial work, more is required).
Some TLB invalidation changes.
 
703 6757 d 2 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 6766 d 4 h cejka /kernel/trunk/ Support for printing float numbers in kernel removed.  
655 6780 d 21 h jermar /kernel/trunk/arch/ Compilation fixes.  
651 6781 d 15 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 6785 d 23 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 6790 d 23 h jermar /kernel/trunk/ Fix ppc32 and sparc64 to compile again.
Fix sparc64 to function again.
 
581 6791 d 3 h palkovsky /kernel/trunk/ Small debug changes.  
569 6792 d 17 h jermar /kernel/trunk/ sparc64 work.
Implement functions for reading IMMU and DMMU TLBs.
 
534 6796 d 20 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
532 6796 d 20 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
501 6809 d 0 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
493 6809 d 17 h jermar /SPARTAN/trunk/ Move genarch/{src|include}/firmware/ofw to genarch/{src|include}/ofw.  
475 6821 d 1 h jermar /SPARTAN/trunk/ Define atomic_t type.  
421 6836 d 15 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 6844 d 6 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 6844 d 16 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 6857 d 17 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 6858 d 4 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 6872 d 18 h jermar /SPARTAN/trunk/arch/ Fix copyright notices.  
361 6872 d 19 h bondari /SPARTAN/trunk/ Memory routines per-arch declations for future implementation  
342 6880 d 1 h jermar /SPARTAN/trunk/arch/ Rename ppc port to ppc32.  
338 6881 d 0 h jermar /SPARTAN/trunk/ Avoid code duplication by creating generic byteorder.h.
Some naming changes in swap functions.
 
332 6881 d 2 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 6887 d 6 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 6887 d 16 h jermar /SPARTAN/trunk/ Add byteorder.h to support conversions between different endianesses.
Add native_le2host().

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

Comment AMD64's get_stack_base().
 
230 6891 d 0 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 6891 d 17 h decky /SPARTAN/trunk/ many PPC stuff, platform dependent arch.h header files  
207 6892 d 4 h decky /SPARTAN/trunk/ separated stack mapping  
204 6892 d 6 h decky /SPARTAN/trunk/arch/ppc/include/ PPC interrupt high/low/restore  
201 6892 d 17 h decky /SPARTAN/trunk/arch/ppc/ header fixes