Subversion Repositories HelenOS

Rev

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

Filtering Options

Rev Age Author Path Log message Diff Changes
3964 5602 d 5 h decky /trunk/kernel/ switch between the preference of kernel/uspace IRQ hash table  
/trunk/kernel/arch/ia32/src/ia32.c
/trunk/kernel/generic/include/console/console.h
/trunk/kernel/generic/src/console/console.c
/trunk/kernel/generic/src/ddi/irq.c
/trunk/kernel/generic/src/ipc/irq.c
3947 5605 d 1 h jermar /trunk/ This is the evil commit. In particular, it does:

- introduces more powerful pseudo code for userspace IRQ top-half handlers
- changes the internals of IRQ dispatching
- simplifies the kernel's i8042 driver
- adapts the uspace i8042 driver to make use of the new pseudocode
- breaks all other architectures except ia32
- breaks almost all existing drivers
- breaks switching between uspace and kernel drivers
 
/trunk/kernel/arch/ia32/src/ia32.c
/trunk/kernel/genarch/src/kbd/i8042.c
/trunk/kernel/generic/include/ddi/irq.h
/trunk/kernel/generic/include/ipc/irq.h
/trunk/kernel/generic/src/ddi/irq.c
/trunk/kernel/generic/src/ipc/irq.c
/trunk/uspace/srv/kbd/port/i8042.c
3930 5606 d 20 h jermar /trunk/kernel/ Adapt most of the kernel to ioport8_t, ioport16_t and ioport32_t types.  
/trunk/kernel/arch/ia32/include/drivers/ega.h
/trunk/kernel/arch/ia32/include/drivers/i8259.h
/trunk/kernel/arch/ia32/src/drivers/i8254.c
/trunk/kernel/arch/ia32/src/drivers/i8259.c
/trunk/kernel/arch/ia32/src/smp/smp.c
/trunk/kernel/arch/ia64/include/drivers/ega.h
/trunk/kernel/genarch/include/drivers/ega/ega.h
/trunk/kernel/genarch/src/drivers/ega/ega.c
/trunk/kernel/generic/src/ipc/irq.c
3902 5611 d 3 h jermar /trunk/kernel/ Introduce a more platform-neutral name for programmed I/O.

The new API looks like pio_read_n() or pio_write_n(), where n is 8, 16 or 32.
The old API (i.e. inb(), inw(), inl(), outb() outw(), outl()) may have made
some people think that the interface is only to be used with the separate I/O
space. That's not the case. This API is to be implemented on all platforms
so that we can finally have really generic kernel device drivers.
 
