Subversion Repositories HelenOS

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
4490 5685 d 18 h decky /trunk/kernel/ remove redundant index_t and count_t types (which were always quite ambiguous and not actually needed)  
3973 5782 d 2 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()
 
3972 5782 d 14 h decky /trunk/kernel/ kernel memory management revisited (phase 1): proper support for zone flags
- the zone_t structures are now statically allocated to be easily available
- the locking scheme was simplified
- new flags for non-available zones were introduced
- FRAME_LOW_4_GiB flag is removed, the functionality will be eventually reimplemented using a generic mechanism
 
3908 5792 d 19 h decky /trunk/ overhaul pareas: use one single physical area for the physical address space not belonging to physical memory  
3891 5794 d 17 h jermar /trunk/ Get rid of CONFIG_SIMICS_FIX.  
2723 6169 d 22 h decky /trunk/kernel/arch/ remove memory_print_map(), as it duplicates functionality of physmem_print()  
2721 6170 d 0 h decky /trunk/kernel/ convert e820list to a generic physmem command  
2712 6174 d 0 h decky /trunk/kernel/ prettyprint output  
2702 6181 d 0 h decky /trunk/kernel/arch/ia32/src/mm/ change cstyle to human-readable form  
2701 6181 d 2 h jermar /trunk/kernel/ Fix cstyle and (c) to 2008.  
2697 6191 d 0 h decky /trunk/kernel/ amd64: shorten kernel address space by 2 GB to support proper mapping of more than 2 GB of physical memory  
2087 6543 d 20 h jermar /trunk/kernel/ Indentaion and formatting changes even Martin will like :-)  
2071 6553 d 17 h jermar /trunk/ (c) versus (C)  
1888 6678 d 21 h jermar /trunk/ C99 compliant header guards (hopefully) everywhere in the kernel.
Formatting and indentation changes.
Small improvements in sparc64.
 
1793 6741 d 2 h jermar /trunk/kernel/ Change hw_map() on sparc64 to use virtual addresses that are
beyond the end of physical memory. It is beneficial in two
ways: first, physical memory is no longer being wasted by
otherwise necessary calls to frame_alloc() and, second,
virtual addresses for devices are now correctly allocated
and do not overlap with the 4M TLB-locked mapping for
kernel text and data.
 
1787 6743 d 19 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6750 d 20 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1702 6771 d 23 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1303 6806 d 20 h palkovsky /kernel/trunk/arch/ zone_merge_all must be called after frame_init is completed - otherwise
new zone information can be allocated over the not-yet-blacklisted areas.
 
1224 6822 d 23 h cejka /kernel/trunk/ Fix pointers output format.
Fix format of slab and zones tables.
 
1221 6823 d 15 h decky /kernel/trunk/ printf-related and other code cleanup  
1196 6830 d 0 h cejka /kernel/trunk/ Printf ported back from uspace to kernel.
Printf calls changed to match new conventions.
 
925 6865 d 4 h palkovsky /kernel/trunk/arch/ia32/src/mm/ Fix e820list on ia32.  
822 6896 d 15 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 6896 d 15 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.
 
814 6897 d 1 h palkovsky /kernel/trunk/ Cleanup o frame allocator.
Removed early_malloc & initial heap.
Will break ia64, ppc & sparc.
Added e820 table print.
 
778 6900 d 19 h palkovsky /kernel/trunk/ Fixed boot process not to call malloc when slab not initialized.
Added simics workaround.
 
703 6923 d 1 h jermar /kernel/trunk/ Memory management work.
- vm.* -> as.* (as like address space is, imho, more fitting)
- Don't do TLB shootdown on vm_install(). Some architectures only need to call tlb_invalidate_asid().
- Don't allocate all frames for as_area in as_area_create(), but let them be allocated on-demand by as_page_fault().
- Add high-level page fault handler as_page_fault().
- Add as_area_load_mapping().
 
693 6927 d 20 h decky /kernel/trunk/arch/ia32/ simplify and cleanup ia32 boot process, remove obsolete stuff  
625 6951 d 22 h palkovsky /kernel/trunk/ We are now almost -Wall clean.
- redefined atomic_t
- deleted many, many unused variables
- some minor code cleanups found using compiler warning.
 
564 6959 d 15 h jermar /kernel/trunk/ Send in some improvements.  
540 6961 d 14 h jermar /kernel/trunk/arch/ Map all available frames of memory on ia32 and amd64 (ticket #10).  
537 6961 d 21 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 6962 d 18 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
533 6962 d 18 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 6962 d 18 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
501 6974 d 23 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
371 7036 d 15 h jermar /SPARTAN/trunk/arch/ia32/src/ Complete map_kernel() in boot.S to map the entire 4G space.

Change IA-32 frame_arch_init() to add zone with lower base addresses first.
 
368 7037 d 0 h jermar /SPARTAN/trunk/ Physical memory management work.
New frame allocator.
Some architectures need to have bigger heap.
 
267 7054 d 22 h decky /SPARTAN/trunk/arch/ia32/ proper way of initializing GDT during boot on IA-32, fixes the nasty hack
SMP might be still broken