Subversion Repositories HelenOS-historic

Rev

Go to most recent revision | Hide changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
1477 6558 d 4 h decky /kernel/trunk/arch/ cleanup  
/kernel/trunk/arch/amd64/include/drivers/i8254.h
/kernel/trunk/arch/amd64/include/drivers/i8259.h
/kernel/trunk/arch/amd64/include/drivers/vesa.h
/kernel/trunk/arch/ia32/include/drivers/i8254.h
/kernel/trunk/arch/ia32/include/drivers/i8259.h
/kernel/trunk/arch/ia32/include/drivers/vesa.h
/kernel/trunk/arch/amd64/include/i8254.h
/kernel/trunk/arch/amd64/include/i8259.h
/kernel/trunk/arch/amd64/include/vesa.h
/kernel/trunk/arch/ia32/include/i8254.h
/kernel/trunk/arch/ia32/include/i8259.h
/kernel/trunk/arch/ia32/include/vesa.h
/kernel/trunk/arch/amd64/src/amd64.c
/kernel/trunk/arch/amd64/src/interrupt.c
/kernel/trunk/arch/ia32/src/drivers/i8254.c
/kernel/trunk/arch/ia32/src/drivers/i8259.c
/kernel/trunk/arch/ia32/src/drivers/vesa.c
/kernel/trunk/arch/ia32/src/ia32.c
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/arch/ia32/src/smp/smp.c
1411 6565 d 17 h jermar /kernel/trunk/ Modify the hierarchy of page fault handlers to pass access mode that caused the fault.
Architectures are required to pass either PF_ACCESS_READ, PF_ACCESS_WRITE or PF_ACCESS_EXEC
to as_page_fault(), depending on the cause of the fault.
 
/kernel/trunk/arch/amd64/include/mm/page.h
/kernel/trunk/arch/amd64/src/mm/page.c
/kernel/trunk/arch/ia32/include/interrupt.h
/kernel/trunk/arch/ia32/include/mm/page.h
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/arch/ia32/src/mm/page.c
/kernel/trunk/arch/ia64/src/mm/tlb.c
/kernel/trunk/arch/mips32/src/mm/tlb.c
/kernel/trunk/arch/ppc32/src/mm/page.c
/kernel/trunk/arch/ppc64/src/mm/page.c
/kernel/trunk/generic/include/mm/as.h
/kernel/trunk/generic/include/mm/page.h
/kernel/trunk/generic/src/lib/elf.c
/kernel/trunk/generic/src/mm/as.c
1288 6584 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.
 
/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
1258 6590 d 11 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.
 
/kernel/trunk/arch/amd64/src/interrupt.c
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/arch/mips32/include/interrupt.h
/kernel/trunk/arch/mips32/src/interrupt.c
/kernel/trunk/generic/include/errno.h
/kernel/trunk/generic/include/ipc/ipc.h
/kernel/trunk/generic/include/ipc/sysipc.h
/kernel/trunk/generic/include/syscall/syscall.h
/kernel/trunk/generic/src/ipc/ipc.c
/kernel/trunk/generic/src/ipc/sysipc.c
/kernel/trunk/generic/src/syscall/syscall.c
1256 6590 d 19 h jermar /kernel/trunk/arch/ Improve SYS_IOSPACE_ENABLE support.
The general protection fault handler now contains
code to service early I/O Permission bitmap faults.
 
/kernel/trunk/arch/amd64/include/ddi
/kernel/trunk/arch/amd64/include/ddi/ddi.h
/kernel/trunk/arch/ia32/include/ddi
/kernel/trunk/arch/ia32/include/ddi/ddi.h
/kernel/trunk/arch/amd64/include/cpu.h
/kernel/trunk/arch/amd64/include/proc/task.h
/kernel/trunk/arch/amd64/src/ddi/ddi.c
/kernel/trunk/arch/amd64/src/interrupt.c
/kernel/trunk/arch/amd64/src/proc/scheduler.c
/kernel/trunk/arch/ia32/include/cpu.h
/kernel/trunk/arch/ia32/include/proc/task.h
/kernel/trunk/arch/ia32/src/ddi/ddi.c
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/arch/ia32/src/proc/scheduler.c
1221 6597 d 11 h decky /kernel/trunk/ printf-related and other code cleanup  
/kernel/trunk/arch/amd64/src/debugger.c
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/arch/ia32/src/mm/frame.c
/kernel/trunk/arch/ia32/src/smp/mps.c
/kernel/trunk/arch/ia64/src/interrupt.c
/kernel/trunk/arch/ia64/src/mm/tlb.c
/kernel/trunk/arch/mips32/src/drivers/arc.c
/kernel/trunk/arch/mips32/src/exception.c
/kernel/trunk/arch/ppc32/src/mm/memory_init.c
/kernel/trunk/arch/ppc64/src/mm/memory_init.c
/kernel/trunk/arch/sparc64/src/mm/tlb.c
/kernel/trunk/generic/include/debug.h
/kernel/trunk/generic/src/adt/btree.c
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/generic/src/mm/frame.c
/kernel/trunk/generic/src/mm/page.c
/kernel/trunk/generic/src/proc/scheduler.c
/kernel/trunk/test/mm/falloc1/test.c
/kernel/trunk/test/mm/falloc2/test.c
/kernel/trunk/test/mm/mapping1/test.c
/kernel/trunk/test/synch/rwlock4/test.c
1196 6603 d 20 h cejka /kernel/trunk/ Printf ported back from uspace to kernel.
Printf calls changed to match new conventions.
 
