Subversion Repositories HelenOS

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
3973 5691 d 7 h decky /trunk/kernel/ kernel memory management revisited (phase 2): map physical memory according to zones
- ia32: register reserved and ACPI zones
- pareas are now used only for mapping of present physical memory (hw_area() is gone)
- firmware zones and physical addresses outside any zones are allowed to be mapped generally
- fix nasty antient bug in zones_insert_zone()
 
3940 5698 d 1 h decky /trunk/kernel/ make hw_area API more generic
this allows mapping of EGA VRAM on ia32/amd64
 
3908 5702 d 0 h decky /trunk/ overhaul pareas: use one single physical area for the physical address space not belonging to physical memory  
3857 5716 d 1 h decky /trunk/ very experimental TLB refill for ppc32  
3856 5716 d 2 h decky /trunk/ ppc32: strict coherency, compatible TLB flush  
3839 5718 d 5 h decky /trunk/kernel/arch/ppc32/src/mm/ respect stricker lookup algorithm (first look for colliding PTEs, then look for unused PTEs)  
3838 5718 d 5 h decky /trunk/kernel/ make RANDI a generic macro  
3837 5718 d 6 h decky /trunk/kernel/arch/ppc32/ use pseudorandom generator to avoid even the longest path of livelock collisions  
3836 5718 d 6 h decky /trunk/kernel/arch/ppc32/src/mm/ use secondary hash for kernel identity mapping to avoid livelocks on colliding PHT addresses  
3833 5719 d 2 h decky /trunk/ avoid nasty race condition during page fault handling  
3830 5720 d 0 h decky /trunk/kernel/arch/ppc32/ ppc32: add support for cache disable page access control  
3827 5720 d 2 h decky /trunk/ remove tlbia instruction, which is unsupported by PowerPC 7450  
3790 5741 d 7 h svoboda /trunk/kernel/ Make newlines in panic messages consistent. Add periods at end of messages so that it is obvious whether they are printed entirely.  
3788 5741 d 20 h svoboda /trunk/kernel/ Unify newlines in fault_if_from_uspace() format strings. (Remove them and print newline automatically). Also start messages with caps.  
3594 5791 d 23 h svoboda /trunk/kernel/arch/ppc32/src/mm/ Handle page faults from userspace properly on ppc32, do not panic.  
3586 5797 d 6 h jermar /trunk/kernel/arch/ Do not print "Page fault.\n" if a mapping is not found during TLB refill.  
3584 5797 d 8 h svoboda /trunk/kernel/arch/ppc32/src/mm/ Bugfix: A ppc32 task would hang if it touched unmapped memory - was calling printf() with address-space mutex held.  
3193 5932 d 22 h jermar /trunk/kernel/ cstyle fixes  
3071 5960 d 4 h decky /trunk/kernel/ reflect changes in generic code
proper formatting directives
coding style
 
2725 6078 d 4 h decky /trunk/kernel/ remove config.memory_size, get_memory_size() and memory_init.{c|d}
the amount of available memory can be calculated from the sizes of the zones
add FRAMES2SIZE, SIZE2KB and SIZE2MB functions/macros (code readability)
 
2723 6079 d 3 h decky /trunk/kernel/arch/ remove memory_print_map(), as it duplicates functionality of physmem_print()  
2222 6381 d 22 h decky /trunk/kernel/ map kernel pages explicitly as writable (this solves compatibility issues with Intel Core 2)
make VESA framebuffer initialization more robust
 
2170 6389 d 20 h jermar /trunk/kernel/ Simplify synchronization in as_switch().
The function was oversynchronized, which
was causing deadlocks on the address
space mutex.

Now, address spaces can only be switched
when the asidlock is held. This also protects
stealing of ASIDs. No other synchronization
is necessary.
 
2089 6452 d 5 h decky /trunk/ huge type system cleanup
remove cyclical type dependencies across multiple header files
many minor coding style fixes
 
2071 6462 d 22 h jermar /trunk/ (c) versus (C)  
1787 6653 d 0 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6660 d 1 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1758 6674 d 1 h decky /kernel/trunk/arch/ppc32/src/mm/ remove ASIDs from Page Hash Table  
1743 6675 d 22 h decky /kernel/trunk/arch/ppc32/src/mm/ fix compiler warning  
1736 6676 d 7 h decky /kernel/trunk/arch/ppc32/ verbose segment and BAT registers printout  
1733 6676 d 18 h decky /kernel/trunk/arch/ppc32/src/mm/ fix segment register values, ppc32 works again (both w/ and w/o BAT)  
1730 6676 d 18 h decky /kernel/trunk/arch/ppc32/ ppc32: BAT-less memory mapping (broken yet)
VSID support (broken yet)
boot API change
cleanup
 
1726 6677 d 1 h decky /kernel/trunk/arch/ppc32/ ppc32: more generic page hash table handling
(preliminary code, will be fixed properly later)
 
1716 6677 d 23 h decky /kernel/trunk/ move ppc32 four pages up, move real mode code, change config  
1708 6678 d 7 h jermar /kernel/trunk/ Fix some broken doxygen comments.  
1705 6680 d 7 h cejka /kernel/trunk/ Added file with modules definitions and descriptions.
We are able to change modules order and their description in one place.
 
1702 6681 d 4 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1609 6688 d 5 h decky /kernel/trunk/arch/ppc32/ generalize ppc32 exception handling  
1411 6701 d 2 h jermar /kernel/trunk/ Modify the hierarchy of page fault handlers to pass access mode that caused the fault.
Architectures are required to pass either PF_ACCESS_READ, PF_ACCESS_WRITE or PF_ACCESS_EXEC
to as_page_fault(), depending on the cause of the fault.
 
1390 6704 d 0 h decky /kernel/trunk/arch/ppc32/src/mm/ fixes