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
538 6908 d 4 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 6908 d 5 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 6909 d 2 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
533 6909 d 2 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 6909 d 2 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
501 6921 d 7 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
489 6928 d 6 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 6931 d 1 h bondari /SPARTAN/trunk/generic/ Buddy system allocator implementation. Not checked. For review only.  
479 6932 d 3 h bondari /SPARTAN/trunk/generic/ Buddy system implementation. Not functional yet - only framework prepeared.
Also added 2 macros FRAME2ADDR and ADDR2FRAME.
 
430 6942 d 0 h jermar /SPARTAN/trunk/ Move src/ and include/ to generic.  
374 6980 d 23 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 6981 d 1 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 6983 d 8 h jermar /SPARTAN/trunk/ Physical memory management work.
New frame allocator.
Some architectures need to have bigger heap.
 
367 6983 d 23 h jermar /SPARTAN/trunk/ Physical memory management work.
Implement zone_*() and some frame_*() functions.
 
366 6984 d 0 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.
 
355 6986 d 7 h jermar /SPARTAN/trunk/include/mm/ Add 'base' attribute to frame_zone_t structure.  
354 6986 d 7 h jermar /SPARTAN/trunk/ Physical memory management work.
Define structures for frame zones and frames.

Add some comments.
 
102 7099 d 2 h jermar /SPARTAN/trunk/ IA-64 work.
Redefine FRAME_SIZE to "(16*1024)" instead of "2*4096". Note that the latter definition was wrong because of the lack of "()".
Take panic_printf(), cpu_halt() and memsetb() out of fake.s and implement them properly in asm.S.
Move ski_init_console() from arch_post_mm_init() to arch_pre_mm_init().
In start.S, write r0 to ar.bspstore.

Janitorial fixes.
Add count_t type.
Replace several occurrences of int and __u32 by count_t or size_t.
Shorten several panic strings.
 
1 7198 d 4 h jermar /SPARTAN/ Initial import