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
534 6750 d 4 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
533 6750 d 4 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 6750 d 4 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
501 6762 d 8 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
371 6824 d 1 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 6824 d 10 h jermar /SPARTAN/trunk/ Physical memory management work.
New frame allocator.
Some architectures need to have bigger heap.
 
267 6842 d 8 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
 
247 6843 d 6 h jermar /SPARTAN/trunk/arch/ia32/src/mm/ Fix nasty bug in arch/mm/frame.c.
frame_region_not_free() takes address as its second argument, not size.
 
246 6843 d 6 h decky /SPARTAN/trunk/arch/ia32/src/mm/ make IA-32 UP work again (nasty hack)  
235 6844 d 7 h decky /SPARTAN/trunk/ load the kernel above 1 MB on IA-32  
187 6846 d 10 h cejka /SPARTAN/trunk/ Licence to print1/test.c added.
New function for printing memory map at ia32.
 
182 6846 d 14 h cejka /SPARTAN/trunk/ Test for printf added.  
177 6847 d 11 h jermar /SPARTAN/trunk/ Add some comments to IA-32 src/boot/boot.S and src/smp.S.

Make the boot stack start on page boundary.
This is required by get_stack_base().

Define 'THE' macro.

Implement preemption_disable() and preemption_enable().

Add memory barrier macros.
IA-32 macros need support for older processors.
Non IA-32 macros are dummy.

Reduction of many #include paths.
 
146 6886 d 9 h cejka /SPARTAN/trunk/ Memory size detection for ia32 completed.  
139 6887 d 6 h cejka /SPARTAN/trunk/arch/ia32/ Added e801 method for obtaining memory size, improved e820 method for memory map.  
125 6892 d 1 h jermar /SPARTAN/trunk/ Huge indentation fix.  
113 6930 d 23 h jermar /SPARTAN/trunk/ SMP recovery patch #2 (SMP is no longer broken !!!).
Fix missing KA2PA() operation in ap.S which was causing page faults during AP early initialization.
Fix bug in map_page_to_frame(): 'root' was interpretted as kernel address while read_dba() returns physical address.
Make references to page directory and page tables use kernel addresses instead of physical addresses.

Massive frame allocation code cleanup.
Basically revert to what we had had before implementation of userspace.

Usual cosmetics.
 
105 6934 d 23 h jermar /SPARTAN/trunk/ Big changes in IA-32 address space map.
Now the kernel is mapped above 0x80000000. Finally!
Userspace address space starts at 0x00000000.
Changes in many places.
This improvement temporarily breaks SMP and most likely also other stuff.
Supported size of memory is now only 4M as it is the biggest size that can be mapped at once on IA-32.

Changes in linker script.
Changes required because of the above.
Do not patch hardcoded_* variables but assign to them instead.

Cosmetic changes here and there.
 
1 7039 d 6 h jermar /SPARTAN/ Initial import