/trunk/kernel/arch/amd64/include/asm.h
/trunk/kernel/arch/arm32/include/asm.h
/trunk/kernel/arch/ia32/include/asm.h
/trunk/kernel/arch/ia32/include/drivers/i8042.h
/trunk/kernel/arch/ia32/src/drivers/i8254.c
/trunk/kernel/arch/ia32/src/drivers/i8259.c
/trunk/kernel/arch/ia32/src/smp/smp.c
/trunk/kernel/arch/ia64/include/asm.h
/trunk/kernel/arch/ia64/include/drivers/i8042.h
/trunk/kernel/arch/ia64/src/ia64.c
/trunk/kernel/arch/mips32/include/asm.h
/trunk/kernel/arch/ppc32/include/asm.h
/trunk/kernel/arch/sparc64/include/asm.h
/trunk/kernel/genarch/include/kbd/ns16550.h
/trunk/kernel/genarch/src/drivers/ega/ega.c
/trunk/kernel/generic/src/ipc/irq.c
3875 5613 d 22 h decky /trunk/kernel/generic/ remove platform dependent constructs from generic code  
/trunk/kernel/generic/include/arch.h
/trunk/kernel/generic/include/ddi/irq.h
/trunk/kernel/generic/include/fpu_context.h
/trunk/kernel/generic/src/console/cmd.c
/trunk/kernel/generic/src/ipc/irq.c
/trunk/kernel/generic/src/main/version.c
/trunk/kernel/generic/src/proc/thread.c
3870 5615 d 6 h decky /trunk/kernel/generic/src/ add includes necessary for LOG macro  
/trunk/kernel/generic/src/ipc/kbox.c
/trunk/kernel/generic/src/udebug/udebug.c
/trunk/kernel/generic/src/udebug/udebug_ops.c
3867 5616 d 4 h svoboda /trunk/kernel/generic/src/ipc/ Bugfix: Check kbox, not regular box. In case where the debugger disconnected first and then the application terminated, the application task would not be cleaned up.  
/trunk/kernel/generic/src/ipc/kbox.c
3819 5631 d 22 h jermar /trunk/ Introduce a new syscall: SYS_IPC_FORWARD_SLOW.  
/trunk/kernel/generic/include/ipc/sysipc.h
/trunk/kernel/generic/include/syscall/syscall.h
/trunk/kernel/generic/src/ipc/sysipc.c
/trunk/kernel/generic/src/syscall/syscall.c
/trunk/uspace/app/trace/syscalls.c
/trunk/uspace/lib/libc/generic/ipc.c
/trunk/uspace/lib/libc/include/ipc/ipc.h
3657 5688 d 6 h vana /trunk/ Legacy IRQ support, uspace NS16550 support, some minor changes  
/trunk/boot/arch/ia64/loader/gefi/HelenOS/mkimage.c
/trunk/kernel/arch/ia64/include/drivers/kbd.h
/trunk/uspace/lib/libc/arch/ia64/include/ddi.h
/trunk/uspace/lib/libc/arch/ia64/src/ddi.c
/trunk/kernel/Makefile
/trunk/kernel/arch/ia64/include/interrupt.h
/trunk/kernel/arch/ia64/src/drivers/ega.c
/trunk/kernel/arch/ia64/src/ia64.c
/trunk/kernel/arch/ia64/src/interrupt.c
/trunk/kernel/arch/ia64/src/ski/ski.c
/trunk/kernel/genarch/src/kbd/ns16550.c
/trunk/kernel/generic/src/ipc/irq.c
/trunk/kernel/kernel.config
/trunk/uspace/srv/fb/ega.c
/trunk/uspace/srv/kbd/arch/ia64/src/kbd.c
3620 5695 d 7 h svoboda /trunk/kernel/generic/ Move stuff related to kbox to a separate struct.  
/trunk/kernel/generic/include/ipc/kbox.h
/trunk/kernel/generic/include/proc/task.h
/trunk/kernel/generic/src/ipc/kbox.c
/trunk/kernel/generic/src/proc/task.c
/trunk/kernel/generic/src/udebug/udebug_ipc.c
3603 5696 d 20 h svoboda /trunk/ Stoppability sections must be much smaller (design error). Also fix deadlock in udebug_stop(). Fix pause functionality in tracer.  
/trunk/kernel/generic/src/ipc/sysipc.c
/trunk/kernel/generic/src/synch/futex.c
/trunk/kernel/generic/src/syscall/syscall.c
/trunk/kernel/generic/src/udebug/udebug_ops.c
/trunk/uspace/app/trace/trace.c
3496 5726 d 22 h svoboda /trunk/kernel/generic/src/ipc/ Split and streamline kbox_thread_proc().  
/trunk/kernel/generic/src/ipc/kbox.c
3495 5726 d 22 h svoboda /trunk/kernel/generic/src/ipc/ Synchronize properly when detaching kbox from within.  
/trunk/kernel/generic/src/ipc/kbox.c
3494 5728 d 21 h svoboda /trunk/kernel/generic/src/ipc/ Fix panic when debugged task quits. Also fix memory leak when debugger disconnects first.  
/trunk/kernel/generic/src/ipc/kbox.c
3476 5754 d 0 h jermar /trunk/kernel/generic/src/ipc/ Add comments documenting our treatment of the task's active call counter.  
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/ipc/sysipc.c
3449 5760 d 22 h jermar /trunk/kernel/generic/src/ipc/ Fix task active call accounting for IPC_M_HUNGUP calls.  
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/ipc/sysipc.c
3445 5761 d 21 h jermar /trunk/kernel/ Rename ipc/ipc_kbox.c to ipc/kbox.c.  
/trunk/kernel/generic/src/ipc/kbox.c
/trunk/kernel/generic/src/ipc/ipc_kbox.c
/trunk/kernel/Makefile
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/ipc/sysipc.c
3441 5762 d 4 h svoboda /trunk/kernel/generic/src/ Use LOG() instead of printf() for debug messages.  
/trunk/kernel/generic/src/ipc/ipc_kbox.c
/trunk/kernel/generic/src/ipc/sysipc.c
/trunk/kernel/generic/src/udebug/udebug.c
/trunk/kernel/generic/src/udebug/udebug_ipc.c
/trunk/kernel/generic/src/udebug/udebug_ops.c
3438 5762 d 6 h svoboda /trunk/ Merge syscall tracer (trace) and relevant part of udebug interface from tracing to trunk.  
/trunk/kernel/generic/include/ipc/ipc_kbox.h
/trunk/kernel/generic/include/udebug
/trunk/kernel/generic/include/udebug/udebug.h
/trunk/kernel/generic/include/udebug/udebug_ipc.h
/trunk/kernel/generic/include/udebug/udebug_ops.h
/trunk/kernel/generic/src/ipc/ipc_kbox.c
/trunk/kernel/generic/src/udebug
/trunk/kernel/generic/src/udebug/udebug.c
/trunk/kernel/generic/src/udebug/udebug_ipc.c
/trunk/kernel/generic/src/udebug/udebug_ops.c
/trunk/uspace/app/trace
/trunk/uspace/app/trace/Makefile
/trunk/uspace/app/trace/errors.c
/trunk/uspace/app/trace/errors.h
/trunk/uspace/app/trace/ipc_desc.c
/trunk/uspace/app/trace/ipc_desc.h
/trunk/uspace/app/trace/ipcp.c
/trunk/uspace/app/trace/ipcp.h
/trunk/uspace/app/trace/proto.c
/trunk/uspace/app/trace/proto.h
/trunk/uspace/app/trace/syscalls.c
/trunk/uspace/app/trace/syscalls.h
/trunk/uspace/app/trace/trace.c
/trunk/uspace/lib/libc/generic/udebug.c
/trunk/uspace/lib/libc/include/udebug.h
/trunk/boot/arch/amd64/Makefile.inc
/trunk/boot/arch/arm32/loader/Makefile
/trunk/boot/arch/ia32/Makefile.inc
/trunk/boot/arch/ia64/loader/Makefile
/trunk/boot/arch/mips32/loader/Makefile
/trunk/boot/arch/ppc32/loader/Makefile
/trunk/boot/arch/ppc64/loader/Makefile
/trunk/kernel/Makefile
/trunk/kernel/generic/include/ipc/ipc.h
/trunk/kernel/generic/include/ipc/sysipc.h
/trunk/kernel/generic/include/proc/task.h
/trunk/kernel/generic/include/proc/thread.h
/trunk/kernel/generic/include/syscall/syscall.h
/trunk/kernel/generic/src/ipc/ipc.c
/trunk/kernel/generic/src/ipc/sysipc.c
/trunk/kernel/generic/src/main/uinit.c
/trunk/kernel/generic/src/proc/task.c
/trunk/kernel/generic/src/proc/thread.c
/trunk/kernel/generic/src/syscall/syscall.c
/trunk/kernel/kernel.config
/trunk/uspace/Makefile
/trunk/uspace/lib/libc/Makefile
/trunk/uspace/lib/libc/generic/ipc.c
/trunk/uspace/lib/libc/include/ipc/ipc.h
3395 5769 d 23 h jermar /trunk/kernel/generic/ Kernel's ipc_data_t and uspace's ipc_call_t must be in sync.

This commit fixes a problem introduced in revision 3362, when
ipc_data_t was enlarged by the caller_phone member. This resulted
in sys_ipc_wait_for_call() passing larger structure to uspace
than requested, leading to a random damage of userspace memory.
 
/trunk/kernel/generic/include/ipc/ipc.h
/trunk/kernel/generic/src/ipc/ipc.c

Show All