Subversion Repositories HelenOS-historic

Rev

Go to most recent revision | Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
1293 6629 d 2 h palkovsky /kernel/trunk/ Implemented mips memcpy (copy from gcc builtin memcpy).  
1288 6629 d 5 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 6631 d 23 h palkovsky /kernel/trunk/ Changed interrupt_control to preemption_control.  
1260 6634 d 19 h palkovsky /kernel/trunk/ Small fixes.  
1258 6634 d 19 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 6641 d 1 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 6641 d 4 h jermar /kernel/trunk/ Make ia64 and sparc64 compile again.
Fix ia64 to set up inits in arch_pre_main().
 
1222 6641 d 18 h decky /kernel/trunk/arch/ init tasks must be registered before main_bsp()  
1221 6641 d 18 h decky /kernel/trunk/ printf-related and other code cleanup  
1212 6641 d 23 h palkovsky /kernel/trunk/ Added uspace call to enable/disable interrupts.  
1196 6648 d 4 h cejka /kernel/trunk/ Printf ported back from uspace to kernel.
Printf calls changed to match new conventions.
 
1191 6650 d 8 h jermar /kernel/trunk/ Kernel support for SYS_ENABLE_IOSPACE.
amd64 and ia32 provide dummy implementation thereof.
 
1187 6651 d 0 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 6669 d 18 h decky /kernel/trunk/ framebuffer code cleanup, support for non-standard scanline sizes
ppc32: get framebuffer parameters from boot loader
 
1126 6671 d 5 h palkovsky /kernel/trunk/arch/mips32/src/ Fix bad order of EPC & STATUS change in syscall_shortcut.  
1122 6671 d 16 h palkovsky /kernel/trunk/arch/mips32/ Set up T9 to entry point on entry to userspace to facilitate better
PIC running.
 
1121 6671 d 20 h jermar /kernel/trunk/ Small textual changes.  
1119 6671 d 20 h palkovsky /kernel/trunk/arch/ Fixed bad rflags masking in amd64.
Added TLS get address instruction emulation for mips.
 
1112 6672 d 7 h palkovsky /kernel/trunk/ Added basic kernel infrastructure for ThreadLocalStorage(TLS) for
ia32(complete),amd64(complete),mips32(missing emulation of rdhwr instruction).
 
1102 6673 d 18 h palkovsky /kernel/trunk/arch/ Keep $K1 register for use as a thread local storage pointer on MIPS.  
1100 6674 d 21 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 6675 d 3 h palkovsky /kernel/trunk/arch/mips32/src/ Still better syscall calling convention for mips.  
1096 6675 d 4 h palkovsky /kernel/trunk/ Cleanup of mips
- inline register reads
- better fpu disable/enable - global settings is automatically propagated to task
- fast syscall
 
1094 6675 d 6 h palkovsky /kernel/trunk/ Allowed saving less registers.  
1078 6677 d 23 h jermar /kernel/trunk/ Improved uspace threads.
ia64 needs fixing.
 
1066 6678 d 16 h jermar /kernel/trunk/ Support for user space threads.  
1044 6679 d 4 h jermar /kernel/trunk/ Page table locking.  
1037 6679 d 6 h decky /kernel/trunk/ support for more init tasks
(might break some archs yet)
 
983 6681 d 2 h palkovsky /kernel/trunk/ Fixed shrinking of as area.  
959 6681 d 20 h palkovsky /kernel/trunk/ New synchronous ipc.
Widened syscall to support up to 5 parameters.
 
958 6681 d 21 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 6681 d 22 h palkovsky /kernel/trunk/ Added kernel IPC functionality.  
938 6682 d 23 h jermar /kernel/trunk/ Basic support for loading ELF object files.
ia64, amd64, ia32 working.
mips32 requires some attention.
 
924 6683 d 9 h palkovsky /kernel/trunk/arch/mips32/ Macro redefinition for mips fpu.  
906 6692 d 17 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 6695 d 17 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 6705 d 2 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.
 
852 6705 d 3 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??)
 
851 6705 d 20 h palkovsky /kernel/trunk/arch/mips32/src/ removed debugging printf.  
850 6705 d 20 h palkovsky /kernel/trunk/ Small bugs fixed after running all tests on mips.