Subversion Repositories HelenOS

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
1386 6639 d 2 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.
 
1354 6644 d 1 h palkovsky /kernel/trunk/ Support for mips kbd driver.  
1332 6645 d 19 h palkovsky /kernel/trunk/ Added support for more processes in mips.  
1293 6655 d 1 h palkovsky /kernel/trunk/ Implemented mips memcpy (copy from gcc builtin memcpy).  
1288 6655 d 4 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 6657 d 22 h palkovsky /kernel/trunk/ Changed interrupt_control to preemption_control.  
1260 6660 d 18 h palkovsky /kernel/trunk/ Small fixes.  
1258 6660 d 18 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.
 
1227 6667 d 0 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.
 
1223 6667 d 3 h jermar /kernel/trunk/ Make ia64 and sparc64 compile again.
Fix ia64 to set up inits in arch_pre_main().
 
1222 6667 d 17 h decky /kernel/trunk/arch/ init tasks must be registered before main_bsp()  
1221 6667 d 17 h decky /kernel/trunk/ printf-related and other code cleanup  
1212 6667 d 22 h palkovsky /kernel/trunk/ Added uspace call to enable/disable interrupts.  
1196 6674 d 3 h cejka /kernel/trunk/ Printf ported back from uspace to kernel.
Printf calls changed to match new conventions.
 
1191 6676 d 7 h jermar /kernel/trunk/ Kernel support for SYS_ENABLE_IOSPACE.
amd64 and ia32 provide dummy implementation thereof.
 
1187 6676 d 23 h jermar /kernel/trunk/ Cleanup pm.c and pm.h code on ia32 and amd64.
Add before_task_runs() and before_task_runs_arch() for each architecture.
Add ia32 and amd64 code to ensure I/O Permission Bitmap update.
 
1135 6695 d 17 h decky /kernel/trunk/ framebuffer code cleanup, support for non-standard scanline sizes
ppc32: get framebuffer parameters from boot loader
 
1126 6697 d 4 h palkovsky /kernel/trunk/arch/mips32/src/ Fix bad order of EPC & STATUS change in syscall_shortcut.  
1122 6697 d 15 h palkovsky /kernel/trunk/arch/mips32/ Set up T9 to entry point on entry to userspace to facilitate better
PIC running.
 
1121 6697 d 19 h jermar /kernel/trunk/ Small textual changes.  
1119 6697 d 19 h palkovsky /kernel/trunk/arch/ Fixed bad rflags masking in amd64.
Added TLS get address instruction emulation for mips.
 
1112 6698 d 6 h palkovsky /kernel/trunk/ Added basic kernel infrastructure for ThreadLocalStorage(TLS) for
ia32(complete),amd64(complete),mips32(missing emulation of rdhwr instruction).
 
1102 6699 d 17 h palkovsky /kernel/trunk/arch/ Keep $K1 register for use as a thread local storage pointer on MIPS.  
1100 6700 d 20 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.
 
1097 6701 d 2 h palkovsky /kernel/trunk/arch/mips32/src/ Still better syscall calling convention for mips.  
1096 6701 d 3 h palkovsky /kernel/trunk/ Cleanup of mips
- inline register reads
- better fpu disable/enable - global settings is automatically propagated to task
- fast syscall
 
1094 6701 d 5 h palkovsky /kernel/trunk/ Allowed saving less registers.  
1078 6703 d 22 h jermar /kernel/trunk/ Improved uspace threads.
ia64 needs fixing.
 
1066 6704 d 15 h jermar /kernel/trunk/ Support for user space threads.  
1044 6705 d 3 h jermar /kernel/trunk/ Page table locking.  
1037 6705 d 5 h decky /kernel/trunk/ support for more init tasks
(might break some archs yet)
 
983 6707 d 1 h palkovsky /kernel/trunk/ Fixed shrinking of as area.  
959 6707 d 19 h palkovsky /kernel/trunk/ New synchronous ipc.
Widened syscall to support up to 5 parameters.
 
958 6707 d 20 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 6707 d 21 h palkovsky /kernel/trunk/ Added kernel IPC functionality.  
938 6708 d 22 h jermar /kernel/trunk/ Basic support for loading ELF object files.
ia64, amd64, ia32 working.
mips32 requires some attention.
 
924 6709 d 8 h palkovsky /kernel/trunk/arch/mips32/ Macro redefinition for mips fpu.  
906 6718 d 16 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
 
897 6721 d 16 h jermar /kernel/trunk/ sparc64 work.
Fix KBD_VIRT_ADDRESS.
Call before_thread_runs() prior to the switch to the thread's stack. Add comment why this is crucial.
Add after_thread_ran() to the scheduler.
Add before_thread_runs_arch() and after_thread_ran_arch() for sparc64, mapping/demapping thread's kernel stack.
Add dummy after_thread_ran_arch() to all other architectures.
Add dtlb_insert_mapping() to promote code reuse.
 
853 6731 d 1 h palkovsky /kernel/trunk/arch/mips32/ Some arc bios tweaks. Wanted to print configuration data, but
the ARC seems to return strange values.
Newport graphics card does not seem to be easy to port, give up now.