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
1386 6624 d 5 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 6629 d 4 h palkovsky /kernel/trunk/ Support for mips kbd driver.  
1332 6630 d 23 h palkovsky /kernel/trunk/ Added support for more processes in mips.  
1293 6640 d 4 h palkovsky /kernel/trunk/ Implemented mips memcpy (copy from gcc builtin memcpy).  
1288 6640 d 7 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 6643 d 1 h palkovsky /kernel/trunk/ Changed interrupt_control to preemption_control.  
1260 6645 d 21 h palkovsky /kernel/trunk/ Small fixes.  
1258 6645 d 21 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 6652 d 3 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 6652 d 7 h jermar /kernel/trunk/ Make ia64 and sparc64 compile again.
Fix ia64 to set up inits in arch_pre_main().
 
1222 6652 d 20 h decky /kernel/trunk/arch/ init tasks must be registered before main_bsp()  
1221 6652 d 20 h decky /kernel/trunk/ printf-related and other code cleanup  
1212 6653 d 1 h palkovsky /kernel/trunk/ Added uspace call to enable/disable interrupts.  
1196 6659 d 6 h cejka /kernel/trunk/ Printf ported back from uspace to kernel.
Printf calls changed to match new conventions.
 
1191 6661 d 10 h jermar /kernel/trunk/ Kernel support for SYS_ENABLE_IOSPACE.
amd64 and ia32 provide dummy implementation thereof.
 
1187 6662 d 2 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 6680 d 21 h decky /kernel/trunk/ framebuffer code cleanup, support for non-standard scanline sizes
ppc32: get framebuffer parameters from boot loader
 
1126 6682 d 7 h palkovsky /kernel/trunk/arch/mips32/src/ Fix bad order of EPC & STATUS change in syscall_shortcut.  
1122 6682 d 19 h palkovsky /kernel/trunk/arch/mips32/ Set up T9 to entry point on entry to userspace to facilitate better
PIC running.
 
1121 6682 d 22 h jermar /kernel/trunk/ Small textual changes.  
1119 6682 d 22 h palkovsky /kernel/trunk/arch/ Fixed bad rflags masking in amd64.
Added TLS get address instruction emulation for mips.
 
1112 6683 d 9 h palkovsky /kernel/trunk/ Added basic kernel infrastructure for ThreadLocalStorage(TLS) for
ia32(complete),amd64(complete),mips32(missing emulation of rdhwr instruction).
 
1102 6684 d 21 h palkovsky /kernel/trunk/arch/ Keep $K1 register for use as a thread local storage pointer on MIPS.  
1100 6685 d 23 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 6686 d 6 h palkovsky /kernel/trunk/arch/mips32/src/ Still better syscall calling convention for mips.  
1096 6686 d 6 h palkovsky /kernel/trunk/ Cleanup of mips
- inline register reads
- better fpu disable/enable - global settings is automatically propagated to task
- fast syscall
 
1094 6686 d 9 h palkovsky /kernel/trunk/ Allowed saving less registers.  
1078 6689 d 1 h jermar /kernel/trunk/ Improved uspace threads.
ia64 needs fixing.
 
1066 6689 d 18 h jermar /kernel/trunk/ Support for user space threads.  
1044 6690 d 6 h jermar /kernel/trunk/ Page table locking.  
1037 6690 d 8 h decky /kernel/trunk/ support for more init tasks
(might break some archs yet)
 
983 6692 d 4 h palkovsky /kernel/trunk/ Fixed shrinking of as area.  
959 6692 d 23 h palkovsky /kernel/trunk/ New synchronous ipc.
Widened syscall to support up to 5 parameters.
 
958 6692 d 23 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 6693 d 0 h palkovsky /kernel/trunk/ Added kernel IPC functionality.  
938 6694 d 1 h jermar /kernel/trunk/ Basic support for loading ELF object files.
ia64, amd64, ia32 working.
mips32 requires some attention.
 
924 6694 d 11 h palkovsky /kernel/trunk/arch/mips32/ Macro redefinition for mips fpu.  
906 6703 d 19 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 6706 d 19 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 6716 d 4 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.