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
1901 6530 d 7 h jermar /trunk/kernel/ Make SMP related parts of main.c more generic.
Move initialization of local APIC to architecture specific code.
Add arch_post_cpu_init() to support the above.
 
1894 6536 d 23 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
 
1833 6585 d 21 h decky /trunk/kernel/ more sophisticated initial stack handling  
1826 6586 d 4 h decky /trunk/kernel/generic/src/main/ some debugging output  
1787 6607 d 4 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6614 d 5 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1757 6628 d 10 h jermar /kernel/trunk/ Cleanup of comments.  
1729 6630 d 22 h decky /kernel/trunk/generic/src/main/ coding style changes  
1702 6635 d 8 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1595 6642 d 14 h palkovsky /kernel/trunk/ Added kernel circular buffer klog.
Added automatic killing of tasks raising inappropriate exceptions.
TODO: Fix vsnprintf return value(and behaviour according to specs) and remove workaround in klog.
 
1434 6651 d 4 h palkovsky /kernel/trunk/ Added 'realtime' clock interface.
Added some asm macros as memory barriers.
Added drift computing for mips platform.
 
1389 6658 d 3 h decky /kernel/trunk/ minor changes
ppc32: identically map the whole physical memory
fix page hash table refill logic
 
1315 6666 d 5 h jermar /kernel/trunk/generic/ Improve framebuffer speed by buffering blank line.  
1248 6682 d 5 h jermar /kernel/trunk/ Add some @file doxygen comments and improve already existing comments.  
1229 6685 d 9 h jermar /kernel/trunk/ Remove the outdated TODO file.
Improve doxygen comments here and there.
 
1224 6686 d 8 h cejka /kernel/trunk/ Fix pointers output format.
Fix format of slab and zones tables.
 
1221 6686 d 23 h decky /kernel/trunk/ printf-related and other code cleanup  
1196 6693 d 9 h cejka /kernel/trunk/ Printf ported back from uspace to kernel.
Printf calls changed to match new conventions.
 
1164 6700 d 6 h jermar /kernel/trunk/generic/ Switch B+tree node allocation from malloc() to a dedicated slab - btree_node_slab.  
1138 6713 d 5 h jermar /kernel/trunk/ CPU stacks must have two frames on ia64.
Make sure both thread stack frames are mapped in before_thread_runs_arch().
Take STACK_FRAMES into account during kernel memory layout initialization in main_bsp().
 
1109 6718 d 0 h jermar /kernel/trunk/ Basic futex. Prototype implementation.  
1101 6720 d 2 h jermar /kernel/trunk/ B+-tree implementation.
Currently supports only inserting and searching.
 
1063 6723 d 22 h palkovsky /kernel/trunk/ Add support for more then 2GB of address space for AMD64.  
1062 6724 d 0 h jermar /kernel/trunk/ It is now possible to associate symbolic names with both threads and tasks.
More verbose kconsole threads, tasks and scheduler commands.
 
1037 6724 d 11 h decky /kernel/trunk/ support for more init tasks
(might break some archs yet)
 
955 6727 d 2 h palkovsky /kernel/trunk/ Added kernel IPC functionality.  
860 6747 d 22 h decky /kernel/trunk/ indentation changes
ppc32 fpu context save/restore
ppc32 CPU version
ppc32 memcpy
 
822 6759 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.
 
814 6760 d 10 h palkovsky /kernel/trunk/ Cleanup o frame allocator.
Removed early_malloc & initial heap.
Will break ia64, ppc & sparc.
Added e820 table print.
 
799 6762 d 1 h palkovsky /kernel/trunk/ Preliminary work on AMD userspace.  
789 6763 d 0 h palkovsky /kernel/trunk/generic/ Early SLAB initialization, the cpu-cache is initialized later.
If you want to use slab_cache_create befor slab_cpu_enable, add
a flag SLAB_CACHE_MAGDEFERRED.
 
773 6764 d 20 h palkovsky /kernel/trunk/ Added slab stress test.
Fixed race condition in slab allocator.
Moved initialization of slab to the point where we know correct config.cpu_count
Correctly passes tests on amd64, ia32 in both bochs & qemu.
 
759 6766 d 20 h palkovsky /kernel/trunk/ Skeleton of SLAB allocator.  
757 6767 d 1 h jermar /kernel/trunk/ Blacklist addresses between 0xa0000 and 0xfffff on ia64 for frame allocator.
This area contains VGA text frame buffer and should be avoided.
falloc2 test now passes on ia64.
 
756 6767 d 22 h jermar /kernel/trunk/ Memory management work.
Remove the last (i.e. 'root') argument from page_mapping_insert() and page_mapping_find().
Page table address is now extracted from the first (i.e. 'as') argument.
Add a lot of infrastructure to make the above possible.
sparc64 is now broken, most likely because of insufficient identity mapping of physical memory.
 
755 6768 d 21 h jermar /kernel/trunk/ Change page_mapping_find/insert interfaces to take as_t * as first argument
and not asid_t as second argument. This change was necessitated by the
removal of mapping array from as_area_t and the fact that an address
space doesn't have an ASID when it is created.
 
727 6780 d 0 h jermar /kernel/trunk/ New ASID management subsystem (initial work, more is required).
Some TLB invalidation changes.
 
724 6782 d 1 h palkovsky /kernel/trunk/ Commit of the falloc_bad branch to trunk (719:723).  
703 6786 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().
 
684 6791 d 7 h jermar /kernel/trunk/ Memory management work.
Move generic 4-level page table interface to genarch
and enable architectures to use different virtual memory
mechanisms (e.g. page hash tables).
Start page hash table support.
Switch ia64 and sparc64 to page hash tables.
Other architectures keep on using 4-level page table interface.