Subversion Repositories HelenOS-historic

Rev

Go to most recent revision | Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
659 6731 d 15 h jermar /kernel/trunk/ Make the kernel compile with -Wall.  
658 6731 d 15 h jermar /kernel/trunk/arch/sparc64/include/ sparc64 work.
Add functions to read and write TICK and TICK_compare registers.
Add types describing TICK and TICK_compare registers.
 
657 6732 d 3 h jermar /kernel/trunk/ sparc64 work.
Context again. It turns out, according to SCD 2.4, that registers that didn't have to be saved were saved (%o1 - %o5) and
registers that had to be saved were not saved (%i0 - %i5, %l0 - %l7).
 
655 6733 d 8 h jermar /kernel/trunk/arch/ Compilation fixes.  
651 6734 d 2 h decky /kernel/trunk/ remove arch/$ARCH/boot where not needed, change global Makefile accordingly
remove early_mapping() (breaks ppc32 for now)
change early heap initialization (required for init to work)
 
650 6734 d 4 h jermar /kernel/trunk/ sparc64 work.
Implement interrupt_disable(), interrupt_enable(), interrupt_restore() and interrupt_read() functions.
Fix context save/restore to save/restore register %i7.
 
646 6735 d 3 h jermar /kernel/trunk/ Fix cpu_init(): frame_alloc() can return 0 as the valid address of block of frames. Do not signal error.

sparc64 work.
Reorganize kernel vs. userspace memory layout.
Add panic_printf().
Turn dummy() into nop rather than into infinite loop.
 
644 6735 d 13 h jermar /kernel/trunk/arch/ Remove unnecessary files or files that are now part of the boot/ module.  
640 6736 d 3 h jermar /kernel/trunk/ sparc64 work.
CPU identification.
 
635 6737 d 2 h palkovsky /kernel/trunk/ Fixed kconsole resolution of similar commands.
Add commands to debugger to allow for simple profiling or
calling debug actions if needed.
 
634 6737 d 16 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
Better way of trap table organization.
Kernel trap handlers now "stay" on addresses on wich they were linked.
 
633 6738 d 5 h palkovsky /kernel/trunk/arch/ Fixes of compilation of atomic.  
632 6738 d 5 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
Add trap_install_handler().
Use trap_install_handler() to install register window clean, spill and fill handlers.
 
631 6738 d 5 h palkovsky /kernel/trunk/ Fixed cpu halting in debug panic mode.  
630 6738 d 7 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
Register window clean, spill and fill handlers.
 
629 6738 d 7 h decky /kernel/trunk/ init task loading (yet buggy)  
628 6738 d 8 h decky /kernel/trunk/ ia32: floppy boot image uses GRUB  
627 6738 d 10 h jermar /kernel/trunk/ Fix ia64 and sparc64 to compile with new atomic_t.
Fix rwlock test #5 and semaphore test #1 to compile with new atomic_t.

sparc64 work.
TBA must be set before a function call when MMU is switched off.
 
625 6738 d 10 h palkovsky /kernel/trunk/ We are now almost -Wall clean.
- redefined atomic_t
- deleted many, many unused variables
- some minor code cleanups found using compiler warning.
 
623 6738 d 16 h jermar /kernel/trunk/ Add SPINLOCK_DECLARE and SPINLOCK_INITIALIZE macros.
SPINLOCK_DECLARE is to be used instead of direct spinlock_t declarations
in dynamically allocated structures on which spinlock_initialize() is called after
their creation.
SPINLOCK_INITIALIZE is to be used instead of direct spinlock_t declarations
of global spinlocks. It declares and initializes the spinlock.
Moreover, both macros are empty on UP so that -Wall warnings about unused structures
get supressed.
 
622 6739 d 6 h palkovsky /kernel/trunk/ Better gcc CALLER implementation  
619 6740 d 1 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
Functions for disabling/enabling MMU.
TLB initialization.
Identity mapping of first 4M for kernel.
Switch to kernel copy of trap table.
 
618 6740 d 4 h jermar /kernel/trunk/arch/mips32/src/mm/ Unify mips32 and sparc64 tlb_invalidate_all() semantics: do not invalidate locked/wired TLB entries.  
617 6740 d 4 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
Support for TLB Demap operations.
Add tlb_invalidate(), tlb_invalidate_asid() and tlb_invalidate_page() (latter two are broken as they ignore asid).
 
615 6740 d 15 h palkovsky /kernel/trunk/ Cleanups to make it compile with -Wall. Did not catch everything yet.  
614 6741 d 1 h palkovsky /kernel/trunk/ Added support for mips breakpoints.
We have a kind of kernel debugger :-)
Breakpoints on JMP/Branch instructions are not supported and
they are reported after the breakpoint is fired and exited as
a BranchDelay exception. If we found a way, how to detect these
instructions, we would be able to support them as 'one-time' breakpoints.
 
613 6741 d 3 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
More ITLB and DTLB controlling functions.
 
612 6741 d 7 h jermar /kernel/trunk/arch/mips32/src/mm/ Weaken the assumption, that PageMask register contains the right mask everytime.
As a result, TLB exceptions will explicitly write this register when filling TLB entry.
Adjust tlb_print() on mips32 to print PageMask as well.
 
610 6741 d 9 h palkovsky /kernel/trunk/arch/mips32/ Cleanup of unnecessary things.  
609 6741 d 9 h palkovsky /kernel/trunk/ added support for breakpoints to mips32  
607 6741 d 10 h palkovsky /kernel/trunk/ Fixed weird simics panic.
Run kconsole, if we panic. This currently works in gxemul,
simics. In mips we need to modify the simulator.
On ia32 we need a function, that would speak directly to the chip
and fetch the character using polling.
 
606 6741 d 11 h palkovsky /kernel/trunk/ Small kconsole readline changes.
Some mips tweaks to allow for real keyboard support in indy.
 
605 6741 d 15 h palkovsky /kernel/trunk/arch/mips32/src/drivers/ Allow for different ARC frame size and kernel frame size.  
604 6741 d 15 h palkovsky /kernel/trunk/ Make it boot on SGI indy again.  
602 6742 d 5 h palkovsky /kernel/trunk/ Symtab returns correct addresses even when symtab is befor bss.
Some tab completion optimization.
 
601 6742 d 7 h palkovsky /kernel/trunk/ Added some readline functionality to kconsole.
Arrows editing, history, tab completion.
 
600 6742 d 11 h jermar /kernel/trunk/arch/mips32/ Different sizes of TLB on mips32.
R4000 has 48 entries, 4kc has only 16 entries.
 
599 6742 d 12 h jermar /kernel/trunk/arch/mips32/ Fixes for mips32 invalidation functions.  
598 6742 d 13 h jermar /kernel/trunk/arch/mips32/src/mm/ TLB invalidation functions for mips32. Not deployed yet. Not tested.  
597 6742 d 13 h jermar /kernel/trunk/ Finer grained TLB invalidate functions for ia32 and amd64. Not yet deployed.