Rev |
Age |
Author |
Path |
Log message |
Diff |
552 |
6866 d 19 h |
palkovsky |
/kernel/trunk/ |
Named spinlocks |
|
548 |
6866 d 22 h |
jermar |
/kernel/trunk/ |
Cleanup and fixes. |
|
541 |
6867 d 18 h |
jermar |
/kernel/trunk/generic/src/mm/ |
Get rid of junk. |
|
539 |
6867 d 22 h |
jermar |
/kernel/trunk/ |
Buddy allocator cleanup and fixes.
- Add some comments.
- Update zone information on frames allocation/deallocation. |
|
538 |
6867 d 23 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 |
6868 d 0 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 |
|
536 |
6868 d 20 h |
bondari |
/kernel/trunk/ |
Minor bugfix caused by invalid frame_region_not_free() usage |
|
534 |
6868 d 22 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel again. |
|
533 |
6868 d 22 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 |
6868 d 22 h |
jermar |
/ |
Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch. |
|
501 |
6881 d 2 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel. |
|
492 |
6881 d 19 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. |
|
490 |
6888 d 1 h |
jermar |
/SPARTAN/trunk/generic/src/mm/ |
Fix typo and clean up comments. |
|
489 |
6888 d 1 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. |
|
488 |
6888 d 7 h |
bondari |
/SPARTAN/trunk/generic/src/mm/ |
Small fix :) |
|
487 |
6888 d 7 h |
bondari |
/SPARTAN/trunk/generic/src/mm/ |
Frame isect/coalesce functions optimization |
|
480 |
6890 d 21 h |
bondari |
/SPARTAN/trunk/generic/ |
Buddy system allocator implementation. Not checked. For review only. |
|
479 |
6891 d 22 h |
bondari |
/SPARTAN/trunk/generic/ |
Buddy system implementation. Not functional yet - only framework prepeared.
Also added 2 macros FRAME2ADDR and ADDR2FRAME. |
|
458 |
6895 d 5 h |
decky |
/SPARTAN/trunk/ |
make configuration variables usage consistent |
|
430 |
6901 d 19 h |
jermar |
/SPARTAN/trunk/ |
Move src/ and include/ to generic. |
|
413 |
6916 d 18 h |
jermar |
/SPARTAN/trunk/ |
Rename cpu_priority_{high|low|restore|read} functions to interrupts_{disable|enable|restore|read}.
Rename pri_t to ipl_t (Interrupt Priority Level).
Rename thread_t::pri to thread_t::priority. |
|
391 |
6929 d 19 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 |
6930 d 6 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 |
6934 d 18 h |
jermar |
/SPARTAN/trunk/ |
Make cross-compiler the default compiler on IA-32.
For native compilations, use ./build.ia32 native.
Small changes elsewhere. |
|
379 |
6936 d 4 h |
jermar |
/SPARTAN/trunk/src/mm/ |
Optimize buddy_system_free().
Remove special-case code from the main codepath. |
|
378 |
6936 d 4 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 |
6938 d 21 h |
jermar |
/SPARTAN/trunk/ |
Generic buddy allocator.
Please review the code before it is deployed. |
|
375 |
6939 d 1 h |
jermar |
/SPARTAN/trunk/src/mm/ |
Replace free() call with early_free() call in zone_create(). |
|
374 |
6940 d 18 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 |
6940 d 20 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 |
6943 d 4 h |
jermar |
/SPARTAN/trunk/ |
Physical memory management work.
New frame allocator.
Some architectures need to have bigger heap. |
|
367 |
6943 d 18 h |
jermar |
/SPARTAN/trunk/ |
Physical memory management work.
Implement zone_*() and some frame_*() functions. |
|
257 |
6961 d 7 h |
palkovsky |
/SPARTAN/trunk/ |
Added basic FPU context (not working).
Added CPU utilities from ia32
Fixed bug in vm.c that wanted PTL to be mapped in bottom memory. |
|
251 |
6961 d 17 h |
palkovsky |
/SPARTAN/trunk/ |
Changes, that were needed to make it work on Bochs.
- We CAN use the NX bit in paging tables, but we have
to initialize the NXE bit in EFER register first. |
|
236 |
6963 d 0 h |
jermar |
/SPARTAN/trunk/src/ |
Add missing header into kinit.c.
Do not use PA2KA() on dst_ptl0. |
|
227 |
6963 d 3 h |
jermar |
/SPARTAN/trunk/ |
Add couple of assertions CPU != NULL.
Change type of nrdy from int to count_t.
Rewrite halt() to avoid page fault when CPU == NULL. |
|
226 |
6963 d 3 h |
palkovsky |
/SPARTAN/trunk/ |
Fixed typo in 'outb' instruction.
Paging basically working. |
|
219 |
6963 d 16 h |
palkovsky |
/SPARTAN/trunk/ |
Fixed bad type in frame.c.
Amd64 prints banner. |
|
205 |
6964 d 7 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(). |
|
198 |
6964 d 20 h |
jermar |
/SPARTAN/trunk/ |
Switch order of 'src' and 'dst' arguments in some left-over uses of memcopy.
Cleanup. |
|