Subversion Repositories HelenOS

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
1888 6523 d 20 h jermar /trunk/ C99 compliant header guards (hopefully) everywhere in the kernel.
Formatting and indentation changes.
Small improvements in sparc64.
 
1862 6536 d 20 h jermar /trunk/kernel/ sparc64 work.
Kernel syscall support.
Modify the preemptive_handler for the use by syscalls.
 
1822 6568 d 2 h jermar /trunk/ sparc64 work.
1. Formatting fixes.
2. When writing to DMMU ASI's, simple membar() can be used in place of flush().
3. Substantial changes in the way the TLB is taken over.
4. Remove unneeded functions.

This is the first revision that also runs on a real world Ultra 5 with UltraSPARC IIi
processor.

Note that 3. needs further work as the current implementation depends on the fact
that the compiler will use registers for local variables in take_over_tlb_and_tt().
Rewrite of that function into assembly is to follow.
 
1787 6588 d 19 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6595 d 20 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1708 6614 d 2 h jermar /kernel/trunk/ Fix some broken doxygen comments.  
1702 6616 d 23 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1597 6624 d 5 h palkovsky /kernel/trunk/ Added possibility to interrupt task at exit from interrupt routine.  
1579 6625 d 15 h jermar /kernel/trunk/generic/ Framework for task_kill().
Some pieces (e.g. implementation of ktask_cleanup() kernel thread and
task_destroy() function) are missing.
Changed locking order for task lock, threads_lock and thread lock from
threads_lock, thread lock, task lock to task lock, threads_lock, thread lock.
 
1474 6629 d 15 h palkovsky /kernel/trunk/ Added syscall that lets kernel regain access to keyboard.  
1448 6631 d 20 h palkovsky /kernel/trunk/generic/src/syscall/ Better SYS_IO  
1386 6639 d 23 h palkovsky /kernel/trunk/ Fixed mips bug fith TLS register not being properly saved on syscall context
switch.
Reverted SYS_IO, so that it could be used on machines without fb.
 
1362 6644 d 14 h vana /kernel/trunk/generic/src/syscall/ kernel changes for uspace FB driver  
1329 6646 d 20 h palkovsky /kernel/trunk/generic/ Added support to IPC for simple page sharing.  
1318 6647 d 17 h vana /kernel/trunk/ Sysinfo userspace interface  
1306 6649 d 21 h jermar /kernel/trunk/generic/ Add SYS_AS_AREA_DESTROY syscall.
Add few error codes to errno.h
and change as.c accordingly.
 
1297 6653 d 22 h jermar /kernel/trunk/ Add SYS_CAP_GRANT and SYS_CAP_REVOKE syscalls.
Move SYS_PREEMPT_CONTROL to ddi.c.
Add some comments and fix some small issues.
 
1294 6655 d 2 h jermar /kernel/trunk/generic/src/syscall/ Remove unused variable.  
1293 6655 d 22 h palkovsky /kernel/trunk/ Implemented mips memcpy (copy from gcc builtin memcpy).  
1288 6656 d 1 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.
 
1278 6658 d 19 h palkovsky /kernel/trunk/ Changed interrupt_control to preemption_control.  
1264 6660 d 1 h jermar /kernel/trunk/generic/ Improve Doxygen-comments.  
1258 6661 d 15 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.
 
1235 6665 d 2 h jermar /kernel/trunk/generic/ Implementation of SYS_AS_AREA_ACCEPT and SYS_AS_AREA_SEND syscalls.
Note that these replace previously declared SYS_AS_AREA_SHARE_APPROVE
and SYS_AS_AREA_SHARE_PERFORM.
 
1227 6667 d 21 h jermar /kernel/trunk/ Reorganize syscall names to better correspond to kernel architecture.
Add dummy placeholders for SYS_AS_AREA_SHARE_APPROVE and
SYS_AS_AREA_SHARE_PERFORM syscalls.
 
1212 6668 d 19 h palkovsky /kernel/trunk/ Added uspace call to enable/disable interrupts.  
1191 6677 d 4 h jermar /kernel/trunk/ Kernel support for SYS_ENABLE_IOSPACE.
amd64 and ia32 provide dummy implementation thereof.
 
1178 6678 d 21 h jermar /kernel/trunk/ Add task_find_by_id().
Add kernel support for SYS_MAP_PHYSMEM.
 
1176 6679 d 1 h jermar /kernel/trunk/generic/ Kernel support for SYS_GET_TASK_ID syscall.  
1118 6698 d 16 h jermar /kernel/trunk/generic/src/syscall/ Change syscall table.  
1112 6699 d 3 h palkovsky /kernel/trunk/ Added basic kernel infrastructure for ThreadLocalStorage(TLS) for
ia32(complete),amd64(complete),mips32(missing emulation of rdhwr instruction).
 
1109 6699 d 15 h jermar /kernel/trunk/ Basic futex. Prototype implementation.  
1100 6701 d 17 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.
 
1090 6702 d 18 h palkovsky /kernel/trunk/generic/ Reduced unnecessary IPC system calls.
Allow everything to be sync & async, everything is handled using messages.
 
1086 6703 d 14 h palkovsky /kernel/trunk/generic/ Untested better IPC functions.
* There is some bug in MIPS, unpredicatbly sometimes the thread gets mapped
different frame for stack.
 
1066 6705 d 12 h jermar /kernel/trunk/ Support for user space threads.  
1040 6706 d 1 h palkovsky /kernel/trunk/generic/ Changed ipc to use spinlocks instead of mutexes again.
Fixed loading inits to set nameservice as the first loaded process.
Lot of TODO in ipc done.
 
1032 6706 d 13 h jermar /kernel/trunk/generic/ mmap() syscall.  
1027 6706 d 13 h palkovsky /kernel/trunk/ Implemented callback IPC call (connect_to_me).  
1024 6706 d 18 h jermar /kernel/trunk/ Redefine semantics of unary atomic operations.
Add test to verify that an architecture understands the semantics correctly.