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
1769 6512 d 15 h jermar /kernel/trunk/arch/ Change cache_error exception to take istate * as a parameter.
Make cache_error() print epc in the panic message.
Do not rely on the compiler to generate 'nop' after 'beq' in atomic_add()
and put it there explicitly.
Indentation fixes and cosmetic changes.
 
1754 6524 d 1 h jermar /kernel/trunk/ Indentation and some improved comments.
Remove forgotten comment from gxemul.sh.
 
1702 6530 d 22 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1595 6538 d 5 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.
 
1221 6582 d 13 h decky /kernel/trunk/ printf-related and other code cleanup  
1196 6588 d 23 h cejka /kernel/trunk/ Printf ported back from uspace to kernel.
Printf calls changed to match new conventions.
 
1126 6612 d 0 h palkovsky /kernel/trunk/arch/mips32/src/ Fix bad order of EPC & STATUS change in syscall_shortcut.  
1119 6612 d 15 h palkovsky /kernel/trunk/arch/ Fixed bad rflags masking in amd64.
Added TLS get address instruction emulation for mips.
 
1100 6615 d 16 h palkovsky /kernel/trunk/ Cleanup of spinlocks, now compiles both ia32 and amd64 with
and without DEBUG_SPINLOCKS. Made spinlocks inline.
Moved syscall_handler to generic (it was identical for ia32,amd64 & mips32).
Made slightly faster syscall for ia32.
Made better interrupt routines for ia32.
Allow not saving non-scratch registers during interrupt on ia32,amd64,mips32.
Aligned interrupt handlers on ia32,amd64, this should prevent problems
with different instruction lengths.
 
1096 6615 d 23 h palkovsky /kernel/trunk/ Cleanup of mips
- inline register reads
- better fpu disable/enable - global settings is automatically propagated to task
- fast syscall
 
959 6622 d 15 h palkovsky /kernel/trunk/ New synchronous ipc.
Widened syscall to support up to 5 parameters.
 
958 6622 d 16 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.
 
955 6622 d 17 h palkovsky /kernel/trunk/ Added kernel IPC functionality.  
852 6645 d 22 h palkovsky /kernel/trunk/ Fixes in memory allocator
- proper kernel blacklisting, when kernel not loaded on page boundary
- correct zone adding in zone list (how could this work??)
 
799 6657 d 15 h palkovsky /kernel/trunk/ Preliminary work on AMD userspace.  
794 6657 d 20 h palkovsky /kernel/trunk/ Added MIPS userspace. Currently can't make it work in gxemul.  
615 6713 d 1 h palkovsky /kernel/trunk/ Cleanups to make it compile with -Wall. Did not catch everything yet.  
614 6713 d 11 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.
 
610 6713 d 19 h palkovsky /kernel/trunk/arch/mips32/ Cleanup of unnecessary things.  
609 6713 d 19 h palkovsky /kernel/trunk/ added support for breakpoints to mips32  
593 6715 d 18 h palkovsky /kernel/trunk/arch/mips32/src/ Fixed typo.  
590 6715 d 18 h palkovsky /kernel/trunk/ Move all MIPS exceptions to generic dispatcher.
Align size in malloc() to __native size, some architectures
don't like it unaligned.
 
534 6721 d 17 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
532 6721 d 17 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
501 6733 d 21 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
458 6748 d 0 h decky /SPARTAN/trunk/ make configuration variables usage consistent  
413 6769 d 13 h jermar /SPARTAN/trunk/ Rename cpu_priority_{high|low|restore|read} functions to interrupts_{disable|enable|restore|read}.
Rename pri_t to ipl_t (Interrupt Priority Level).
Rename thread_t::pri to thread_t::priority.
 
391 6782 d 14 h jermar /SPARTAN/trunk/ mips32 memory management work.
TLB Refill Exception implemented (passed basic testing).
Remove bit g from struct entry_hi.
Add generic find_mapping().
Add asid to vm_t type, define asid_t to hide architecture specific differences.
Implement ASID allocation for mips32, dummy for other architectures.
Add THE->vm (a.k.a. VM).
Add vm_install_arch().
Move pte_t definition to arch/types.h on each architecture.
Fix PTL manipulating functions on mips32 to shift pfn by 12 instead of by 14.
Fix tlb_init_arch() to initialize all entries.

Other.
Remove unnecessary header files from arch.h
Add missing headers here and there.
Remove two unnecessary ld flags from mips32 makefile.
 
389 6783 d 1 h jermar /SPARTAN/trunk/ MIPS work.
Fix some name inconsistencies between cp0 functions' declarations and definitions.
Add and implement tlb_init_arch().
Add tlb_modified() exception handler.

Other architectures: add dummy tlb_init_arch().
 
341 6804 d 22 h jermar /SPARTAN/trunk/ Rename mips port to mips32.  
332 6805 d 23 h palkovsky /SPARTAN/trunk/ Updated symtab so that it works correctly with BE architectures.
Changed compiler for BE MIPS to be mips-sgi-irix5, because
mipsel -EB does not behave correctly.
Doc updates to amd64.
Added ARC BIOS support to MIPS architecture. Putchar works correctly,
kernel passed FPU & some rwlock tests.
 
330 6806 d 18 h palkovsky /SPARTAN/trunk/arch/mips/ Fixed bad address loading in simulators.
FPU cooprocessor unusable now checks, if it is FPU that is unusable.
 
327 6807 d 11 h palkovsky /SPARTAN/trunk/ Doc updates, small fixes.  
326 6807 d 11 h palkovsky /SPARTAN/trunk/ Cleanup of makefiles to have common options in one main makefile.

Add simple build process for different simulators for MIPS.
Added FPU context & lazy FPU context switching to MIPS.
Cleanup of MIPS linker script.
Moved MIPS kernel above 1MB. Not tested on real machine yet, but it might help.

There is something broken with gcc inlined memcpy (either simulator or gcc), it is disabled on BigEndian mips now.
 
319 6810 d 2 h jermar /SPARTAN/trunk/arch/mips/ Copyright notices changes.  
317 6810 d 2 h palkovsky /SPARTAN/trunk/ MIPS exception now saves all necesssary information only on stack.  
313 6810 d 13 h palkovsky /SPARTAN/trunk/arch/ MIPS bug fixes.
Added usermode to MIPS, unfortunately impossible to test until
MM is ready.
 
227 6815 d 22 h jermar /SPARTAN/trunk/ Add couple of assertions CPU != NULL.

Change type of nrdy from int to count_t.

Rewrite halt() to avoid page fault when CPU == NULL.
 
213 6816 d 14 h jermar /SPARTAN/trunk/ Add some comments.  
195 6817 d 16 h vana /SPARTAN/trunk/ 1) memcopy and _memcopy functions rewriten to ANSI C norm.
2) Repaired ia32,ia64 and mips version of SPARTAN to work with this memcopy functions
3) Warning for non declared funcions added and repaired ia32,ia64 and mips versions to pass build process with this warning and Werror option