/kernel/trunk/arch/amd64/src/debugger.c
/kernel/trunk/arch/amd64/src/interrupt.c
/kernel/trunk/arch/amd64/src/mm/memory_init.c
/kernel/trunk/arch/ia32/Makefile.inc
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/arch/ia32/src/mm/frame.c
/kernel/trunk/arch/ia32/src/mm/memory_init.c
/kernel/trunk/arch/ia32/src/smp/apic.c
/kernel/trunk/arch/ia64/src/interrupt.c
/kernel/trunk/arch/mips32/Makefile.inc
/kernel/trunk/arch/mips32/src/debugger.c
/kernel/trunk/arch/mips32/src/exception.c
/kernel/trunk/arch/mips32/src/mm/tlb.c
/kernel/trunk/arch/ppc32/Makefile.inc
/kernel/trunk/arch/ppc32/src/mm/memory_init.c
/kernel/trunk/arch/ppc64/src/mm/memory_init.c
/kernel/trunk/arch/sparc64/src/mm/tlb.c
/kernel/trunk/genarch/include/softint/division.h
/kernel/trunk/genarch/src/acpi/acpi.c
/kernel/trunk/genarch/src/acpi/matd.c
/kernel/trunk/genarch/src/i8042/i8042.c
/kernel/trunk/genarch/src/softint/division.c
/kernel/trunk/generic/include/print.h
/kernel/trunk/generic/src/adt/btree.c
/kernel/trunk/generic/src/console/cmd.c
/kernel/trunk/generic/src/debug/print.c
/kernel/trunk/generic/src/debug/symtab.c
/kernel/trunk/generic/src/interrupt/interrupt.c
/kernel/trunk/generic/src/lib/elf.c
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/generic/src/main/uinit.c
/kernel/trunk/generic/src/mm/buddy.c
/kernel/trunk/generic/src/mm/frame.c
/kernel/trunk/generic/src/mm/slab.c
/kernel/trunk/generic/src/proc/scheduler.c
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/proc/thread.c
/kernel/trunk/generic/src/time/clock.c
/kernel/trunk/generic/src/time/timeout.c
/kernel/trunk/test/fpu/fpu1/test.c
/kernel/trunk/test/mm/falloc1/test.c
/kernel/trunk/test/mm/falloc2/test.c
/kernel/trunk/test/mm/mapping1/test.c
/kernel/trunk/test/print/print1/test.c
/kernel/trunk/test/synch/rwlock4/test.c
/kernel/trunk/test/synch/rwlock5/test.c
1100 6630 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.
 
/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
1019 6635 d 17 h vana /kernel/trunk/arch/ia32/ ia32 MMX and SSEx support  
/kernel/trunk/arch/ia32/include/cpu.h
/kernel/trunk/arch/ia32/include/cpuid.h
/kernel/trunk/arch/ia32/include/fpu_context.h
/kernel/trunk/arch/ia32/include/interrupt.h
/kernel/trunk/arch/ia32/src/cpu/cpu.c
/kernel/trunk/arch/ia32/src/fpu_context.c
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/arch/ia32/src/pm.c
1008 6635 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.
 
/kernel/trunk/arch/ia32/src/asm.S
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/generic/src/mm/tlb.c
959 6637 d 13 h palkovsky /kernel/trunk/ New synchronous ipc.
Widened syscall to support up to 5 parameters.
 
/kernel/trunk/arch/amd64/include/syscall.h
/kernel/trunk/arch/amd64/src/syscall.c
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/arch/mips32/src/exception.c
/kernel/trunk/generic/include/ipc/ipc.h
/kernel/trunk/generic/include/syscall/syscall.h
/kernel/trunk/generic/src/ipc/ipc.c
/kernel/trunk/generic/src/syscall/syscall.c
958 6637 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.
 
