Subversion Repositories HelenOS

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
1037 6808 d 15 h decky /kernel/trunk/ support for more init tasks
(might break some archs yet)
 
946 6812 d 4 h jermar /kernel/trunk/generic/ Fix frame deallocation.
Zone state is to be upadated only when the frame refcount reaches zero.
 
852 6834 d 11 h palkovsky /kernel/trunk/ Fixes in memory allocator
- proper kernel blacklisting, when kernel not loaded on page boundary
- correct zone adding in zone list (how could this work??)
 
824 6843 d 17 h palkovsky /kernel/trunk/ Use less frames for zone configuration data after merge.  
822 6844 d 3 h palkovsky /kernel/trunk/ Changed malloc to include second parameter and documented
recommended usage.
Added zone merging, made ia32 & amd64 to merge found zones.
 
820 6844 d 4 h jermar /kernel/trunk/ Convert size_t, count_t and index_t to 64-bits on 64-bit architectures.
Change some pfn_t usages to count_t, size_t and index_t.
 
814 6844 d 14 h palkovsky /kernel/trunk/ Cleanup o frame allocator.
Removed early_malloc & initial heap.
Will break ia64, ppc & sparc.
Added e820 table print.
 
788 6847 d 8 h jermar /kernel/trunk/ Move list and fifo data types to adt/.  
786 6847 d 10 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
 
768 6850 d 2 h palkovsky /kernel/trunk/ Debugged slab allocator. It currently supports per-CPU cache on 1 cpu.  
764 6850 d 10 h palkovsky /kernel/trunk/ Tested basic non-cached slab allocation.  
762 6850 d 12 h palkovsky /kernel/trunk/ Currently not-working SLAB allocator.
- slightly changed interface to frame_alloc, allow zone preference
 
759 6851 d 0 h palkovsky /kernel/trunk/ Skeleton of SLAB allocator.  
735 6861 d 9 h bondari /kernel/trunk/ Fixes, comments, tests to frame allocator  
724 6866 d 5 h palkovsky /kernel/trunk/ Commit of the falloc_bad branch to trunk (719:723).  
703 6870 d 13 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().
 
701 6873 d 3 h jermar /kernel/trunk/generic/src/mm/ Fix zone_print_one() and zone_print_list().
- add missing spinlock_unlock()
- add missing interrupts_disable() and interrupts_restore()
Coding style fixes and cleanup.
 
689 6875 d 10 h bondari /kernel/trunk/ Frame alloc test #1  
686 6875 d 11 h bondari /kernel/trunk/generic/ Minor changes to 'zone' command  
683 6875 d 11 h bondari /kernel/trunk/generic/ Console command 'zone' now takes zone address as parameter.
Added buddy system statistics into the 'zone' command.
 
677 6879 d 7 h bondari /kernel/trunk/generic/src/ Comments to zone console commands  
676 6879 d 8 h bondari /kernel/trunk/generic/ Memory zones console command implementation. todo: buddy allocator structures.  
629 6899 d 7 h decky /kernel/trunk/ init task loading (yet buggy)  
624 6899 d 11 h jermar /kernel/trunk/generic/ Add LIST_INITIALIZE() macro to declare and initialize statically allocated lists.  
623 6899 d 16 h jermar /kernel/trunk/ Add SPINLOCK_DECLARE and SPINLOCK_INITIALIZE macros.
SPINLOCK_DECLARE is to be used instead of direct spinlock_t declarations
in dynamically allocated structures on which spinlock_initialize() is called after
their creation.
SPINLOCK_INITIALIZE is to be used instead of direct spinlock_t declarations
of global spinlocks. It declares and initializes the spinlock.
Moreover, both macros are empty on UP so that -Wall warnings about unused structures
get supressed.
 
615 6901 d 15 h palkovsky /kernel/trunk/ Cleanups to make it compile with -Wall. Did not catch everything yet.  
564 6907 d 3 h jermar /kernel/trunk/ Send in some improvements.  
552 6908 d 4 h palkovsky /kernel/trunk/ Named spinlocks  
541 6909 d 3 h jermar /kernel/trunk/generic/src/mm/ Get rid of junk.  
539 6909 d 7 h jermar /kernel/trunk/ Buddy allocator cleanup and fixes.
- Add some comments.
- Update zone information on frames allocation/deallocation.
 
538 6909 d 8 h jermar /kernel/trunk/ Buddy allocator cleanup and fixes II.
- Rewrite IS_BUDDY_LEFT_BLOCK so that it does not need floating point on some architectures (e.g. IA-64).
- Get rid of IS_BUDDY_RIGHT_BLOCK.
- Make sparc64 use zone_create_in_region.
 
537 6909 d 9 h jermar /kernel/trunk/ Buddy system cleanup and fixes.
- missing use of KA2PA in frame_init
- truncating black list addresses to frame boundaries
- removal of left-over obsolete structures
- fixing some comments
 
536 6910 d 5 h bondari /kernel/trunk/ Minor bugfix caused by invalid frame_region_not_free() usage  
534 6910 d 6 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
533 6910 d 7 h bondari /SPARTAN/trunk/ Buddy allocator for physical memory complete implementation.
Tested on IA32, AMD64, MIPS32. RWLock Test #5 is not passed.
NOTE: Other architectures could be broken (but should not be)
 
532 6910 d 7 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
501 6922 d 11 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
489 6929 d 10 h jermar /SPARTAN/trunk/generic/ Make the buddy system more general.
Store implementation defined pointer in buddy_system_t.
Pass buddy system pointer to implementation defined buddy system operations.
 
488 6929 d 15 h bondari /SPARTAN/trunk/generic/src/mm/ Small fix :)  
487 6929 d 15 h bondari /SPARTAN/trunk/generic/src/mm/ Frame isect/coalesce functions optimization