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
501 6789 d 6 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
492 6789 d 23 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 6796 d 5 h jermar /SPARTAN/trunk/generic/src/mm/ Fix typo and clean up comments.  
489 6796 d 5 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 6796 d 11 h bondari /SPARTAN/trunk/generic/src/mm/ Small fix :)  
487 6796 d 11 h bondari /SPARTAN/trunk/generic/src/mm/ Frame isect/coalesce functions optimization  
483 6797 d 2 h jermar /SPARTAN/trunk/ For now, each architecture must use its own -O switch (-O2 doesn't work for ia64, -O3 doesn't work for mips32).

New mips32 atomic_add() function.

Cleanup.
 
480 6799 d 1 h bondari /SPARTAN/trunk/generic/ Buddy system allocator implementation. Not checked. For review only.  
479 6800 d 3 h bondari /SPARTAN/trunk/generic/ Buddy system implementation. Not functional yet - only framework prepeared.
Also added 2 macros FRAME2ADDR and ADDR2FRAME.
 
475 6801 d 8 h jermar /SPARTAN/trunk/ Define atomic_t type.  
470 6802 d 20 h jermar /SPARTAN/trunk/ ia64 work.
Big cleanup of IA-64 interrupt processing.
Merge of interrupt.c and interrupt_handler.c.
Rewrite of ivt.S and interrupt.c.
Higher level interrupt handlers are now passed a vector number and a pointer to stack structure.

ia32 work.
ia32 has ordered writes. Until it deploys weaker memory ordering model, write_barrier() can be empty statement.
 
463 6803 d 7 h decky /SPARTAN/trunk/ even fancier release/revision display  
462 6803 d 7 h decky /SPARTAN/trunk/ include svn revision and build time in the kernel  
460 6803 d 9 h decky /SPARTAN/trunk/ some fancy stuff  
459 6803 d 9 h decky /SPARTAN/trunk/ build system: CONFIG_TEST, CONFIG_USERSPACE  
458 6803 d 9 h decky /SPARTAN/trunk/ make configuration variables usage consistent  
452 6804 d 1 h decky /SPARTAN/trunk/ major build system revision (unfinished)
this patchset most definitively breaks a lot of things, be patient
 
430 6809 d 23 h jermar /SPARTAN/trunk/ Move src/ and include/ to generic.  
414 6824 d 12 h jermar /SPARTAN/trunk/ Create generic context_save() and context_restore().
These two functions are defined inline and only call context_save_arch() and context_restore_arch(), respectively.
The main purpose of this is to enable centralized commenting of these important and tricky functions.
 
413 6824 d 22 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.
 
411 6826 d 2 h jermar /SPARTAN/trunk/ Doxygen comments.  
405 6831 d 0 h jermar /SPARTAN/trunk/src/ Doxygen comments fixes.  
404 6831 d 1 h jermar /SPARTAN/trunk/src/ Fix doxygen comments.  
402 6832 d 10 h jermar /SPARTAN/trunk/ Add ALIGN() macro.

Fix usage of early_mapping() in main.c.
The previous version would not map part of the heap.
Please, review.
 
391 6837 d 23 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 6838 d 10 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().
 
387 6840 d 3 h jermar /SPARTAN/trunk/src/synch/ Doxygen-style comments for condvar.c.  
386 6840 d 4 h jermar /SPARTAN/trunk/src/synch/ Doxygen-style comments for mutex.c.  
385 6840 d 4 h jermar /SPARTAN/trunk/src/synch/ Doxygen-style comments for rwlock.c.  
384 6840 d 5 h jermar /SPARTAN/trunk/src/synch/ Doxygen-style comments for semaphore.c.  
383 6840 d 7 h jermar /SPARTAN/trunk/src/synch/ Doxygen-style comments for spinlock.c.  
382 6840 d 23 h jermar /SPARTAN/trunk/src/synch/ Doxygen-style comments for waitq.c.  
381 6842 d 23 h jermar /SPARTAN/trunk/ Make cross-compiler the default compiler on IA-32.
For native compilations, use ./build.ia32 native.

Small changes elsewhere.
 
379 6844 d 8 h jermar /SPARTAN/trunk/src/mm/ Optimize buddy_system_free().
Remove special-case code from the main codepath.
 
378 6844 d 8 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 6847 d 1 h jermar /SPARTAN/trunk/ Generic buddy allocator.
Please review the code before it is deployed.
 
376 6847 d 5 h jermar /SPARTAN/trunk/ Move kernel build files one level up the directory tree.
Fix paths in your testing environment!
 
375 6847 d 5 h jermar /SPARTAN/trunk/src/mm/ Replace free() call with early_free() call in zone_create().  
374 6848 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 6849 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.