/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
955 6637 d 14 h palkovsky /kernel/trunk/ Added kernel IPC functionality.  
/kernel/trunk/generic/include/errno.h
/kernel/trunk/generic/include/ipc
/kernel/trunk/generic/include/ipc/ipc.h
/kernel/trunk/generic/src/ipc
/kernel/trunk/generic/src/ipc/ipc.c
/kernel/trunk/Makefile
/kernel/trunk/arch/amd64/include/types.h
/kernel/trunk/arch/amd64/src/asm_utils.S
/kernel/trunk/arch/amd64/src/syscall.c
/kernel/trunk/arch/ia32/include/types.h
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/arch/ia64/include/types.h
/kernel/trunk/arch/mips32/include/types.h
/kernel/trunk/arch/mips32/src/exception.c
/kernel/trunk/arch/sparc64/include/types.h
/kernel/trunk/generic/include/mm/page.h
/kernel/trunk/generic/include/proc/task.h
/kernel/trunk/generic/include/syscall/syscall.h
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/syscall/syscall.c
825 6669 d 17 h jermar /kernel/trunk/ Remove WAKEUP_IPI stuff.

Make it possible to use PAGE_GLOBAL on ia32, amd64 and mips32.
Make ia32 and amd64 map the kernel using PAGE_GLOBAL.
 
/kernel/trunk/arch/amd64/include/interrupt.h
/kernel/trunk/arch/amd64/include/mm/page.h
/kernel/trunk/arch/amd64/src/amd64.c
/kernel/trunk/arch/amd64/src/interrupt.c
/kernel/trunk/arch/amd64/src/mm/page.c
/kernel/trunk/arch/ia32/include/interrupt.h
/kernel/trunk/arch/ia32/include/mm/page.h
/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/mips32/include/mm/page.h
/kernel/trunk/contrib/conf/msim.conf
714 6694 d 16 h decky /kernel/trunk/ syscall handler return value
uspace task termination (primitive)
 
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/generic/src/syscall/syscall.c
712 6694 d 17 h decky /kernel/trunk/ "Hello world" from user space :)  
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/generic/include/syscall/syscall.h
/kernel/trunk/generic/src/syscall/syscall.c
703 6696 d 21 h jermar /kernel/trunk/ Memory management work.
- vm.* -> as.* (as like address space is, imho, more fitting)
- Don't do TLB shootdown on vm_install(). Some architectures only need to call tlb_invalidate_asid().
- Don't allocate all frames for as_area in as_area_create(), but let them be allocated on-demand by as_page_fault().
- Add high-level page fault handler as_page_fault().
- Add as_area_load_mapping().
 
/kernel/trunk/arch/amd64/include/mm/as.h
/kernel/trunk/arch/ia32/include/mm/as.h
/kernel/trunk/arch/ia64/include/mm/as.h
/kernel/trunk/arch/mips32/include/mm/as.h
/kernel/trunk/arch/mips32/src/mm/as.c
/kernel/trunk/arch/ppc32/include/mm/as.h
/kernel/trunk/arch/sparc64/include/mm/as.h
/kernel/trunk/generic/include/mm/as.h
/kernel/trunk/generic/src/mm/as.c
/kernel/trunk/arch/amd64/include/mm/vm.h
/kernel/trunk/arch/ia32/include/mm/vm.h
/kernel/trunk/arch/ia64/include/mm/vm.h
/kernel/trunk/arch/mips32/include/mm/vm.h
/kernel/trunk/arch/mips32/src/mm/vm.c
/kernel/trunk/arch/ppc32/include/mm/vm.h
/kernel/trunk/arch/sparc64/include/mm/vm.h
/kernel/trunk/generic/include/mm/vm.h
/kernel/trunk/generic/src/mm/vm.c
/kernel/trunk/Makefile
/kernel/trunk/arch/amd64/src/interrupt.c
/kernel/trunk/arch/amd64/src/userspace.c
/kernel/trunk/arch/ia32/src/interrupt.c
/kernel/trunk/arch/ia32/src/mm/frame.c
/kernel/trunk/arch/ia32/src/userspace.c
/kernel/trunk/arch/mips32/Makefile.inc
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/arch/mips32/src/mm/tlb.c
/kernel/trunk/doc/mm
/kernel/trunk/generic/include/arch.h
/kernel/trunk/generic/include/proc/task.h
/kernel/trunk/generic/include/typedefs.h
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/generic/src/mm/frame.c
/kernel/trunk/generic/src/mm/page.c
/kernel/trunk/generic/src/proc/scheduler.c
/kernel/trunk/generic/src/proc/task.c
/kernel/trunk/generic/src/proc/the.c
576 6731 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.
 
/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 6736 d 14 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
/kernel
/SPARTAN
532 6736 d 14 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
/SPARTAN
/kernel

Show All