Subversion Repositories HelenOS

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
1968 6529 d 6 h jermar /tags/ Canonize pre-0.2.0.3 tags: remove inner branches, tags and trunk directories.
The change now should reflect how those releases looked like after checkout.
 
1964 6529 d 7 h jermar /tags/0.2.0/ Tagging release 0.2.0  
1595 6672 d 21 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.
 
1587 6673 d 11 h jermar /kernel/trunk/ task_destroy() implementation, fixes in as_destroy() and task_kill().
This is the first version of HelenOS that would perform complete cleanup leading from thread to destruction of address space.
 
1511 6676 d 14 h palkovsky /kernel/trunk/arch/ Remove __address from include file included by uspace  
1474 6678 d 6 h palkovsky /kernel/trunk/ Added syscall that lets kernel regain access to keyboard.  
1434 6681 d 10 h palkovsky /kernel/trunk/ Added 'realtime' clock interface.
Added some asm macros as memory barriers.
Added drift computing for mips platform.
 
1423 6682 d 15 h jermar /kernel/trunk/ Update page fault handlers to distinguish between different access modes that had caused the page fault.  
1293 6704 d 13 h palkovsky /kernel/trunk/ Implemented mips memcpy (copy from gcc builtin memcpy).  
1288 6704 d 16 h jermar /kernel/trunk/ Complete implementation of copy_from_uspace() and copy_to_uspace()
for amd64 and ia32. Other architectures still compile and run,
but need to implement their own assembly-only memcpy(), memcpy_from_uspace(),
memcpy_to_uspace() and their failover parts. For these architectures
only dummy implementations are provided.
 
1258 6710 d 6 h palkovsky /kernel/trunk/ Added support for IRQ notifiactions.
- seems to work correctly on ia32, amd64
- the mips kbd probably lowers interrupts when the char is read from
the port, we will have to find a way how to deal with it.
 
1223 6716 d 16 h jermar /kernel/trunk/ Make ia64 and sparc64 compile again.
Fix ia64 to set up inits in arch_pre_main().
 
1222 6717 d 5 h decky /kernel/trunk/arch/ init tasks must be registered before main_bsp()  
1185 6726 d 14 h jermar /kernel/trunk/ Add task_create_arch() for all architectures.  
1184 6726 d 14 h jermar /kernel/trunk/ Move arch/thread.h to arch/proc/thread.h on all architectures.
Replace ARCH_THREAD_DATA with new thread_arch_t arch on all architectures.
Similarily, add task_arch_t arch on all architectures.
On amd64 and ia32, grow the TSS segment by 64K + 1B to support IO port
permission bitmap. For the same reason, define per task IO port permission bitmaps
on ia32 and amd64.
 
1171 6727 d 19 h jermar /kernel/trunk/ Initialize ARCH_THREAD_DATA on all architectures.
On ia32 and amd64 this fixes bug caused by uninitialized TLS pointer.
 
1122 6747 d 4 h palkovsky /kernel/trunk/arch/mips32/ Set up T9 to entry point on entry to userspace to facilitate better
PIC running.
 
1107 6748 d 6 h jermar /kernel/trunk/ Small atomic #include and typedef changes.  
1104 6748 d 11 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.
 
1102 6749 d 6 h palkovsky /kernel/trunk/arch/ Keep $K1 register for use as a thread local storage pointer on MIPS.  
1100 6750 d 8 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 6750 d 15 h palkovsky /kernel/trunk/ Cleanup of mips
- inline register reads
- better fpu disable/enable - global settings is automatically propagated to task
- fast syscall
 
1087 6751 d 18 h palkovsky /kernel/trunk/arch/mips32/include/mm/ Fix MIPS32 bad paging index computation. Fixed random page faults on mips.  
1078 6753 d 10 h jermar /kernel/trunk/ Improved uspace threads.
ia64 needs fixing.
 
1070 6753 d 18 h jermar /kernel/trunk/ More checks for address space area conflicts.  
1055 6754 d 11 h cejka /kernel/trunk/arch/mips32/include/ Stack constants moved to stack.h as on other archs.  
1054 6754 d 11 h cejka /kernel/trunk/ Updated stackarg macros for mips32.
Mips32 stack aligned on 8 bytes boundary.
 
1024 6755 d 9 h jermar /kernel/trunk/ Redefine semantics of unary atomic operations.
Add test to verify that an architecture understands the semantics correctly.
 
980 6756 d 14 h palkovsky /kernel/trunk/ Small speed update of ipc.
Fixed some bugs regarding pages in mremap.
 
977 6756 d 14 h jermar /kernel/trunk/ Add sys_mremap() syscall.  
967 6756 d 18 h palkovsky /kernel/trunk/ Allowed userspace to include page.h.  
958 6757 d 8 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 6757 d 9 h palkovsky /kernel/trunk/ Added kernel IPC functionality.  
941 6758 d 9 h palkovsky /kernel/trunk/ Fixed mips elf loading.  
940 6758 d 9 h jermar /kernel/trunk/ Get rid of unneeded macros.
Their functionality has been replaced by the ELF loader.
 
938 6758 d 10 h jermar /kernel/trunk/ Basic support for loading ELF object files.
ia64, amd64, ia32 working.
mips32 requires some attention.
 
924 6758 d 20 h palkovsky /kernel/trunk/arch/mips32/ Macro redefinition for mips fpu.  
910 6765 d 15 h bondari /kernel/trunk/ ELF framework for all archs. SPARC V9 not tested to compile.  
906 6768 d 4 h palkovsky /kernel/trunk/ Added lazy fpu context allocation.
- threads that don't use fpu, don't get allocated fpu context
- fpu context alignment on AMD64 nicely disappeared
 
860 6778 d 4 h decky /kernel/trunk/ indentation changes
ppc32 fpu context save/restore
ppc32 CPU version
ppc32 memcpy