Subversion Repositories HelenOS

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
1981 6426 d 10 h jermar /trunk/kernel/ Indentation, formatting and minor changes.  
1894 6486 d 0 h jermar /trunk/ Add balloc() (a.k.a boot allocator):
- balloc() only needs to know how to allocate memory.
- Memory allocated via balloc() is supposed to be passed to kernel and never freed by boot itself.
- make kernel aware of boot allocations

More work on OFW device tree:
- use balloc() to efficiently and safely allocate memory for the canonical copy of the device tree

sparc64 boot:
- pass OFW device tree root node pointer to kernel
 
1854 6507 d 11 h jermar /trunk/kernel/ Define architecture-specific thread sub-constructors and sub-destructors on all architectures.
Define the THREAD_FLAG_USPACE which means that the thread runs in user space.
The forementioned changes allow for allocating of user window buffer on sparc64
threads that execute in userspace.

A lot of formatting and indentation fixes.
 
1833 6534 d 22 h decky /trunk/kernel/ more sophisticated initial stack handling  
1790 6554 d 5 h jermar /trunk/ Remove OpenFirmware calls from kernel/ entirely.

Switch the sparc64 port to use bootinfo.

Copy memcpy from boot/ to sparc64 kernel/ and
adjust it for memcpy_from/to_uspace.
 
1787 6556 d 4 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6563 d 5 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1767 6571 d 12 h palkovsky /kernel/trunk/ Remove unneeded FRAME_PANIC.
Fix some things broken by last commit.
 
1766 6571 d 12 h palkovsky /kernel/trunk/ Changed frame_alloc call, cleaned a lot of stuff, fixed some not-perfectly-correct error handling.  
1760 6574 d 6 h palkovsky /kernel/trunk/ Changed interface of frame_alloc/free to use address of frame instead of the pfn.
This makes it impossible to use >4GB of memory on 32-bit machines, but who cares...
 
1757 6577 d 10 h jermar /kernel/trunk/ Cleanup of comments.  
1708 6581 d 11 h jermar /kernel/trunk/ Fix some broken doxygen comments.  
1702 6584 d 8 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1700 6584 d 11 h palkovsky /kernel/trunk/generic/src/mm/ Fixed frame allocator to allocate correct number of frames for configuration.
(It couldn't fail before, but in some circumstances it could allocate more
then needed).
 
1599 6591 d 14 h palkovsky /kernel/trunk/generic/src/mm/ Blacklist first frame to avoid problems with allocator.  
1568 6593 d 7 h palkovsky /kernel/trunk/generic/ Slightly remodelled ipc hangups to facilitate correct cleanup.
Doc updates for frame allocator.
 
1269 6627 d 3 h decky /kernel/trunk/ PHT Refill handler  
1248 6631 d 5 h jermar /kernel/trunk/ Add some @file doxygen comments and improve already existing comments.  
1236 6632 d 11 h jermar /kernel/trunk/generic/ Add frame_reference_add().  
1224 6635 d 8 h cejka /kernel/trunk/ Fix pointers output format.
Fix format of slab and zones tables.
 
1221 6635 d 23 h decky /kernel/trunk/ printf-related and other code cleanup  
1196 6642 d 9 h cejka /kernel/trunk/ Printf ported back from uspace to kernel.
Printf calls changed to match new conventions.
 
1093 6670 d 1 h palkovsky /kernel/trunk/generic/src/mm/ Fix bug with refcounts in frame allocator after zone_merge. (it caused some
frames not to be coalesced).
 
1063 6672 d 23 h palkovsky /kernel/trunk/ Add support for more then 2GB of address space for AMD64.  
1037 6673 d 11 h decky /kernel/trunk/ support for more init tasks
(might break some archs yet)
 
946 6677 d 0 h jermar /kernel/trunk/generic/ Fix frame deallocation.
Zone state is to be upadated only when the frame refcount reaches zero.
 
852 6699 d 8 h palkovsky /kernel/trunk/ Fixes in memory allocator
- proper kernel blacklisting, when kernel not loaded on page boundary
- correct zone adding in zone list (how could this work??)
 
824 6708 d 13 h palkovsky /kernel/trunk/ Use less frames for zone configuration data after merge.  
822 6708 d 23 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 6709 d 0 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 6709 d 10 h palkovsky /kernel/trunk/ Cleanup o frame allocator.
Removed early_malloc & initial heap.
Will break ia64, ppc & sparc.
Added e820 table print.
 
788 6712 d 4 h jermar /kernel/trunk/ Move list and fifo data types to adt/.  
786 6712 d 6 h bondari /kernel/trunk/ frame_alloc() functions variations in order to avoid problems with frame_alloc_generic() changes.
IMPORTANT: Parameter order for frame_alloc() was changed
 
768 6714 d 23 h palkovsky /kernel/trunk/ Debugged slab allocator. It currently supports per-CPU cache on 1 cpu.  
764 6715 d 6 h palkovsky /kernel/trunk/ Tested basic non-cached slab allocation.  
762 6715 d 8 h palkovsky /kernel/trunk/ Currently not-working SLAB allocator.
- slightly changed interface to frame_alloc, allow zone preference
 
759 6715 d 21 h palkovsky /kernel/trunk/ Skeleton of SLAB allocator.  
735 6726 d 6 h bondari /kernel/trunk/ Fixes, comments, tests to frame allocator  
724 6731 d 2 h palkovsky /kernel/trunk/ Commit of the falloc_bad branch to trunk (719:723).  
703 6735 d 9 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().