Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
1288 |
6679 d 23 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. |
|
/kernel/trunk/generic/include/syscall/copy.h /kernel/trunk/generic/src/syscall/copy.c
/kernel/trunk/Makefile /kernel/trunk/arch/amd64/include/interrupt.h /kernel/trunk/arch/amd64/src/asm_utils.S /kernel/trunk/arch/amd64/src/mm/page.c /kernel/trunk/arch/ia32/include/interrupt.h /kernel/trunk/arch/ia32/src/asm.S /kernel/trunk/arch/ia32/src/boot/boot.S /kernel/trunk/arch/ia32/src/interrupt.c /kernel/trunk/arch/ia64/include/interrupt.h /kernel/trunk/arch/ia64/src/asm.S /kernel/trunk/arch/ia64/src/mm/tlb.c /kernel/trunk/arch/mips32/include/exception.h /kernel/trunk/arch/mips32/src/asm.S /kernel/trunk/arch/mips32/src/mm/tlb.c /kernel/trunk/arch/ppc32/include/exception.h /kernel/trunk/arch/ppc32/include/interrupt.h /kernel/trunk/arch/ppc32/src/asm.S /kernel/trunk/arch/ppc32/src/mm/tlb.c /kernel/trunk/arch/sparc64/include/interrupt.h /kernel/trunk/arch/sparc64/src/asm.S /kernel/trunk/generic/include/interrupt.h /kernel/trunk/generic/include/mm/as.h /kernel/trunk/generic/include/mm/page.h /kernel/trunk/generic/include/proc/thread.h /kernel/trunk/generic/src/ddi/ddi.c /kernel/trunk/generic/src/ipc/irq.c /kernel/trunk/generic/src/ipc/sysipc.c /kernel/trunk/generic/src/mm/as.c /kernel/trunk/generic/src/mm/slab.c /kernel/trunk/generic/src/printf/vsnprintf.c /kernel/trunk/generic/src/proc/task.c /kernel/trunk/generic/src/proc/thread.c /kernel/trunk/generic/src/smp/ipi.c /kernel/trunk/generic/src/synch/waitq.c
|
1278 |
6682 d 16 h |
palkovsky |
/kernel/trunk/ |
Changed interrupt_control to preemption_control. |
|
/kernel/trunk/arch/amd64/src/asm_utils.S /kernel/trunk/arch/amd64/src/ddi/ddi.c /kernel/trunk/arch/ia32/src/asm.S /kernel/trunk/arch/ia32/src/ddi/ddi.c /kernel/trunk/arch/mips32/src/ddi/ddi.c /kernel/trunk/arch/mips32/src/start.S /kernel/trunk/generic/include/ddi/ddi.h /kernel/trunk/generic/include/security/cap.h /kernel/trunk/generic/include/syscall/syscall.h /kernel/trunk/generic/src/ddi/ddi.c /kernel/trunk/generic/src/syscall/syscall.c
|
1212 |
6692 d 16 h |
palkovsky |
/kernel/trunk/ |
Added uspace call to enable/disable interrupts. |
|
/kernel/trunk/arch/amd64/include/cpu.h /kernel/trunk/arch/amd64/src/asm_utils.S /kernel/trunk/arch/amd64/src/ddi/ddi.c /kernel/trunk/arch/amd64/src/mm/page.c /kernel/trunk/arch/ia32/include/cpu.h /kernel/trunk/arch/ia32/src/asm.S /kernel/trunk/arch/ia32/src/ddi/ddi.c /kernel/trunk/arch/mips32/src/ddi/ddi.c /kernel/trunk/arch/mips32/src/start.S /kernel/trunk/generic/include/ddi/ddi.h /kernel/trunk/generic/include/security/cap.h /kernel/trunk/generic/include/syscall/syscall.h /kernel/trunk/generic/src/ddi/ddi.c /kernel/trunk/generic/src/syscall/syscall.c
|
1100 |
6725 d 14 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. |
|
/kernel/trunk/arch/amd64/include/atomic.h /kernel/trunk/arch/amd64/include/syscall.h /kernel/trunk/arch/amd64/src/interrupt.c /kernel/trunk/arch/amd64/src/syscall.c /kernel/trunk/arch/ia32/include/atomic.h /kernel/trunk/arch/ia32/include/interrupt.h /kernel/trunk/arch/ia32/src/asm.S /kernel/trunk/arch/ia32/src/interrupt.c /kernel/trunk/arch/mips32/include/exception.h /kernel/trunk/arch/mips32/src/exception.c /kernel/trunk/arch/mips32/src/start.S /kernel/trunk/generic/include/synch/spinlock.h /kernel/trunk/generic/include/syscall/syscall.h /kernel/trunk/generic/src/lib/func.c /kernel/trunk/generic/src/synch/spinlock.c /kernel/trunk/generic/src/syscall/syscall.c /kernel/trunk/kernel.config
|
1021 |
6730 d 17 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. |
|
/kernel/trunk/arch/amd64/include/context_offset.h /kernel/trunk/arch/amd64/include/interrupt.h /kernel/trunk/arch/amd64/src/asm_utils.S /kernel/trunk/arch/amd64/src/interrupt.c /kernel/trunk/arch/ia32/src/asm.S /kernel/trunk/tools/amd64/gencontext.c
|
1016 |
6730 d 20 h |
jermar |
/kernel/trunk/arch/ia32/src/ |
Improved ia32 interrupt handlers. |
|
/kernel/trunk/arch/ia32/src/asm.S
|
1008 |
6730 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. |
|
/kernel/trunk/arch/ia32/src/asm.S /kernel/trunk/arch/ia32/src/interrupt.c /kernel/trunk/generic/src/mm/tlb.c
|
958 |
6732 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. |
|
/kernel/trunk/arch/amd64/include/context.h /kernel/trunk/arch/amd64/include/interrupt.h /kernel/trunk/arch/amd64/src/interrupt.c /kernel/trunk/arch/ia32/include/interrupt.h /kernel/trunk/arch/ia32/include/types.h /kernel/trunk/arch/ia32/src/asm.S /kernel/trunk/arch/ia32/src/drivers/i8254.c /kernel/trunk/arch/ia32/src/drivers/i8259.c /kernel/trunk/arch/ia32/src/ia32.c /kernel/trunk/arch/ia32/src/interrupt.c /kernel/trunk/arch/ia32/src/mm/page.c /kernel/trunk/arch/ia32/src/pm.c /kernel/trunk/arch/ia32/src/smp/apic.c /kernel/trunk/arch/ia64/include/interrupt.h /kernel/trunk/arch/ia64/include/mm/tlb.h /kernel/trunk/arch/ia64/include/types.h /kernel/trunk/arch/ia64/src/interrupt.c /kernel/trunk/arch/ia64/src/mm/tlb.c /kernel/trunk/arch/mips32/include/debugger.h /kernel/trunk/arch/mips32/include/exception.h /kernel/trunk/arch/mips32/include/mm/tlb.h /kernel/trunk/arch/mips32/include/thread.h /kernel/trunk/arch/mips32/src/debugger.c /kernel/trunk/arch/mips32/src/drivers/arc.c /kernel/trunk/arch/mips32/src/drivers/msim.c /kernel/trunk/arch/mips32/src/drivers/serial.c /kernel/trunk/arch/mips32/src/exception.c /kernel/trunk/arch/mips32/src/fpu_context.c /kernel/trunk/arch/mips32/src/interrupt.c /kernel/trunk/arch/mips32/src/mm/tlb.c /kernel/trunk/arch/sparc64/include/drivers/tick.h /kernel/trunk/arch/sparc64/src/drivers/tick.c /kernel/trunk/genarch/src/i8042/i8042.c /kernel/trunk/generic/include/interrupt.h /kernel/trunk/generic/include/typedefs.h /kernel/trunk/generic/src/interrupt/interrupt.c
|
952 |
6732 d 18 h |
jermar |
/kernel/trunk/ |
Support for loading segments containing .bss section. |
|
/kernel/trunk/arch/ia32/include/boot/boot.h /kernel/trunk/arch/ia32/src/asm.S /kernel/trunk/generic/include/elf.h /kernel/trunk/generic/src/lib/elf.c
|
717 |
6789 d 16 h |
decky |
/kernel/trunk/ |
remove obsolete in-kernel userspace code
remove CONFIG_USERSPACE switch, uspace support is configured at run-time |
|
/kernel/trunk/Makefile /kernel/trunk/arch/amd64/src/asm_utils.S /kernel/trunk/arch/ia32/src/asm.S /kernel/trunk/arch/mips32/src/asm.S /kernel/trunk/generic/include/main/uinit.h /kernel/trunk/generic/src/main/kinit.c /kernel/trunk/kernel.config
|
576 |
6826 d 10 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. |
|
/kernel/trunk/Makefile /kernel/trunk/arch/amd64/src/amd64.c /kernel/trunk/arch/amd64/src/asm_utils.S /kernel/trunk/arch/amd64/src/interrupt.c /kernel/trunk/arch/amd64/src/mm/page.c /kernel/trunk/arch/amd64/src/pm.c /kernel/trunk/arch/ia32/include/i8042.h /kernel/trunk/arch/ia32/include/i8254.h /kernel/trunk/arch/ia32/include/i8259.h /kernel/trunk/arch/ia32/include/interrupt.h /kernel/trunk/arch/ia32/include/smp/apic.h /kernel/trunk/arch/ia32/src/asm.S /kernel/trunk/arch/ia32/src/drivers/i8042.c /kernel/trunk/arch/ia32/src/drivers/i8254.c /kernel/trunk/arch/ia32/src/drivers/i8259.c /kernel/trunk/arch/ia32/src/ia32.c /kernel/trunk/arch/ia32/src/interrupt.c /kernel/trunk/arch/ia32/src/mm/page.c /kernel/trunk/arch/ia32/src/pm.c /kernel/trunk/arch/ia32/src/smp/apic.c
|
534 |
6831 d 15 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel again. |
|
/kernel
/SPARTAN
|
532 |
6831 d 15 h |
jermar |
/ |
Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch. |
|
/SPARTAN
/kernel
|
501 |
6843 d 19 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel. |
|
/kernel
/SPARTAN
|
392 |
6891 d 15 h |
bondari |
/SPARTAN/trunk/arch/ia32/ |
Last inline functions for IA-32 |
|
/SPARTAN/trunk/arch/ia32/include/memstr.h /SPARTAN/trunk/arch/ia32/src/asm.S /SPARTAN/trunk/arch/ia32/src/ia32.c
|
390 |
6892 d 12 h |
bondari |
/SPARTAN/trunk/arch/ia32/ |
ia-32 memcmp inline |
|
/SPARTAN/trunk/arch/ia32/include/memstr.h /SPARTAN/trunk/arch/ia32/src/asm.S
|
381 |
6897 d 12 h |
jermar |
/SPARTAN/trunk/ |
Make cross-compiler the default compiler on IA-32.
For native compilations, use ./build.ia32 native.
Small changes elsewhere. |
|
/SPARTAN/trunk/Makefile.config /SPARTAN/trunk/arch/ia32/Makefile.inc /SPARTAN/trunk/arch/ia32/_link.ld.in /SPARTAN/trunk/arch/ia32/src/asm.S /SPARTAN/trunk/build.ia32 /SPARTAN/trunk/include/fpu_context.h /SPARTAN/trunk/include/mm/buddy.h /SPARTAN/trunk/include/mm/heap.h /SPARTAN/trunk/include/typedefs.h /SPARTAN/trunk/src/mm/buddy.c
|
358 |
6908 d 13 h |
bondari |
/SPARTAN/trunk/ |
built-in memcpy is not used anymore on IA-32.
IA-32 memcpy is now fast and inline. |
|
/SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/src/asm.S /SPARTAN/trunk/include/memstr.h
|
357 |
6908 d 14 h |
bondari |
/SPARTAN/trunk/arch/ia32/src/ |
small fix |
|
/SPARTAN/trunk/arch/ia32/src/asm.S
|
356 |
6908 d 15 h |
bondari |
/SPARTAN/trunk/arch/ia32/ |
Get from port functions are now inline |
|
/SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/src/asm.S
|
353 |
6909 d 1 h |
bondari |
/SPARTAN/trunk/arch/ia32/ |
Outb, outw, outl are now inline functions |
|
/SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/src/asm.S
|
352 |
6909 d 13 h |
bondari |
/SPARTAN/trunk/arch/ia32/ |
outb inline function |
|
/SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/src/asm.S
|
323 |
6917 d 23 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. |
|
/SPARTAN/trunk/arch/amd64/src/mm/page.c /SPARTAN/trunk/arch/ia32/src/asm.S /SPARTAN/trunk/arch/ia32/src/boot/boot.S /SPARTAN/trunk/arch/ia32/src/mm/page.c /SPARTAN/trunk/doc/TODO /SPARTAN/trunk/src/debug/print.c
|
316 |
6920 d 2 h |
jermar |
/SPARTAN/trunk/arch/ia32/src/ |
Optimize assembler code according to the knoweledge of IA-32 ABI. |
|
/SPARTAN/trunk/arch/ia32/src/asm.S
|
205 |
6927 d 1 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(). |
|
/SPARTAN/trunk/arch/amd64/src/dummy.s /SPARTAN/trunk/arch/amd64/src/supplib.c /SPARTAN/trunk/arch/ia32/src/asm.S /SPARTAN/trunk/arch/ia32/src/drivers/ega.c /SPARTAN/trunk/arch/ia32/src/mm/page.c /SPARTAN/trunk/arch/ia32/src/smp/mps.c /SPARTAN/trunk/arch/ia32/src/smp/smp.c /SPARTAN/trunk/arch/ia64/src/asm.S /SPARTAN/trunk/arch/mips/src/asm.s /SPARTAN/trunk/arch/ppc/src/dummy.s /SPARTAN/trunk/include/memstr.h /SPARTAN/trunk/src/lib/memstr.c /SPARTAN/trunk/src/main/kinit.c /SPARTAN/trunk/src/mm/vm.c /SPARTAN/trunk/test/synch/rwlock4/test.c
|
198 |
6927 d 13 h |
jermar |
/SPARTAN/trunk/ |
Switch order of 'src' and 'dst' arguments in some left-over uses of memcopy.
Cleanup. |
|
/SPARTAN/trunk/arch/ia32/src/asm.S /SPARTAN/trunk/arch/ia32/src/drivers/ega.c /SPARTAN/trunk/arch/ia32/src/smp/mps.c /SPARTAN/trunk/include/memstr.h /SPARTAN/trunk/src/Makefile.config /SPARTAN/trunk/src/lib/memstr.c /SPARTAN/trunk/src/main/kinit.c /SPARTAN/trunk/src/mm/vm.c /SPARTAN/trunk/src/proc/scheduler.c
|
196 |
6927 d 14 h |
vana |
/SPARTAN/trunk/arch/ia32/src/ |
ASM version of memcopy repaired on ia32 |
|
/SPARTAN/trunk/arch/ia32/src/asm.S
|
185 |
6927 d 23 h |
decky |
/SPARTAN/trunk/arch/ |
OpenFirmware support |
|
/SPARTAN/trunk/arch/ppc/include/ppc.h
/SPARTAN/trunk/arch/ppc/include/vga.h /SPARTAN/trunk/arch/ppc/src/drivers/vga.c
/SPARTAN/trunk/arch/ia32/src/asm.S /SPARTAN/trunk/arch/ppc/Makefile.inc /SPARTAN/trunk/arch/ppc/src/asm.s /SPARTAN/trunk/arch/ppc/src/dummy.s /SPARTAN/trunk/arch/ppc/src/ppc.c /SPARTAN/trunk/arch/ppc/src/start.S
|
168 |
6937 d 13 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. |
|
/SPARTAN/trunk/arch/ia32/src/asm.S /SPARTAN/trunk/arch/ia32/src/interrupt.c /SPARTAN/trunk/src/mm/vm.c
|
142 |
6967 d 21 h |
vana |
/SPARTAN/trunk/arch/ia32/src/ |
Typing error fixed |
|
/SPARTAN/trunk/arch/ia32/src/asm.S /SPARTAN/trunk/arch/ia32/src/userspace.c
|
141 |
6967 d 22 h |
vana |
/SPARTAN/trunk/ |
Clear IOPL on start of system on all CPUs and clear NT before all irets. |
|
/SPARTAN/trunk/arch/ia32/src/asm.S /SPARTAN/trunk/arch/ia32/src/cpu/cpu.c /SPARTAN/trunk/arch/ia32/src/pm.c /SPARTAN/trunk/arch/ia32/src/userspace.c /SPARTAN/trunk/doc/TODO
|
137 |
6968 d 20 h |
vana |
/SPARTAN/trunk/arch/ia32/src/ |
Comments |
|
/SPARTAN/trunk/arch/ia32/src/asm.S
|
136 |
6968 d 20 h |
vana |
/SPARTAN/trunk/ |
Error word support debuging and testing passed with #NM & #GP exceptions. |
|
/SPARTAN/trunk/arch/ia32/src/asm.S /SPARTAN/trunk/arch/ia32/src/interrupt.c /SPARTAN/trunk/src/Makefile.config
|
132 |
6968 d 23 h |
vana |
/SPARTAN/trunk/arch/ia32/ |
Added support for error-word generating exceptions in return routine. |
|
/SPARTAN/trunk/arch/ia32/src/asm.S
/SPARTAN/trunk/arch/ia32/src/asm.s
/SPARTAN/trunk/arch/ia32/Makefile.inc
|