Rev |
Age |
Author |
Path |
Log message |
Diff |
548 |
6828 d 9 h |
jermar |
/kernel/trunk/ |
Cleanup and fixes. |
|
539 |
6829 d 10 h |
jermar |
/kernel/trunk/ |
Buddy allocator cleanup and fixes.
- Add some comments.
- Update zone information on frames allocation/deallocation. |
|
538 |
6829 d 11 h |
jermar |
/kernel/trunk/ |
Buddy allocator cleanup and fixes II.
- Rewrite IS_BUDDY_LEFT_BLOCK so that it does not need floating point on some architectures (e.g. IA-64).
- Get rid of IS_BUDDY_RIGHT_BLOCK.
- Make sparc64 use zone_create_in_region. |
|
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 14 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel. |
|
492 |
6843 d 7 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. |
|
489 |
6849 d 13 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. |
|
482 |
6851 d 10 h |
jermar |
/SPARTAN/trunk/generic/include/ |
Fix typo in buddy.h.
Make default memsize 8M. |
|
480 |
6852 d 8 h |
bondari |
/SPARTAN/trunk/generic/ |
Buddy system allocator implementation. Not checked. For review only. |
|
479 |
6853 d 10 h |
bondari |
/SPARTAN/trunk/generic/ |
Buddy system implementation. Not functional yet - only framework prepeared.
Also added 2 macros FRAME2ADDR and ADDR2FRAME. |
|
458 |
6856 d 17 h |
decky |
/SPARTAN/trunk/ |
make configuration variables usage consistent |
|
440 |
6858 d 12 h |
jermar |
/SPARTAN/trunk/generic/include/mm/ |
Add some comments for buddy system operations. |
|
430 |
6863 d 7 h |
jermar |
/SPARTAN/trunk/ |
Move src/ and include/ to generic. |
|
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.) |
|
391 |
6891 d 7 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 |
6891 d 18 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(). |
|
381 |
6896 d 6 h |
jermar |
/SPARTAN/trunk/ |
Make cross-compiler the default compiler on IA-32.
For native compilations, use ./build.ia32 native.
Small changes elsewhere. |
|
378 |
6897 d 16 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 |
6900 d 9 h |
jermar |
/SPARTAN/trunk/ |
Generic buddy allocator.
Please review the code before it is deployed. |
|
374 |
6902 d 6 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 |
6902 d 8 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. |
|
368 |
6904 d 15 h |
jermar |
/SPARTAN/trunk/ |
Physical memory management work.
New frame allocator.
Some architectures need to have bigger heap. |
|
367 |
6905 d 6 h |
jermar |
/SPARTAN/trunk/ |
Physical memory management work.
Implement zone_*() and some frame_*() functions. |
|
366 |
6905 d 7 h |
jermar |
/SPARTAN/trunk/include/ |
Add zone pointer to frame_t.
This will be essential for fast frame_free().
Rename frame_zone_t to zone_t.
Declare frame and zone functions to be implemented. |
|
355 |
6907 d 14 h |
jermar |
/SPARTAN/trunk/include/mm/ |
Add 'base' attribute to frame_zone_t structure. |
|
354 |
6907 d 14 h |
jermar |
/SPARTAN/trunk/ |
Physical memory management work.
Define structures for frame zones and frames.
Add some comments. |
|
265 |
6922 d 16 h |
palkovsky |
/SPARTAN/trunk/ |
Added basic FPU context (not working).
Added CPU utilities from ia32 |
|
167 |
6937 d 16 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. |
|
125 |
6972 d 7 h |
jermar |
/SPARTAN/trunk/ |
Huge indentation fix. |
|
122 |
6973 d 7 h |
jermar |
/SPARTAN/trunk/include/mm/ |
Remove one extra line left over from debugging process. |
|
121 |
6973 d 7 h |
jermar |
/SPARTAN/trunk/ |
Begin MIPS implementation of 4-level page table interface.
Add email address to each item in doc/AUTHORS.
Correct type names in comments in mm/vm.c.
Introduce ptl0 pointer in vm_t. |
|
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. |
|
119 |
6988 d 8 h |
jermar |
/SPARTAN/trunk/ |
Start with generic 4-level page table interface.
Usual cleanup. |
|
116 |
7007 d 13 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. |
|
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. |
|
102 |
7020 d 9 h |
jermar |
/SPARTAN/trunk/ |
IA-64 work.
Redefine FRAME_SIZE to "(16*1024)" instead of "2*4096". Note that the latter definition was wrong because of the lack of "()".
Take panic_printf(), cpu_halt() and memsetb() out of fake.s and implement them properly in asm.S.
Move ski_init_console() from arch_post_mm_init() to arch_pre_mm_init().
In start.S, write r0 to ar.bspstore.
Janitorial fixes.
Add count_t type.
Replace several occurrences of int and __u32 by count_t or size_t.
Shorten several panic strings. |
|
72 |
7037 d 9 h |
decky |
/SPARTAN/trunk/ |
size_t usage
const qualifier
code cleanup |
|