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
946 6639 d 18 h jermar /kernel/trunk/generic/ Fix frame deallocation.
Zone state is to be upadated only when the frame refcount reaches zero.
 
852 6662 d 1 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 6671 d 6 h palkovsky /kernel/trunk/ Use less frames for zone configuration data after merge.  
822 6671 d 17 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 6671 d 17 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 6672 d 3 h palkovsky /kernel/trunk/ Cleanup o frame allocator.
Removed early_malloc & initial heap.
Will break ia64, ppc & sparc.
Added e820 table print.
 
788 6674 d 22 h jermar /kernel/trunk/ Move list and fifo data types to adt/.  
786 6675 d 0 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 6677 d 16 h palkovsky /kernel/trunk/ Debugged slab allocator. It currently supports per-CPU cache on 1 cpu.  
764 6678 d 0 h palkovsky /kernel/trunk/ Tested basic non-cached slab allocation.  
762 6678 d 2 h palkovsky /kernel/trunk/ Currently not-working SLAB allocator.
- slightly changed interface to frame_alloc, allow zone preference
 
759 6678 d 14 h palkovsky /kernel/trunk/ Skeleton of SLAB allocator.  
735 6688 d 23 h bondari /kernel/trunk/ Fixes, comments, tests to frame allocator  
724 6693 d 19 h palkovsky /kernel/trunk/ Commit of the falloc_bad branch to trunk (719:723).  
703 6698 d 3 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 6700 d 17 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 6702 d 23 h bondari /kernel/trunk/ Frame alloc test #1  
686 6703 d 1 h bondari /kernel/trunk/generic/ Minor changes to 'zone' command  
683 6703 d 1 h bondari /kernel/trunk/generic/ Console command 'zone' now takes zone address as parameter.
Added buddy system statistics into the 'zone' command.
 
677 6706 d 21 h bondari /kernel/trunk/generic/src/ Comments to zone console commands  
676 6706 d 21 h bondari /kernel/trunk/generic/ Memory zones console command implementation. todo: buddy allocator structures.  
629 6726 d 20 h decky /kernel/trunk/ init task loading (yet buggy)  
624 6727 d 0 h jermar /kernel/trunk/generic/ Add LIST_INITIALIZE() macro to declare and initialize statically allocated lists.  
623 6727 d 5 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 6729 d 4 h palkovsky /kernel/trunk/ Cleanups to make it compile with -Wall. Did not catch everything yet.  
564 6734 d 17 h jermar /kernel/trunk/ Send in some improvements.  
552 6735 d 18 h palkovsky /kernel/trunk/ Named spinlocks  
541 6736 d 16 h jermar /kernel/trunk/generic/src/mm/ Get rid of junk.  
539 6736 d 21 h jermar /kernel/trunk/ Buddy allocator cleanup and fixes.
- Add some comments.
- Update zone information on frames allocation/deallocation.
 
538 6736 d 22 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 6736 d 23 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 6737 d 19 h bondari /kernel/trunk/ Minor bugfix caused by invalid frame_region_not_free() usage  
534 6737 d 20 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
533 6737 d 20 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 6737 d 20 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
501 6750 d 1 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
489 6757 d 0 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 6757 d 5 h bondari /SPARTAN/trunk/generic/src/mm/ Small fix :)  
487 6757 d 5 h bondari /SPARTAN/trunk/generic/src/mm/ Frame isect/coalesce functions optimization  
480 6759 d 19 h bondari /SPARTAN/trunk/generic/ Buddy system allocator implementation. Not checked. For review only.