Subversion Repositories HelenOS-historic

Rev

Go to most recent revision | Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
569 6749 d 18 h jermar /kernel/trunk/ sparc64 work.
Implement functions for reading IMMU and DMMU TLBs.
 
564 6750 d 18 h jermar /kernel/trunk/ Send in some improvements.  
552 6751 d 19 h palkovsky /kernel/trunk/ Named spinlocks  
548 6751 d 21 h jermar /kernel/trunk/ Cleanup and fixes.  
541 6752 d 18 h jermar /kernel/trunk/generic/src/mm/ Get rid of junk.  
539 6752 d 22 h jermar /kernel/trunk/ Buddy allocator cleanup and fixes.
- Add some comments.
- Update zone information on frames allocation/deallocation.
 
538 6752 d 23 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 6753 d 0 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 6753 d 20 h bondari /kernel/trunk/ Minor bugfix caused by invalid frame_region_not_free() usage  
534 6753 d 21 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
533 6753 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 6753 d 22 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
501 6766 d 2 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
492 6766 d 19 h jermar /SPARTAN/trunk/ Rename map_page_to_frame() to page_mapping_insert() and find_mapping() to page_mapping_find().
New names should make it more apparent that these two belong together.
 
490 6773 d 1 h jermar /SPARTAN/trunk/generic/src/mm/ Fix typo and clean up comments.  
489 6773 d 1 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 6773 d 6 h bondari /SPARTAN/trunk/generic/src/mm/ Small fix :)  
487 6773 d 6 h bondari /SPARTAN/trunk/generic/src/mm/ Frame isect/coalesce functions optimization  
480 6775 d 21 h bondari /SPARTAN/trunk/generic/ Buddy system allocator implementation. Not checked. For review only.  
479 6776 d 22 h bondari /SPARTAN/trunk/generic/ Buddy system implementation. Not functional yet - only framework prepeared.
Also added 2 macros FRAME2ADDR and ADDR2FRAME.
 
458 6780 d 5 h decky /SPARTAN/trunk/ make configuration variables usage consistent  
430 6786 d 19 h jermar /SPARTAN/trunk/ Move src/ and include/ to generic.  
413 6801 d 18 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.
 
391 6814 d 19 h jermar /SPARTAN/trunk/ mips32 memory management work.
TLB Refill Exception implemented (passed basic testing).
Remove bit g from struct entry_hi.
Add generic find_mapping().
Add asid to vm_t type, define asid_t to hide architecture specific differences.
Implement ASID allocation for mips32, dummy for other architectures.
Add THE->vm (a.k.a. VM).
Add vm_install_arch().
Move pte_t definition to arch/types.h on each architecture.
Fix PTL manipulating functions on mips32 to shift pfn by 12 instead of by 14.
Fix tlb_init_arch() to initialize all entries.

Other.
Remove unnecessary header files from arch.h
Add missing headers here and there.
Remove two unnecessary ld flags from mips32 makefile.
 
389 6815 d 6 h jermar /SPARTAN/trunk/ MIPS work.
Fix some name inconsistencies between cp0 functions' declarations and definitions.
Add and implement tlb_init_arch().
Add tlb_modified() exception handler.

Other architectures: add dummy tlb_init_arch().
 
381 6819 d 18 h jermar /SPARTAN/trunk/ Make cross-compiler the default compiler on IA-32.
For native compilations, use ./build.ia32 native.

Small changes elsewhere.
 
379 6821 d 4 h jermar /SPARTAN/trunk/src/mm/ Optimize buddy_system_free().
Remove special-case code from the main codepath.
 
378 6821 d 4 h jermar /SPARTAN/trunk/ Redeclare eraly_malloc() with __attribute__ ((malloc)) to improve optimizations.

Reorganize #include's in scheduler.c.

Buddy system improvements.
Make buddy_system_free() explicitly invalidate order of blocks before they are coalesced.
Add some assertions.
 
377 6823 d 21 h jermar /SPARTAN/trunk/ Generic buddy allocator.
Please review the code before it is deployed.
 
375 6824 d 1 h jermar /SPARTAN/trunk/src/mm/ Replace free() call with early_free() call in zone_create().  
374 6825 d 18 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 6825 d 20 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 6828 d 4 h jermar /SPARTAN/trunk/ Physical memory management work.
New frame allocator.
Some architectures need to have bigger heap.
 
367 6828 d 18 h jermar /SPARTAN/trunk/ Physical memory management work.
Implement zone_*() and some frame_*() functions.
 
257 6846 d 7 h palkovsky /SPARTAN/trunk/ Added basic FPU context (not working).
Added CPU utilities from ia32
Fixed bug in vm.c that wanted PTL to be mapped in bottom memory.
 
251 6846 d 17 h palkovsky /SPARTAN/trunk/ Changes, that were needed to make it work on Bochs.
- We CAN use the NX bit in paging tables, but we have
to initialize the NXE bit in EFER register first.
 
236 6848 d 0 h jermar /SPARTAN/trunk/src/ Add missing header into kinit.c.

Do not use PA2KA() on dst_ptl0.
 
227 6848 d 2 h jermar /SPARTAN/trunk/ Add couple of assertions CPU != NULL.

Change type of nrdy from int to count_t.

Rewrite halt() to avoid page fault when CPU == NULL.
 
226 6848 d 3 h palkovsky /SPARTAN/trunk/ Fixed typo in 'outb' instruction.
Paging basically working.
 
219 6848 d 16 h palkovsky /SPARTAN/trunk/ Fixed bad type in frame.c.
Amd64 prints banner.