Rev |
Age |
Author |
Path |
Log message |
Diff |
566 |
6827 d 5 h |
palkovsky |
/kernel/trunk/ |
Fixed bug in Intel32/AMD64 boot, that could cause page fault on boot.
Fixes of configuration program. |
|
564 |
6827 d 6 h |
jermar |
/kernel/trunk/ |
Send in some improvements. |
|
548 |
6828 d 9 h |
jermar |
/kernel/trunk/ |
Cleanup and fixes. |
|
540 |
6829 d 5 h |
jermar |
/kernel/trunk/arch/ |
Map all available frames of memory on ia32 and amd64 (ticket #10). |
|
537 |
6829 d 12 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 |
6830 d 9 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel again. |
|
533 |
6830 d 9 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 |
6830 d 9 h |
jermar |
/ |
Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch. |
|
501 |
6842 d 13 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel. |
|
492 |
6843 d 6 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. |
|
396 |
6889 d 16 h |
jermar |
/SPARTAN/trunk/ |
Add mm/mapping1 test.
(Will not make it past TLB Invalid exception on mips32.)
Fixes in asid.c.
Make TLB register types union with __u32 value.
Implement tlb_invalidate() for mips32.
(TLB invalidation and shootdown path will have to be revised.) |
|
372 |
6903 d 14 h |
cejka |
/SPARTAN/trunk/arch/ia32/src/mm/ |
Memmap print fixed. |
|
371 |
6904 d 6 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 |
6904 d 15 h |
jermar |
/SPARTAN/trunk/ |
Physical memory management work.
New frame allocator.
Some architectures need to have bigger heap. |
|
323 |
6916 d 17 h |
jermar |
/SPARTAN/trunk/ |
Add comments for new floating point modifiers to print.c.
Remove left-over comments from AMD64 and IA-32 page.c.
Coding style clean up. |
|
298 |
6920 d 16 h |
decky |
/SPARTAN/trunk/ |
remove lower 2 GB identity mapping (IA-32) |
|
267 |
6922 d 13 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 |
6923 d 11 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 |
6923 d 11 h |
decky |
/SPARTAN/trunk/arch/ia32/src/mm/ |
make IA-32 UP work again (nasty hack) |
|
243 |
6923 d 13 h |
palkovsky |
/SPARTAN/trunk/ |
Resolved mapping of e820 boot area, so that it can be accessed as
e820table from 32-bit mode and e820table_boot from real mode. |
|
235 |
6924 d 12 h |
decky |
/SPARTAN/trunk/ |
load the kernel above 1 MB on IA-32 |
|
233 |
6924 d 12 h |
jermar |
/SPARTAN/trunk/arch/ia32/src/mm/ |
Do not use the unmapped addresses of e820 kernel structures.
Use PA2KA() to access the e820 counter and memtable. |
|
205 |
6925 d 19 h |
jermar |
/SPARTAN/trunk/ |
Get rid of memcopy().
All we now have is memcpy() and _memcpy().
memcpy() is defined to be builtin.
Where not applicable, architectures must implement memcpy() code or call slowish _memcopy(). |
|
195 |
6926 d 9 h |
vana |
/SPARTAN/trunk/ |
1) memcopy and _memcopy functions rewriten to ANSI C norm.
2) Repaired ia32,ia64 and mips version of SPARTAN to work with this memcopy functions
3) Warning for non declared funcions added and repaired ia32,ia64 and mips versions to pass build process with this warning and Werror option |
|
187 |
6926 d 15 h |
cejka |
/SPARTAN/trunk/ |
Licence to print1/test.c added.
New function for printing memory map at ia32. |
|
182 |
6926 d 19 h |
cejka |
/SPARTAN/trunk/ |
Test for printf added. |
|
177 |
6927 d 17 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. |
|
167 |
6937 d 15 h |
jermar |
/SPARTAN/trunk/ |
Switch over to per vm_t page tables. (breaks ia32 userspace)
Define dummy memcopy() for amd64 and ppc to satisfy compiler.
Get rid of problematic #include <arch/mm/page.h> in mm/page.h.
Indentation fixes and small changes here and there. |
|
149 |
6961 d 9 h |
jermar |
/SPARTAN/trunk/ |
Fix IA-32's get_memory_size() to return size of memory in bytes instead of in kilobytes.
Some cosmetics in memory map detection.
The IA-32 kernel is functional again. |
|
146 |
6966 d 14 h |
cejka |
/SPARTAN/trunk/ |
Memory size detection for ia32 completed. |
|
139 |
6967 d 12 h |
cejka |
/SPARTAN/trunk/arch/ia32/ |
Added e801 method for obtaining memory size, improved e820 method for memory map. |
|
125 |
6972 d 7 h |
jermar |
/SPARTAN/trunk/ |
Huge indentation fix. |
|
120 |
6987 d 5 h |
jermar |
/SPARTAN/trunk/ |
Generic 4-level page tables interface & implementation (review & test).
Implement more architecture dependant macros on IA-32.
Provide fake implementation on IA-64 and MIPS.
Convert map_page_to_frame() to use the new interface.
Move adjusted map_page_to_frame() from IA-32's arch/mm/page.c to the generic mm/page.c. |
|
116 |
7007 d 12 h |
jermar |
/SPARTAN/trunk/ |
Add map_structure() to automate mapping of memory structures that can span multiple pages and/or cross page boundaries.
Change ACPI map_sdt() to use map_structure().
Small changes in MPS code.
The extra frame allocation for accessing frame 0 is unnecessary as it is possible to access frame 0 from kernel address space.
Zero TSS descriptor in the newly prepared GDT. |
|
115 |
7008 d 5 h |
jermar |
/SPARTAN/trunk/ |
Implement several assembler functions in gcc's __asm__ notation instead of in .s or .S file.
Gain both better speed and size. |
|
113 |
7011 d 4 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. |
|
110 |
7012 d 13 h |
jermar |
/SPARTAN/trunk/ |
SMP recovery patch #1. (SMP still broken)
Move ap_boot() to K_TEXT_START_2 section.
Change ap_boot() to cope with mapping of kernel address space.
Change some addresses in mps.c from kernel to physical.
MIPS.
Move msim dprinter device to 0xB0000000.
This address is from kseg1 (unmapped, uncached) segment. |
|
109 |
7014 d 9 h |
jermar |
/SPARTAN/trunk/ |
Discard 'copy' parameter of map_page_to_frame().
Introduce 'root' parameter of map_page_to_frame().
If 'root' is zero, page directory address is read from CPU.
Otherwise 'root' is used as page directory address.
Add missing word to new doxygen-style comments in scheduler.c. |
|
106 |
7014 d 15 h |
jermar |
/SPARTAN/trunk/ |
IA-32 fixes.
Use kernel addresses instead of physical addresses in map_page_to_frame().
Physical addresses are supposed to only be exported to mm hardware.
Because of this fix, userspace is functional again.
Remap EGA videoram to (0x80000000 + videoram) and change the ega driver to work with the new address.
Minor cosmetics through out the code.
Changes in linker scripts. |
|
105 |
7015 d 5 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. |
|