Rev |
Age |
Author |
Path |
Log message |
Diff |
3890 |
5746 d 13 h |
jermar |
/trunk/ |
Get rid of CONFIG_DEBUG_ALLREGS. |
|
3631 |
5828 d 12 h |
jermar |
/trunk/kernel/arch/ia32/src/ |
The IA-32 manual is very secretive about the fact that the SYSENTER instruction
disables interrupts (I found only one evidence of this in the instruction's
pseudo code). The sysenter_handler needs to reenable the interrupts in order to
preserve the preemptive nature of the kernel. |
|
3485 |
5878 d 12 h |
jermar |
/trunk/ |
Support for SYSENTER on ia32. |
|
3274 |
5934 d 18 h |
jermar |
/trunk/ |
memcpy(), memmove() and similar functions return dst instead of src.
Fix all implementations, including those in assembly. ppc32 assembly
version didn't seem to be affected by this. |
|
3043 |
6003 d 13 h |
jermar |
/trunk/kernel/arch/ia32/ |
Some inline functions in memstr.h seem to be of uncertain origin (ia32).
Replace either with built-in functions or with generic functions. |
|
2784 |
6078 d 12 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 |
6201 d 13 h |
jermar |
/trunk/ |
Support for six syscall arguments for ia32. |
|
2071 |
6505 d 13 h |
jermar |
/trunk/ |
(c) versus (C) |
|
1787 |
6695 d 15 h |
decky |
/ |
move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot |
|
1288 |
6762 d 21 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 |
6765 d 15 h |
palkovsky |
/kernel/trunk/ |
Changed interrupt_control to preemption_control. |
|
1212 |
6775 d 15 h |
palkovsky |
/kernel/trunk/ |
Added uspace call to enable/disable interrupts. |
|
1100 |
6808 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 |
6813 d 15 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 |
6813 d 18 h |
jermar |
/kernel/trunk/arch/ia32/src/ |
Improved ia32 interrupt handlers. |
|
1008 |
6813 d 21 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 |
6815 d 13 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 |
6815 d 17 h |
jermar |
/kernel/trunk/ |
Support for loading segments containing .bss section. |
|
717 |
6872 d 15 h |
decky |
/kernel/trunk/ |
remove obsolete in-kernel userspace code
remove CONFIG_USERSPACE switch, uspace support is configured at run-time |
|
576 |
6909 d 8 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. |
|