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
2071 6325 d 1 h jermar /trunk/ (c) versus (C)  
1935 6416 d 12 h decky /trunk/kernel/generic/include/ add function type  
1923 6418 d 1 h jermar /trunk/ Replace the old IRQ dispatcher and IPC notifier with new implementation.
Note that all architectures except for sparc64 are now broken
and don't even compile.
 
1920 6420 d 10 h jermar /trunk/kernel/ Move the new IRQ redirector to ddi/.
Add function for assigning unique device numbers.
Change sparc64/drivers/kbd.c to assign devno to keyboard.
 
1881 6452 d 9 h jermar /trunk/ sparc64 work:
- find a CPU node and read its clock_frequency attribute
- implement asm_delay_loop()
- set TICK_COMPARE register according to processor frequency
- small improvements at random places

OpenFirmware work:
- two new functions for walking the device tree

Generic boot loader work:
- added basic string functions

Usual pile of indentation and formatting fixes.
 
1820 6497 d 23 h decky /trunk/kernel/generic/ initial security context support  
1819 6497 d 23 h decky /trunk/kernel/generic/include/ formatting changes  
1787 6515 d 4 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1702 6543 d 8 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1380 6567 d 2 h jermar /kernel/trunk/ Turn address space lock, address space area lock and
page_ht_lock into mutexes.
 
1107 6626 d 0 h jermar /kernel/trunk/ Small atomic #include and typedef changes.  
1104 6626 d 5 h jermar /kernel/trunk/ Define atomic_t only once in atomic.h
Change the encapsulated counter type to long so that it supports negative values as well.
 
1101 6628 d 1 h jermar /kernel/trunk/ B+-tree implementation.
Currently supports only inserting and searching.
 
1037 6632 d 10 h decky /kernel/trunk/ support for more init tasks
(might break some archs yet)
 
1005 6633 d 10 h palkovsky /kernel/trunk/generic/ Added support for taskid.  
958 6635 d 2 h jermar /kernel/trunk/ Nicer ia32 interrupt handlers and structures holding interrupted context data.
Unify the name holding interrupted context data on all architectures to be istate.
 
820 6667 d 23 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 6668 d 9 h palkovsky /kernel/trunk/ Cleanup o frame allocator.
Removed early_malloc & initial heap.
Will break ia64, ppc & sparc.
Added e820 table print.
 
790 6671 d 0 h jermar /kernel/trunk/ Generic chaining hash table.  
703 6694 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().
 
664 6712 d 21 h jermar /kernel/trunk/ sparc64 work.
Interrupt Levels 1 - 15 serviced.
Minor changes in the exc_* functions.
 
534 6734 d 2 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
533 6734 d 2 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 6734 d 2 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
517 6742 d 23 h jermar /kernel/trunk/ Implement basic kernel console command recognition.
Commands without arguments are now recognized.
 
510 6745 d 22 h jermar /kernel/trunk/ Add chardev_t.
This type is meant to abstract any input character device such as keyboard, serial port etc.
Add stdin.
Add dummy kconsole.
 
501 6746 d 7 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
483 6754 d 2 h jermar /SPARTAN/trunk/ For now, each architecture must use its own -O switch (-O2 doesn't work for ia64, -O3 doesn't work for mips32).

New mips32 atomic_add() function.

Cleanup.
 
430 6767 d 0 h jermar /SPARTAN/trunk/ Move src/ and include/ to generic.  
410 6783 d 3 h jermar /SPARTAN/trunk/ Doxygen-style comments.  
381 6799 d 23 h jermar /SPARTAN/trunk/ Make cross-compiler the default compiler on IA-32.
For native compilations, use ./build.ia32 native.

Small changes elsewhere.
 
377 6804 d 2 h jermar /SPARTAN/trunk/ Generic buddy allocator.
Please review the code before it is deployed.
 
366 6809 d 0 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.
 
354 6811 d 7 h jermar /SPARTAN/trunk/ Physical memory management work.
Define structures for frame zones and frames.

Add some comments.
 
173 6835 d 1 h jermar /SPARTAN/trunk/ Preparations for weaker preemption model.
Make all kernel stacks (i.e. startup, scheduler and thread) be STACK_SIZE bytes long.
Reincarnate "the" structure. This time, it is planned to be located at the base of each and every kernel stack.
On IA-32 and MIPS, implement get_stack_base() functions. On the rest of supported platforms, define it to be dummy.
 
120 6890 d 23 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.
 
102 6924 d 2 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.
 
68 6941 d 2 h decky /SPARTAN/trunk/ NDEBUG debug symbol, ASSERT debug macro, fancier panic() in debug mode
indentation fixes, ASSERTs
 
67 6941 d 3 h decky /SPARTAN/trunk/ typedef short bool (as logical type), defines of false and true
const qualifier for list_member()
 
45 6944 d 12 h vana /SPARTAN/trunk/ Added fpu_context_t type.
IA-32's version of this type contains array of 512 bytes to be used by FXSAVE ... instructions.