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 6457 d 2 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 6463 d 18 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 6512 d 16 h decky /trunk/kernel/ more sophisticated initial stack handling  
1826 6512 d 23 h decky /trunk/kernel/generic/src/main/ some debugging output  
1787 6533 d 22 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6540 d 23 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1757 6555 d 4 h jermar /kernel/trunk/ Cleanup of comments.  
1729 6557 d 16 h decky /kernel/trunk/generic/src/main/ coding style changes  
1702 6562 d 2 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1595 6569 d 9 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 6577 d 22 h palkovsky /kernel/trunk/ Added 'realtime' clock interface.
Added some asm macros as memory barriers.
Added drift computing for mips platform.
 
1389 6584 d 22 h decky /kernel/trunk/ minor changes
ppc32: identically map the whole physical memory
fix page hash table refill logic
 
1315 6592 d 23 h jermar /kernel/trunk/generic/ Improve framebuffer speed by buffering blank line.  
1248 6609 d 0 h jermar /kernel/trunk/ Add some @file doxygen comments and improve already existing comments.  
1229 6612 d 4 h jermar /kernel/trunk/ Remove the outdated TODO file.
Improve doxygen comments here and there.
 
1224 6613 d 2 h cejka /kernel/trunk/ Fix pointers output format.
Fix format of slab and zones tables.
 
1221 6613 d 18 h decky /kernel/trunk/ printf-related and other code cleanup  
1196 6620 d 4 h cejka /kernel/trunk/ Printf ported back from uspace to kernel.
Printf calls changed to match new conventions.
 
1164 6627 d 0 h jermar /kernel/trunk/generic/ Switch B+tree node allocation from malloc() to a dedicated slab - btree_node_slab.  
1138 6640 d 0 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 6644 d 18 h jermar /kernel/trunk/ Basic futex. Prototype implementation.  
1101 6646 d 20 h jermar /kernel/trunk/ B+-tree implementation.
Currently supports only inserting and searching.
 
1063 6650 d 17 h palkovsky /kernel/trunk/ Add support for more then 2GB of address space for AMD64.  
1062 6650 d 18 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 6651 d 5 h decky /kernel/trunk/ support for more init tasks
(might break some archs yet)
 
955 6653 d 21 h palkovsky /kernel/trunk/ Added kernel IPC functionality.  
860 6674 d 17 h decky /kernel/trunk/ indentation changes
ppc32 fpu context save/restore
ppc32 CPU version
ppc32 memcpy
 
822 6686 d 18 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 6687 d 4 h palkovsky /kernel/trunk/ Cleanup o frame allocator.
Removed early_malloc & initial heap.
Will break ia64, ppc & sparc.
Added e820 table print.
 
799 6688 d 20 h palkovsky /kernel/trunk/ Preliminary work on AMD userspace.  
789 6689 d 19 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 6691 d 15 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 6693 d 15 h palkovsky /kernel/trunk/ Skeleton of SLAB allocator.  
757 6693 d 20 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 6694 d 17 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 6695 d 16 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 6706 d 18 h jermar /kernel/trunk/ New ASID management subsystem (initial work, more is required).
Some TLB invalidation changes.
 
724 6708 d 20 h palkovsky /kernel/trunk/ Commit of the falloc_bad branch to trunk (719:723).  
703 6713 d 4 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 6718 d 2 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.