Subversion Repositories HelenOS-historic

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
667 6885 d 23 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
Rename saving_handler() to preemptible_handler()
and fix it to make sparc64 kernel preemptive.
Add two handlers for two fatal exceptions (i.e.
instruction_access_exception and mem_address_not_aligned.
Fix panic_printf() to not allocate its own register window.
 
666 6887 d 20 h jermar /kernel/trunk/ sparc64 work.
Fix clean_window trap handler so that it clears output registers instead of input registers!
Fix interrupt handlers to save global registers.
 
665 6888 d 6 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
Tick interrupt support.
 
664 6889 d 17 h jermar /kernel/trunk/ sparc64 work.
Interrupt Levels 1 - 15 serviced.
Minor changes in the exc_* functions.
 
663 6890 d 6 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
Initial interrupt_vector_trap handler and fixes needed to make it do the right thing (i.e. panic()).
 
662 6891 d 19 h decky /kernel/trunk/ initial syscall table support  
659 6893 d 7 h jermar /kernel/trunk/ Make the kernel compile with -Wall.  
658 6893 d 7 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 6893 d 19 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 6895 d 0 h jermar /kernel/trunk/arch/ Compilation fixes.  
654 6895 d 0 h jermar /kernel/trunk/generic/src/ Fix page_insert_mapping().
Some architectures (e.g. ia32) need to have the lower-numbered PTL's flagged as PAGE_WRITE in order to prevent overriding protection bits of leaf TTE's.
 
651 6895 d 18 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 6895 d 19 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 6896 d 19 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 6897 d 5 h jermar /kernel/trunk/arch/ Remove unnecessary files or files that are now part of the boot/ module.  
640 6897 d 19 h jermar /kernel/trunk/ sparc64 work.
CPU identification.
 
635 6898 d 18 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 6899 d 7 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 6899 d 20 h palkovsky /kernel/trunk/arch/ Fixes of compilation of atomic.  
632 6899 d 20 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 6899 d 21 h palkovsky /kernel/trunk/ Fixed cpu halting in debug panic mode.  
630 6899 d 22 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
Register window clean, spill and fill handlers.
 
629 6899 d 23 h decky /kernel/trunk/ init task loading (yet buggy)  
628 6900 d 0 h decky /kernel/trunk/ ia32: floppy boot image uses GRUB  
627 6900 d 1 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.
 
626 6900 d 2 h palkovsky /kernel/trunk/ Less checking in kernel config,
allow DEADLOCK_DEBUG only for SMP.
 
625 6900 d 2 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.
 
624 6900 d 3 h jermar /kernel/trunk/generic/ Add LIST_INITIALIZE() macro to declare and initialize statically allocated lists.  
623 6900 d 8 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 6900 d 22 h palkovsky /kernel/trunk/ Better gcc CALLER implementation  
621 6901 d 3 h palkovsky /kernel/trunk/ better architecture line  
620 6901 d 3 h palkovsky /kernel/trunk/ Build string now contains correct architecture.  
619 6901 d 16 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 6901 d 19 h jermar /kernel/trunk/arch/mips32/src/mm/ Unify mips32 and sparc64 tlb_invalidate_all() semantics: do not invalidate locked/wired TLB entries.  
617 6901 d 19 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).
 
616 6901 d 20 h palkovsky /kernel/trunk/generic/src/debug/ Symtab completion now completes even * and & symbols.  
615 6902 d 7 h palkovsky /kernel/trunk/ Cleanups to make it compile with -Wall. Did not catch everything yet.  
614 6902 d 16 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 6902 d 18 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
More ITLB and DTLB controlling functions.
 
612 6902 d 22 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.