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
1138 6803 d 1 h jermar /kernel/trunk/ CPU stacks must have two frames on ia64.
Make sure both thread stack frames are mapped in before_thread_runs_arch().
Take STACK_FRAMES into account during kernel memory layout initialization in main_bsp().
 
1063 6813 d 18 h palkovsky /kernel/trunk/ Add support for more then 2GB of address space for AMD64.  
946 6817 d 20 h jermar /kernel/trunk/generic/ Fix frame deallocation.
Zone state is to be upadated only when the frame refcount reaches zero.
 
935 6818 d 1 h vana /kernel/trunk/ Two frame stack (standard stack + RSE) on Itanium  
827 6848 d 19 h palkovsky /kernel/trunk/ Unimportant changes regarding FPU context.  
822 6849 d 19 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 6849 d 20 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.
 
816 6850 d 4 h jermar /kernel/trunk/ Fix mapping1 test.

Cleanup.
 
814 6850 d 6 h palkovsky /kernel/trunk/ Cleanup o frame allocator.
Removed early_malloc & initial heap.
Will break ia64, ppc & sparc.
Added e820 table print.
 
788 6853 d 0 h jermar /kernel/trunk/ Move list and fifo data types to adt/.  
786 6853 d 2 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
 
778 6853 d 23 h palkovsky /kernel/trunk/ Fixed boot process not to call malloc when slab not initialized.
Added simics workaround.
 
763 6856 d 3 h jermar /kernel/trunk/ Modify frame.h to use shifting instead of multiplication and division.
Define FRAME_WIDTH for all architectures.
 
762 6856 d 4 h palkovsky /kernel/trunk/ Currently not-working SLAB allocator.
- slightly changed interface to frame_alloc, allow zone preference
 
759 6856 d 16 h palkovsky /kernel/trunk/ Skeleton of SLAB allocator.  
724 6871 d 21 h palkovsky /kernel/trunk/ Commit of the falloc_bad branch to trunk (719:723).  
689 6881 d 1 h bondari /kernel/trunk/ Frame alloc test #1  
683 6881 d 3 h bondari /kernel/trunk/generic/ Console command 'zone' now takes zone address as parameter.
Added buddy system statistics into the 'zone' command.
 
676 6884 d 23 h bondari /kernel/trunk/generic/ Memory zones console command implementation. todo: buddy allocator structures.  
629 6904 d 22 h decky /kernel/trunk/ init task loading (yet buggy)  
624 6905 d 3 h jermar /kernel/trunk/generic/ Add LIST_INITIALIZE() macro to declare and initialize statically allocated lists.  
623 6905 d 8 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.
 
564 6912 d 19 h jermar /kernel/trunk/ Send in some improvements.  
548 6913 d 22 h jermar /kernel/trunk/ Cleanup and fixes.  
539 6914 d 23 h jermar /kernel/trunk/ Buddy allocator cleanup and fixes.
- Add some comments.
- Update zone information on frames allocation/deallocation.
 
538 6915 d 0 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 6915 d 1 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
 
534 6915 d 22 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
533 6915 d 22 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 6915 d 23 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
501 6928 d 3 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
489 6935 d 2 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.
 
480 6937 d 22 h bondari /SPARTAN/trunk/generic/ Buddy system allocator implementation. Not checked. For review only.  
479 6938 d 23 h bondari /SPARTAN/trunk/generic/ Buddy system implementation. Not functional yet - only framework prepeared.
Also added 2 macros FRAME2ADDR and ADDR2FRAME.
 
430 6948 d 20 h jermar /SPARTAN/trunk/ Move src/ and include/ to generic.  
374 6987 d 19 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 6987 d 21 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 6990 d 4 h jermar /SPARTAN/trunk/ Physical memory management work.
New frame allocator.
Some architectures need to have bigger heap.
 
367 6990 d 19 h jermar /SPARTAN/trunk/ Physical memory management work.
Implement zone_*() and some frame_*() functions.
 
366 6990 d 20 h jermar /SPARTAN/trunk/include/ Add zone pointer to frame_t.
This will be essential for fast frame_free().

Rename frame_zone_t to zone_t.

Declare frame and zone functions to be implemented.