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
845 6677 d 16 h decky /kernel/trunk/ fix stupid bug in ppc32 context_save_arch
save only non-volatile registers in context
 
843 6678 d 7 h palkovsky /kernel/trunk/ Made powerpc to get on PearPC to the version print when compiled with -O1:
- create proper memory zones
- switch to real mode on boot
TODO
- kernel relocation during boot
- autodetection of framebuffer settings (PCI?) - now includes hardcoded
settings for PearPc.
 
833 6682 d 2 h jermar /kernel/trunk/arch/ppc32/include/mm/ Fix ppc32 to at least compile again.  
823 6686 d 4 h jermar /kernel/trunk/ Reimplement ASID stealing logic.
This time, hopefully, with correct synchronization.
 
815 6686 d 14 h jermar /kernel/trunk/ Fix sparc64 and ia64 to work with the changed frame allocator.

Fix ppc32 to at least compile.
 
765 6692 d 6 h jermar /kernel/trunk/ Add PAGE_WIDTH to aid divisions by PAGE_SIZE.  
763 6692 d 12 h jermar /kernel/trunk/ Modify frame.h to use shifting instead of multiplication and division.
Define FRAME_WIDTH for all architectures.
 
760 6692 d 15 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 6694 d 3 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 6706 d 5 h jermar /kernel/trunk/ New ASID management subsystem (initial work, more is required).
Some TLB invalidation changes.
 
703 6712 d 14 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 6721 d 16 h cejka /kernel/trunk/ Support for printing float numbers in kernel removed.  
655 6736 d 9 h jermar /kernel/trunk/arch/ Compilation fixes.  
651 6737 d 3 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 6741 d 11 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 6746 d 11 h jermar /kernel/trunk/ Fix ppc32 and sparc64 to compile again.
Fix sparc64 to function again.
 
581 6746 d 15 h palkovsky /kernel/trunk/ Small debug changes.  
569 6748 d 5 h jermar /kernel/trunk/ sparc64 work.
Implement functions for reading IMMU and DMMU TLBs.
 
534 6752 d 8 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
532 6752 d 8 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
501 6764 d 12 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
493 6765 d 5 h jermar /SPARTAN/trunk/ Move genarch/{src|include}/firmware/ofw to genarch/{src|include}/ofw.  
475 6776 d 13 h jermar /SPARTAN/trunk/ Define atomic_t type.  
421 6792 d 3 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 6799 d 18 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 6800 d 4 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 6813 d 5 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 6813 d 16 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 6828 d 6 h jermar /SPARTAN/trunk/arch/ Fix copyright notices.  
361 6828 d 7 h bondari /SPARTAN/trunk/ Memory routines per-arch declations for future implementation  
342 6835 d 13 h jermar /SPARTAN/trunk/arch/ Rename ppc port to ppc32.  
338 6836 d 12 h jermar /SPARTAN/trunk/ Avoid code duplication by creating generic byteorder.h.
Some naming changes in swap functions.
 
332 6836 d 14 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 6842 d 18 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 6843 d 4 h jermar /SPARTAN/trunk/ Add byteorder.h to support conversions between different endianesses.
Add native_le2host().

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

Comment AMD64's get_stack_base().
 
230 6846 d 12 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 6847 d 5 h decky /SPARTAN/trunk/ many PPC stuff, platform dependent arch.h header files