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
667 6733 d 0 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 6734 d 22 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 6735 d 7 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
Tick interrupt support.
 
664 6736 d 18 h jermar /kernel/trunk/ sparc64 work.
Interrupt Levels 1 - 15 serviced.
Minor changes in the exc_* functions.
 
663 6737 d 7 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()).
 
658 6740 d 8 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 6740 d 20 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).
 
651 6742 d 19 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 6742 d 21 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 6743 d 20 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 6744 d 6 h jermar /kernel/trunk/arch/ Remove unnecessary files or files that are now part of the boot/ module.  
640 6744 d 20 h jermar /kernel/trunk/ sparc64 work.
CPU identification.
 
634 6746 d 9 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.
 
632 6746 d 22 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.
 
630 6747 d 0 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
Register window clean, spill and fill handlers.
 
627 6747 d 2 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 6747 d 3 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.
 
619 6748 d 18 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.
 
617 6748 d 21 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).
 
613 6749 d 19 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
More ITLB and DTLB controlling functions.
 
586 6752 d 3 h jermar /kernel/trunk/ Fix ppc32 and sparc64 to compile again.
Fix sparc64 to function again.
 
581 6752 d 7 h palkovsky /kernel/trunk/ Small debug changes.  
570 6753 d 21 h jermar /kernel/trunk/arch/sparc64/src/mm/ Missing tlb.c from last commit.  
569 6753 d 21 h jermar /kernel/trunk/ sparc64 work.
Implement functions for reading IMMU and DMMU TLBs.
 
564 6754 d 20 h jermar /kernel/trunk/ Send in some improvements.  
538 6757 d 1 h jermar /kernel/trunk/ Buddy allocator cleanup and fixes II.
- Rewrite IS_BUDDY_LEFT_BLOCK so that it does not need floating point on some architectures (e.g. IA-64).
- Get rid of IS_BUDDY_RIGHT_BLOCK.
- Make sparc64 use zone_create_in_region.
 
534 6758 d 0 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
532 6758 d 0 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
531 6758 d 23 h jermar /kernel/trunk/arch/sparc64/include/mm/ sparc64 work.
MMU ASI & virtual addresses definitions.
 
530 6759 d 8 h jermar /kernel/trunk/arch/sparc64/include/mm/ sparc64 work.
TTE (Translation Table Entry) type definitions.
 
529 6760 d 3 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
Add dummy trap tables.
 
528 6760 d 23 h jermar /kernel/trunk/ sparc64 work.
The context_save/context_restore needed two other improvements.
First, storing of %fp because of window_fills.
Second, flushing all active windows before CONTEXT_LOAD to make CWP - 1 the overlap window.
 
527 6761 d 6 h jermar /kernel/trunk/ saprc64 work.
Perform leaf-procedure optimization for context_save and context_restore.
 
526 6761 d 6 h jermar /kernel/trunk/ sparc64 work.
No need to save/restore local registers.
 
525 6761 d 9 h jermar /kernel/trunk/arch/sparc64/ sparc64 work.
Add stack.h.
 
503 6770 d 3 h jermar /kernel/trunk/ Rename arch_late_init() to arch_pre_smp_init().
Add arch_post_smp_init().
Enable IRQ_KBD on ia-32 (doesn't work on Bochs SMP, works on Bochs UP).
 
501 6770 d 4 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
493 6770 d 21 h jermar /SPARTAN/trunk/ Move genarch/{src|include}/firmware/ofw to genarch/{src|include}/ofw.  
486 6777 d 21 h jermar /SPARTAN/trunk/ Revert to -O3 for all architectures as the mips32 bug got fixed.  
483 6778 d 0 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.