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
786 6681 d 23 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 6684 d 16 h palkovsky /kernel/trunk/ Debugged slab allocator. It currently supports per-CPU cache on 1 cpu.  
764 6684 d 23 h palkovsky /kernel/trunk/ Tested basic non-cached slab allocation.  
762 6685 d 2 h palkovsky /kernel/trunk/ Currently not-working SLAB allocator.
- slightly changed interface to frame_alloc, allow zone preference
 
759 6685 d 14 h palkovsky /kernel/trunk/ Skeleton of SLAB allocator.  
735 6695 d 23 h bondari /kernel/trunk/ Fixes, comments, tests to frame allocator  
724 6700 d 19 h palkovsky /kernel/trunk/ Commit of the falloc_bad branch to trunk (719:723).  
703 6705 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().
 
701 6707 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 6709 d 23 h bondari /kernel/trunk/ Frame alloc test #1  
686 6710 d 0 h bondari /kernel/trunk/generic/ Minor changes to 'zone' command  
683 6710 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 6713 d 21 h bondari /kernel/trunk/generic/src/ Comments to zone console commands  
676 6713 d 21 h bondari /kernel/trunk/generic/ Memory zones console command implementation. todo: buddy allocator structures.  
629 6733 d 20 h decky /kernel/trunk/ init task loading (yet buggy)  
624 6734 d 0 h jermar /kernel/trunk/generic/ Add LIST_INITIALIZE() macro to declare and initialize statically allocated lists.  
623 6734 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 6736 d 4 h palkovsky /kernel/trunk/ Cleanups to make it compile with -Wall. Did not catch everything yet.  
564 6741 d 17 h jermar /kernel/trunk/ Send in some improvements.  
552 6742 d 18 h palkovsky /kernel/trunk/ Named spinlocks  
541 6743 d 16 h jermar /kernel/trunk/generic/src/mm/ Get rid of junk.  
539 6743 d 20 h jermar /kernel/trunk/ Buddy allocator cleanup and fixes.
- Add some comments.
- Update zone information on frames allocation/deallocation.
 
538 6743 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 6743 d 22 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 6744 d 18 h bondari /kernel/trunk/ Minor bugfix caused by invalid frame_region_not_free() usage  
534 6744 d 20 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
533 6744 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 6744 d 20 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
501 6757 d 0 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
489 6764 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 6764 d 5 h bondari /SPARTAN/trunk/generic/src/mm/ Small fix :)  
487 6764 d 5 h bondari /SPARTAN/trunk/generic/src/mm/ Frame isect/coalesce functions optimization  
480 6766 d 19 h bondari /SPARTAN/trunk/generic/ Buddy system allocator implementation. Not checked. For review only.  
479 6767 d 21 h bondari /SPARTAN/trunk/generic/ Buddy system implementation. Not functional yet - only framework prepeared.
Also added 2 macros FRAME2ADDR and ADDR2FRAME.
 
430 6777 d 17 h jermar /SPARTAN/trunk/ Move src/ and include/ to generic.  
413 6792 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.
 
375 6814 d 23 h jermar /SPARTAN/trunk/src/mm/ Replace free() call with early_free() call in zone_create().  
374 6816 d 17 h jermar /SPARTAN/trunk/ Revert previous change in frame_t as it broke IA-64.
(Most likely some alignment problem.)

Rename heap_init(), malloc() and free(), respectively, to early_heap_init(), early_malloc() and early_free(), respectively.
Define new macros malloc() and free(). They are to be replaced by real functions some day.
 
373 6816 d 19 h jermar /SPARTAN/trunk/ Physical memory management work.
Add "__attribute__ ((packed))" to frame_t so that it takes up less space.
Note that this is essential as there is lot of these structures.
Remove busy list from zone_t as it is redundant.
 
368 6819 d 2 h jermar /SPARTAN/trunk/ Physical memory management work.
New frame allocator.
Some architectures need to have bigger heap.