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
3425 5741 d 0 h svoboda /branches/tracing/ Merge latest trunk changes into tracing (broken)  
3424 5741 d 12 h svoboda /branches/tracing/ Merge trunk changes up to r3180 into tracing  
2787 5913 d 18 h decky /branches/tracing/ add dynamic linking, debugging and tracing branch  
2784 5921 d 13 h jermar /trunk/kernel/arch/ Fortify ia32 and amd64 kernels against mallicious uspace applications that set
DF prior to entering the kernel. For AMD64 syscalls, we don't use the CLD
instruction, but make use of the SFMASK MSR instead. Simics works fine with
it, but QEMU seems to have a problem.
 
2613 6044 d 14 h jermar /trunk/ Support for six syscall arguments for ia32.  
2071 6348 d 13 h jermar /trunk/ (c) versus (C)  
1787 6538 d 16 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1288 6605 d 22 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 6608 d 16 h palkovsky /kernel/trunk/ Changed interrupt_control to preemption_control.  
1212 6618 d 16 h palkovsky /kernel/trunk/ Added uspace call to enable/disable interrupts.  
1100 6651 d 13 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.
 
1021 6656 d 16 h jermar /kernel/trunk/ Hopefully final version of interrupt handlers for amd64 and ia32.
amd64 has been especially tricky to debug.
Error code detection is now done in compile time.
 
1016 6656 d 19 h jermar /kernel/trunk/arch/ia32/src/ Improved ia32 interrupt handlers.  
1008 6656 d 22 h jermar /kernel/trunk/ Fix bug in ia32 interrupt handlers.
Handlers for interrupts greater than 31 wrapped the shift around and thus failed to correctly identify
the need to emulate error word.
 
958 6658 d 14 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.
 
952 6658 d 18 h jermar /kernel/trunk/ Support for loading segments containing .bss section.  
717 6715 d 15 h decky /kernel/trunk/ remove obsolete in-kernel userspace code
remove CONFIG_USERSPACE switch, uspace support is configured at run-time
 
576 6752 d 9 h palkovsky /kernel/trunk/ Changed ia32 & amd64 to use exc_register instead of trap_register.

Fixed dependency list building. I hope you all have 'makedepend' installed,
if you don't it's time to install it, as CC -M builds the dependency
list without directory names..and it just does not work.
 
534 6757 d 14 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
532 6757 d 15 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
501 6769 d 19 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
392 6817 d 14 h bondari /SPARTAN/trunk/arch/ia32/ Last inline functions for IA-32  
390 6818 d 12 h bondari /SPARTAN/trunk/arch/ia32/ ia-32 memcmp inline  
381 6823 d 11 h jermar /SPARTAN/trunk/ Make cross-compiler the default compiler on IA-32.
For native compilations, use ./build.ia32 native.

Small changes elsewhere.
 
358 6834 d 12 h bondari /SPARTAN/trunk/ built-in memcpy is not used anymore on IA-32.
IA-32 memcpy is now fast and inline.
 
357 6834 d 14 h bondari /SPARTAN/trunk/arch/ia32/src/ small fix  
356 6834 d 14 h bondari /SPARTAN/trunk/arch/ia32/ Get from port functions are now inline  
353 6835 d 1 h bondari /SPARTAN/trunk/arch/ia32/ Outb, outw, outl are now inline functions  
352 6835 d 13 h bondari /SPARTAN/trunk/arch/ia32/ outb inline function  
323 6843 d 22 h jermar /SPARTAN/trunk/ Add comments for new floating point modifiers to print.c.
Remove left-over comments from AMD64 and IA-32 page.c.
Coding style clean up.
 
316 6846 d 1 h jermar /SPARTAN/trunk/arch/ia32/src/ Optimize assembler code according to the knoweledge of IA-32 ABI.  
205 6853 d 0 h jermar /SPARTAN/trunk/ Get rid of memcopy().
All we now have is memcpy() and _memcpy().
memcpy() is defined to be builtin.
Where not applicable, architectures must implement memcpy() code or call slowish _memcopy().
 
198 6853 d 12 h jermar /SPARTAN/trunk/ Switch order of 'src' and 'dst' arguments in some left-over uses of memcopy.

Cleanup.
 
196 6853 d 14 h vana /SPARTAN/trunk/arch/ia32/src/ ASM version of memcopy repaired on ia32  
185 6853 d 22 h decky /SPARTAN/trunk/arch/ OpenFirmware support  
168 6863 d 12 h jermar /SPARTAN/trunk/ Add type cast to __address in vm_create().
This seems to fix the problem with userspace.
Looks like KA2PA() returned wrong address when applied on pte_t *.

Uncomment panic() in gp_fault().
Get rid of cli and sti in userspace code.
 
142 6893 d 21 h vana /SPARTAN/trunk/arch/ia32/src/ Typing error fixed  
141 6893 d 21 h vana /SPARTAN/trunk/ Clear IOPL on start of system on all CPUs and clear NT before all irets.  
137 6894 d 19 h vana /SPARTAN/trunk/arch/ia32/src/ Comments  
136 6894 d 19 h vana /SPARTAN/trunk/ Error word support debuging and testing passed with #NM & #GP exceptions.