Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
4490 |
5604 d 16 h |
decky |
/trunk/kernel/ |
remove redundant index_t and count_t types (which were always quite ambiguous and not actually needed) |
|
/trunk/kernel/arch/amd64/include/cpu.h /trunk/kernel/arch/amd64/include/mm/page.h /trunk/kernel/arch/amd64/include/proc/task.h /trunk/kernel/arch/amd64/include/types.h /trunk/kernel/arch/amd64/src/ddi/ddi.c /trunk/kernel/arch/amd64/src/interrupt.c /trunk/kernel/arch/arm32/include/mm/page.h /trunk/kernel/arch/arm32/include/types.h /trunk/kernel/arch/arm32/src/mm/tlb.c /trunk/kernel/arch/ia32/include/cpu.h /trunk/kernel/arch/ia32/include/mm/page.h /trunk/kernel/arch/ia32/include/proc/task.h /trunk/kernel/arch/ia32/include/smp/smp.h /trunk/kernel/arch/ia32/include/types.h /trunk/kernel/arch/ia32/src/ddi/ddi.c /trunk/kernel/arch/ia32/src/interrupt.c /trunk/kernel/arch/ia32/src/mm/frame.c /trunk/kernel/arch/ia32/src/mm/tlb.c /trunk/kernel/arch/ia32/src/smp/mps.c /trunk/kernel/arch/ia64/include/mm/page.h /trunk/kernel/arch/ia64/include/mm/tlb.h /trunk/kernel/arch/ia64/include/types.h /trunk/kernel/arch/ia64/src/mm/page.c /trunk/kernel/arch/ia64/src/mm/tlb.c /trunk/kernel/arch/ia64/src/mm/vhpt.c /trunk/kernel/arch/mips32/include/arch.h /trunk/kernel/arch/mips32/include/debugger.h /trunk/kernel/arch/mips32/include/mm/page.h /trunk/kernel/arch/mips32/include/types.h /trunk/kernel/arch/mips32/src/mips32.c /trunk/kernel/arch/mips32/src/mm/frame.c /trunk/kernel/arch/mips32/src/mm/tlb.c /trunk/kernel/arch/ppc32/include/mm/page.h /trunk/kernel/arch/ppc32/include/types.h /trunk/kernel/arch/ppc32/src/mm/frame.c /trunk/kernel/arch/ppc32/src/mm/tlb.c /trunk/kernel/arch/sparc64/include/mm/tlb.h /trunk/kernel/arch/sparc64/include/mm/tsb.h /trunk/kernel/arch/sparc64/include/types.h /trunk/kernel/arch/sparc64/src/drivers/fhc.c /trunk/kernel/arch/sparc64/src/drivers/pci.c /trunk/kernel/arch/sparc64/src/mm/as.c /trunk/kernel/arch/sparc64/src/mm/tlb.c /trunk/kernel/arch/sparc64/src/mm/tsb.c /trunk/kernel/arch/sparc64/src/smp/smp.c /trunk/kernel/genarch/src/acpi/madt.c /trunk/kernel/genarch/src/mm/asid.c /trunk/kernel/genarch/src/mm/page_ht.c /trunk/kernel/genarch/src/ofw/ebus.c /trunk/kernel/genarch/src/ofw/fhc.c /trunk/kernel/genarch/src/ofw/ofw_tree.c /trunk/kernel/genarch/src/ofw/pci.c /trunk/kernel/genarch/src/ofw/sbus.c /trunk/kernel/generic/include/adt/bitmap.h /trunk/kernel/generic/include/adt/btree.h /trunk/kernel/generic/include/adt/fifo.h /trunk/kernel/generic/include/adt/hash_table.h /trunk/kernel/generic/include/arch.h /trunk/kernel/generic/include/config.h /trunk/kernel/generic/include/console/chardev.h /trunk/kernel/generic/include/console/console.h /trunk/kernel/generic/include/console/kconsole.h /trunk/kernel/generic/include/cpu.h /trunk/kernel/generic/include/ddi/irq.h /trunk/kernel/generic/include/ipc/event.h /trunk/kernel/generic/include/mm/as.h /trunk/kernel/generic/include/mm/frame.h /trunk/kernel/generic/include/mm/slab.h /trunk/kernel/generic/include/mm/tlb.h /trunk/kernel/generic/include/proc/scheduler.h /trunk/kernel/generic/include/sort.h /trunk/kernel/generic/include/string.h /trunk/kernel/generic/include/symtab.h /trunk/kernel/generic/include/synch/futex.h /trunk/kernel/generic/include/synch/rwlock.h /trunk/kernel/generic/include/synch/spinlock.h /trunk/kernel/generic/src/adt/bitmap.c /trunk/kernel/generic/src/adt/btree.c /trunk/kernel/generic/src/adt/hash_table.c /trunk/kernel/generic/src/console/cmd.c /trunk/kernel/generic/src/console/console.c /trunk/kernel/generic/src/console/kconsole.c /trunk/kernel/generic/src/ddi/ddi.c /trunk/kernel/generic/src/ddi/irq.c /trunk/kernel/generic/src/debug/symtab.c /trunk/kernel/generic/src/ipc/event.c /trunk/kernel/generic/src/lib/sort.c /trunk/kernel/generic/src/lib/string.c /trunk/kernel/generic/src/main/kinit.c /trunk/kernel/generic/src/main/main.c /trunk/kernel/generic/src/mm/as.c /trunk/kernel/generic/src/mm/backend_anon.c /trunk/kernel/generic/src/mm/backend_elf.c /trunk/kernel/generic/src/mm/frame.c /trunk/kernel/generic/src/mm/slab.c /trunk/kernel/generic/src/mm/tlb.c /trunk/kernel/generic/src/printf/printf_core.c /trunk/kernel/generic/src/printf/vprintf.c /trunk/kernel/generic/src/printf/vsnprintf.c /trunk/kernel/generic/src/proc/scheduler.c /trunk/kernel/generic/src/synch/futex.c /trunk/kernel/generic/src/synch/spinlock.c /trunk/kernel/generic/src/synch/waitq.c /trunk/kernel/generic/src/time/clock.c /trunk/kernel/test/avltree/avltree1.c /trunk/kernel/test/mm/falloc2.c /trunk/kernel/test/mm/purge1.c /trunk/kernel/test/synch/rwlock4.c
|
4452 |
5605 d 6 h |
decky |
/trunk/kernel/generic/ |
send notification also during task creation
(the intention is to be able to pair task creation and destruction to avoid missed waits) |
|
/trunk/kernel/generic/include/ipc/event_types.h /trunk/kernel/generic/src/proc/task.c
|
4448 |
5605 d 18 h |
decky |
/trunk/kernel/generic/ |
add very simple implementation of task destruction notification
(which will be later used for waiting on a task) |
|
/trunk/kernel/generic/include/ipc/event_types.h /trunk/kernel/generic/include/macros.h /trunk/kernel/generic/src/proc/task.c
|
4407 |
5619 d 14 h |
jermar |
/trunk/ |
Add IPC_M_CONNECTION_CLONE and IPC_M_CONNECT_ME. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/include/ipc/ipcrsc.h /trunk/kernel/generic/src/ipc/ipcrsc.c /trunk/kernel/generic/src/ipc/kbox.c /trunk/kernel/generic/src/ipc/sysipc.c /trunk/uspace/lib/libc/generic/async.c
|
4252 |
5662 d 16 h |
decky |
/trunk/kernel/ |
move event notification to the ipc directory (where it probably belogs to, side-by-side to IRQ notifications)
cleanup the notification code a little bit (there is probably no need to allocate two structured dynamically) |
|
/trunk/kernel/generic/include/ipc/event.h /trunk/kernel/generic/include/ipc/event_types.h /trunk/kernel/generic/src/ipc/event.c
/trunk/kernel/generic/include/event /trunk/kernel/generic/src/event
/trunk/kernel/Makefile /trunk/kernel/generic/src/console/cmd.c /trunk/kernel/generic/src/console/console.c /trunk/kernel/generic/src/ipc/ipc.c /trunk/kernel/generic/src/main/main.c /trunk/kernel/generic/src/syscall/syscall.c
|
3947 |
5706 d 18 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
|
3819 |
5733 d 15 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
|
3761 |
5759 d 16 h |
decky |
/trunk/ |
send notification to uspace console when switching from kernel console |
|
/trunk/kernel/generic/include/console/kconsole.h /trunk/kernel/generic/include/ipc/irq.h /trunk/kernel/generic/src/console/cmd.c /trunk/kernel/generic/src/console/kconsole.c /trunk/kernel/generic/src/main/main.c /trunk/uspace/app/klog/klog.c /trunk/uspace/srv/console/console.c
|
3620 |
5797 d 1 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
|
3446 |
5863 d 4 h |
svoboda |
/trunk/kernel/generic/include/ipc/ |
Fix: Rename ipc_kbox.h to kbox.h |
|
/trunk/kernel/generic/include/ipc/kbox.h
/trunk/kernel/generic/include/ipc/ipc_kbox.h
|
3438 |
5863 d 23 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 |
5871 d 16 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
|
3370 |
5884 d 15 h |
jermar |
/trunk/kernel/generic/ |
Synchronous IPC must be interruptible. |
|
/trunk/kernel/generic/include/errno.h /trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/ipc.c /trunk/kernel/generic/src/ipc/sysipc.c
|
3362 |
5887 d 17 h |
jermar |
/trunk/kernel/generic/ |
Fix processing of answers to forwarded masqueraded calls. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/ipc.c /trunk/kernel/generic/src/ipc/ipcrsc.c /trunk/kernel/generic/src/main/kinit.c
|
3020 |
5975 d 15 h |
jermar |
/trunk/kernel/generic/ |
Turn phone->lock into mutex. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/ipc.c /trunk/kernel/generic/src/ipc/sysipc.c
|
2802 |
6029 d 1 h |
jermar |
/trunk/kernel/generic/ |
Fix initialization of answerbox->task in ipc_answerbox_init.
Contributed by Jiri Svoboda. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/ipc.c /trunk/kernel/generic/src/proc/task.c
|
2677 |
6124 d 19 h |
jermar |
/trunk/ |
Rename IPC_M_AS_AREA_SEND to IPC_M_SHARE_OUT. Rename IPC_M_AS_AREA_RECV to
IPC_M_SHARE_IN. Provide user-friendly wrappers for these methods so that even
dummies can get it right. Some applications using simpler protocols still use
these methods directly. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/sysipc.c /trunk/uspace/app/klog/klog.c /trunk/uspace/lib/libc/generic/ipc.c /trunk/uspace/lib/libc/generic/time.c /trunk/uspace/lib/libc/include/ipc/ipc.h /trunk/uspace/lib/libfs/libfs.c /trunk/uspace/srv/console/console.c /trunk/uspace/srv/console/gcons.c /trunk/uspace/srv/fb/ega.c /trunk/uspace/srv/fb/fb.c /trunk/uspace/srv/ns/ns.c /trunk/uspace/srv/rd/rd.c /trunk/uspace/srv/vfs/vfs_register.c
|
2676 |
6125 d 1 h |
jermar |
/trunk/ |
Simplify the IPC_M_DATA_WRITE protocol. Do not pass the source address space
virtual address to the recipient. This feature was not used anyway. Now
IPC_M_DATA_WRITE and IPC_M_DATA_READ are feature-aligned. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/sysipc.c /trunk/uspace/lib/libc/generic/ipc.c /trunk/uspace/lib/libc/include/ipc/ipc.h /trunk/uspace/srv/devmap/devmap.c /trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c /trunk/uspace/srv/vfs/vfs_mount.c /trunk/uspace/srv/vfs/vfs_open.c /trunk/uspace/srv/vfs/vfs_rdwr.c /trunk/uspace/srv/vfs/vfs_register.c
|
2662 |
6132 d 14 h |
jermar |
/trunk/ |
Add support for IPC_M_DATA_READ calls. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/ipc.c /trunk/kernel/generic/src/ipc/sysipc.c /trunk/uspace/lib/libc/generic/ipc.c /trunk/uspace/lib/libc/include/ipc/ipc.h
|
2660 |
6132 d 16 h |
jermar |
/trunk/ |
Rename IPC_M_DATA_SEND to IPC_M_DATA_WRITE. Now, when we also add
IPC_M_DATA_READ, it will not clash and cause confusion with userspace wrappers
such as ipc_data_receive(). Rename the forementioned wrappers to
ipc_data_write_send(), ipc_data_write_receive() and ipc_data_write_deliver(). |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/sysipc.c /trunk/uspace/app/tester/devmap/devmap1.c /trunk/uspace/app/tester/vfs/vfs1.c /trunk/uspace/lib/libc/generic/ipc.c /trunk/uspace/lib/libc/include/ipc/ipc.h /trunk/uspace/lib/libfs/libfs.c /trunk/uspace/srv/devmap/devmap.c /trunk/uspace/srv/vfs/vfs_mount.c /trunk/uspace/srv/vfs/vfs_open.c /trunk/uspace/srv/vfs/vfs_register.c
|
2638 |
6151 d 15 h |
jermar |
/trunk/ |
Sync IPC comments with IPC code. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/sysipc.c /trunk/uspace/srv/fs/fat/fat.h /trunk/uspace/srv/fs/fat/fat_ops.c
|
2637 |
6151 d 16 h |
cejka |
/trunk/ |
Extended IPC_M_CONNECT_TO_ME to use 3 user defined parameters.
Phone identifier is passed in ARG5. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/ipc.c /trunk/kernel/generic/src/ipc/ipcrsc.c /trunk/kernel/generic/src/ipc/sysipc.c /trunk/uspace/app/tester/devmap/devmap1.c /trunk/uspace/app/tester/ipc/register.c /trunk/uspace/lib/libc/generic/ipc.c /trunk/uspace/lib/libc/include/ipc/ipc.h /trunk/uspace/srv/console/console.c /trunk/uspace/srv/devmap/devmap.c /trunk/uspace/srv/fb/main.c /trunk/uspace/srv/fs/fat/fat.c /trunk/uspace/srv/kbd/generic/kbd.c /trunk/uspace/srv/ns/ns.c /trunk/uspace/srv/pci/pci.c /trunk/uspace/srv/rd/rd.c /trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs_register.c
|
2635 |
6153 d 16 h |
cejka |
/trunk/ |
Function ipc_connect_me_to sends 3 user defined arguments now.
One argument added also to ipc_forward_fast.
Fixed devmap and improved its test. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/include/ipc/sysipc.h /trunk/kernel/generic/src/ipc/sysipc.c /trunk/uspace/app/tester/devmap/devmap1.c /trunk/uspace/app/tester/ipc/connect.c /trunk/uspace/lib/libc/generic/async.c /trunk/uspace/lib/libc/generic/io/stream.c /trunk/uspace/lib/libc/generic/ipc.c /trunk/uspace/lib/libc/include/ipc/ipc.h /trunk/uspace/srv/console/console.c /trunk/uspace/srv/devmap/devmap.c /trunk/uspace/srv/devmap/devmap.h /trunk/uspace/srv/fs/fat/fat.c /trunk/uspace/srv/ns/ns.c /trunk/uspace/srv/vfs/vfs_read.c
|
2626 |
6161 d 2 h |
jermar |
/trunk/kernel/generic/ |
Support for 5 payload arguments for IPC irq notifications and the pseudo code. |
|
/trunk/kernel/generic/include/ipc/irq.h /trunk/kernel/generic/src/console/klog.c /trunk/kernel/generic/src/ipc/irq.c
|
2623 |
6161 d 21 h |
jermar |
/trunk/kernel/generic/ |
Introduce the IPC_FF_ROUTE_FROM_ME forwarding flag. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/ipc.c
|
2622 |
6161 d 21 h |
jermar |
/trunk/ |
Add mode argument to IPC forward.
This argument can be used to modify the way forward behaves. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/include/ipc/sysipc.h /trunk/kernel/generic/src/ipc/ipc.c /trunk/kernel/generic/src/ipc/sysipc.c /trunk/uspace/lib/libc/generic/ipc.c /trunk/uspace/lib/libc/include/ipc/ipc.h /trunk/uspace/srv/devmap/devmap.c /trunk/uspace/srv/ns/ns.c
|
2619 |
6165 d 14 h |
jermar |
/trunk/ |
Modify ipc_answer_*() to make use of all six syscall arguments. The recommended
means of answering calls is via the ipc_answer_m() macros (where m denotes the
number of return arguments) that automatically decide between the fast register
version or the slow universal version of ipc_answer(). |
|
/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/tester/ipc/answer.c /trunk/uspace/app/tester/ipc/register.c /trunk/uspace/app/tester/ipc/send_async.c /trunk/uspace/lib/libc/generic/async.c /trunk/uspace/lib/libc/generic/ipc.c /trunk/uspace/lib/libc/include/ipc/ipc.h /trunk/uspace/srv/console/console.c /trunk/uspace/srv/devmap/devmap.c /trunk/uspace/srv/fb/ega.c /trunk/uspace/srv/fb/fb.c /trunk/uspace/srv/fb/main.c /trunk/uspace/srv/fb/sysio.c /trunk/uspace/srv/fs/fat/fat.c /trunk/uspace/srv/kbd/generic/kbd.c /trunk/uspace/srv/ns/ns.c /trunk/uspace/srv/pci/pci.c /trunk/uspace/srv/rd/rd.c /trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs_mount.c /trunk/uspace/srv/vfs/vfs_open.c /trunk/uspace/srv/vfs/vfs_register.c
|
2618 |
6166 d 2 h |
jermar |
/trunk/ |
Modify asynchronous IPC to make use of all six syscall arguments. The preferred
means of asynchronous communication is now via the set of ipc_call_async_m()
macros, where m is the number of payload arguments passed to the kernel. These
macros will automatically decide between the fast and the universal slow version
of ipc_call_async. |
|
/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/tester/ipc/send_async.c /trunk/uspace/lib/libc/generic/ipc.c /trunk/uspace/lib/libc/include/ipc/ipc.h /trunk/uspace/srv/console/console.c
|
2615 |
6166 d 23 h |
jermar |
/trunk/ |
Modify synchronous IPC to make use of all six syscall arguments. The preferred
means of synchronous communication is now via the set of ipc_call_sync_m_n()
macros, where m is the number of payload arguments passed to the kernel and n is
the number of return values. These macros will automatically decide between the
fast and the universal slow version of ipc_call_sync. |
|
/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/klog/klog.c /trunk/uspace/app/tester/ipc/send_sync.c /trunk/uspace/lib/libc/generic/ipc.c /trunk/uspace/lib/libc/generic/time.c /trunk/uspace/lib/libc/include/ipc/ipc.h /trunk/uspace/srv/fs/fat/fat.c
|
2614 |
6167 d 21 h |
jermar |
/trunk/kernel/generic/include/ipc/ |
Grow the IPC data structures from 3 to 5 payload arguments.
No IPC API changes so far. |
|
/trunk/kernel/generic/include/ipc/ipc.h
|
2550 |
6218 d 19 h |
cejka |
/trunk/ |
Fixed naming convention in IPC. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/uspace/lib/libc/include/ipc/fb.h /trunk/uspace/srv/devmap/devmap.c /trunk/uspace/srv/devmap/devmap.h /trunk/uspace/srv/vfs/vfs.h
|
2527 |
6231 d 1 h |
jermar |
/trunk/ |
VFS work.
Added mandatory VFS_LOOKUP
Handling of VFS_REGISTER request should be now more or less complete.
Added code that inserts the new fs_info structure into the list of registered
filesystems and creates a callback connection to the client FS. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs.h
|
2523 |
6232 d 3 h |
jermar |
/trunk/ |
VFS work.
Now, each VFS connection fibril will accept requests in a loop. The idea is that
each connection will be potentially reused for multiple requests before it is
closed by the server.
More VFS_REGISTER bits. Make use of the IPC_M_DATA_SEND wrappers introduced in
the previous commit.
Add enum members for more VFS operations. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/uspace/srv/vfs/vfs.c /trunk/uspace/srv/vfs/vfs.h
|
2494 |
6297 d 15 h |
jermar |
/trunk/kernel/generic/ |
Implement a new mechanism for copying data between two address spaces based on
IPC. New system method IPC_M_DATA_SEND is introduced. The implementation is
generic and does not make use of any possible architecture optimizations such as
direct copy from one address space to another. |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/ipc.c /trunk/kernel/generic/src/ipc/sysipc.c
|
2493 |
6297 d 19 h |
jermar |
/trunk/kernel/generic/include/ipc/ |
Collapse IPC method numbers. |
|
/trunk/kernel/generic/include/ipc/ipc.h
|
2471 |
6321 d 16 h |
jermar |
/trunk/ |
Greatly improve comments in the IPC layer.
Now I think I finally start to understand our IPC internals :-) |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/include/ipc/ipcrsc.h /trunk/kernel/generic/include/ipc/irq.h /trunk/kernel/generic/src/ipc/ipc.c /trunk/kernel/generic/src/ipc/ipcrsc.c /trunk/kernel/generic/src/ipc/irq.c /trunk/kernel/generic/src/ipc/sysipc.c /trunk/uspace/libc/generic/ipc.c /trunk/uspace/libc/include/ipc/ipc.h /trunk/uspace/ns/ns.c /trunk/uspace/pci/pci.c /trunk/uspace/rd/rd.c
|
2106 |
6455 d 22 h |
jermar |
/trunk/kernel/ |
Merge as_t structure into one and leave the differring parts in as_genarch_t.
Indentation and formatting changes in header files. |
|
/trunk/kernel/arch/amd64/src/mm/page.c /trunk/kernel/arch/amd64/src/pm.c /trunk/kernel/arch/ia32/src/mm/page.c /trunk/kernel/arch/ia32xen/src/mm/page.c /trunk/kernel/arch/sparc64/include/mm/tsb.h /trunk/kernel/genarch/include/mm/as_ht.h /trunk/kernel/genarch/include/mm/as_pt.h /trunk/kernel/genarch/include/mm/page_ht.h /trunk/kernel/genarch/src/mm/as_pt.c /trunk/kernel/genarch/src/mm/page_pt.c /trunk/kernel/generic/include/adt/btree.h /trunk/kernel/generic/include/adt/fifo.h /trunk/kernel/generic/include/adt/hash_table.h /trunk/kernel/generic/include/adt/list.h /trunk/kernel/generic/include/console/chardev.h /trunk/kernel/generic/include/console/kconsole.h /trunk/kernel/generic/include/ddi/ddi_arg.h /trunk/kernel/generic/include/ddi/irq.h /trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/include/ipc/irq.h /trunk/kernel/generic/include/ipc/sysipc.h /trunk/kernel/generic/include/mm/as.h /trunk/kernel/generic/include/mm/buddy.h /trunk/kernel/generic/include/mm/mm.h /trunk/kernel/generic/include/mm/page.h /trunk/kernel/generic/include/mm/slab.h /trunk/kernel/generic/include/mm/tlb.h /trunk/kernel/generic/include/proc/task.h /trunk/kernel/generic/include/proc/thread.h /trunk/kernel/generic/include/synch/condvar.h /trunk/kernel/generic/include/synch/futex.h /trunk/kernel/generic/include/synch/rwlock.h /trunk/kernel/generic/include/synch/semaphore.h /trunk/kernel/generic/include/synch/synch.h /trunk/kernel/generic/include/synch/waitq.h /trunk/kernel/generic/include/time/timeout.h /trunk/kernel/generic/src/mm/as.c
|
2105 |
6459 d 23 h |
decky |
/trunk/kernel/ |
move ipc structures to ipc.h |
|
/trunk/kernel/arch/sparc64/include/mm/page.h /trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/include/proc/task.h
|
2098 |
6460 d 18 h |
decky |
/trunk/kernel/generic/ |
avoid conflict with potential keyword |
|
/trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/src/ipc/irq.c /trunk/kernel/generic/src/ipc/sysipc.c
|
2089 |
6461 d 22 h |
decky |
/trunk/ |
huge type system cleanup
remove cyclical type dependencies across multiple header files
many minor coding style fixes |
|
/trunk/kernel/arch/sparc64/include/sparc64.h /trunk/kernel/generic/include/mm/mm.h
/trunk/kernel/arch/ia32xen/include/boot
/trunk/kernel/Makefile /trunk/kernel/arch/amd64/_link.ld.in /trunk/kernel/arch/amd64/include/asm.h /trunk/kernel/arch/amd64/include/atomic.h /trunk/kernel/arch/amd64/include/cpu.h /trunk/kernel/arch/amd64/include/interrupt.h /trunk/kernel/arch/amd64/include/mm/as.h /trunk/kernel/arch/amd64/include/mm/page.h /trunk/kernel/arch/amd64/include/pm.h /trunk/kernel/arch/amd64/include/proc/task.h /trunk/kernel/arch/amd64/include/proc/thread.h /trunk/kernel/arch/amd64/include/types.h /trunk/kernel/arch/amd64/src/cpu/cpu.c /trunk/kernel/arch/amd64/src/ddi/ddi.c /trunk/kernel/arch/amd64/src/fpu_context.c /trunk/kernel/arch/amd64/src/mm/memory_init.c /trunk/kernel/arch/amd64/src/pm.c /trunk/kernel/arch/ia32/_link.ld.in /trunk/kernel/arch/ia32/include/atomic.h /trunk/kernel/arch/ia32/include/boot/memmap.h /trunk/kernel/arch/ia32/include/cpu.h /trunk/kernel/arch/ia32/include/interrupt.h /trunk/kernel/arch/ia32/include/mm/as.h /trunk/kernel/arch/ia32/include/mm/asid.h /trunk/kernel/arch/ia32/include/mm/memory_init.h /trunk/kernel/arch/ia32/include/mm/page.h /trunk/kernel/arch/ia32/include/pm.h /trunk/kernel/arch/ia32/include/proc/task.h /trunk/kernel/arch/ia32/include/smp/apic.h /trunk/kernel/arch/ia32/include/smp/mps.h /trunk/kernel/arch/ia32/include/smp/smp.h /trunk/kernel/arch/ia32/include/types.h /trunk/kernel/arch/ia32/src/boot/boot.S /trunk/kernel/arch/ia32/src/cpu/cpu.c /trunk/kernel/arch/ia32/src/ddi/ddi.c /trunk/kernel/arch/ia32/src/drivers/vesa.c /trunk/kernel/arch/ia32/src/ia32.c /trunk/kernel/arch/ia32/src/mm/as.c /trunk/kernel/arch/ia32/src/mm/memory_init.c /trunk/kernel/arch/ia32/src/pm.c /trunk/kernel/arch/ia32/src/smp/mps.c /trunk/kernel/arch/ia32xen/_link.ld.in /trunk/kernel/arch/ia32xen/include/hypercall.h /trunk/kernel/arch/ia32xen/include/mm/as.h /trunk/kernel/arch/ia32xen/include/mm/frame.h /trunk/kernel/arch/ia32xen/include/mm/memory_init.h /trunk/kernel/arch/ia32xen/include/mm/page.h /trunk/kernel/arch/ia32xen/include/pm.h /trunk/kernel/arch/ia32xen/include/types.h /trunk/kernel/arch/ia32xen/src/boot/boot.S /trunk/kernel/arch/ia32xen/src/ia32xen.c /trunk/kernel/arch/ia32xen/src/mm/as.c /trunk/kernel/arch/ia32xen/src/mm/memory_init.c /trunk/kernel/arch/ia32xen/src/pm.c /trunk/kernel/arch/ia32xen/src/smp/apic.c /trunk/kernel/arch/ia32xen/src/smp/mps.c /trunk/kernel/arch/ia32xen/src/smp/smp.c /trunk/kernel/arch/ia64/_link.ld.in /trunk/kernel/arch/ia64/include/context.h /trunk/kernel/arch/ia64/include/cpu.h /trunk/kernel/arch/ia64/include/fpu_context.h /trunk/kernel/arch/ia64/include/interrupt.h /trunk/kernel/arch/ia64/include/mm/as.h /trunk/kernel/arch/ia64/include/mm/page.h /trunk/kernel/arch/ia64/include/mm/tlb.h /trunk/kernel/arch/ia64/include/types.h /trunk/kernel/arch/ia64/src/ddi/ddi.c /trunk/kernel/arch/ia64/src/mm/page.c /trunk/kernel/arch/ia64/src/mm/tlb.c /trunk/kernel/arch/ia64/src/mm/vhpt.c /trunk/kernel/arch/ia64/src/ski/ski.c /trunk/kernel/arch/mips32/include/asm.h /trunk/kernel/arch/mips32/include/cache.h /trunk/kernel/arch/mips32/include/context_offset.h /trunk/kernel/arch/mips32/include/cp0.h /trunk/kernel/arch/mips32/include/cpu.h /trunk/kernel/arch/mips32/include/debugger.h /trunk/kernel/arch/mips32/include/exception.h /trunk/kernel/arch/mips32/include/interrupt.h /trunk/kernel/arch/mips32/include/mm/as.h /trunk/kernel/arch/mips32/include/mm/page.h /trunk/kernel/arch/mips32/include/mm/tlb.h /trunk/kernel/arch/mips32/include/types.h /trunk/kernel/arch/mips32/src/cache.c /trunk/kernel/arch/mips32/src/cpu/cpu.c /trunk/kernel/arch/mips32/src/ddi/ddi.c /trunk/kernel/arch/mips32/src/drivers/msim.c /trunk/kernel/arch/mips32/src/drivers/serial.c /trunk/kernel/arch/mips32/src/exception.c /trunk/kernel/arch/mips32/src/interrupt.c /trunk/kernel/arch/mips32/src/mips32.c /trunk/kernel/arch/ppc32/_link.ld.in /trunk/kernel/arch/ppc32/include/cpu.h /trunk/kernel/arch/ppc32/include/drivers/cuda.h /trunk/kernel/arch/ppc32/include/drivers/pic.h /trunk/kernel/arch/ppc32/include/exception.h /trunk/kernel/arch/ppc32/include/mm/as.h /trunk/kernel/arch/ppc32/include/mm/memory_init.h /trunk/kernel/arch/ppc32/include/mm/page.h /trunk/kernel/arch/ppc32/include/mm/tlb.h /trunk/kernel/arch/ppc32/include/types.h /trunk/kernel/arch/ppc32/src/cpu/cpu.c /trunk/kernel/arch/ppc32/src/ddi/ddi.c /trunk/kernel/arch/ppc32/src/drivers/cuda.c /trunk/kernel/arch/ppc32/src/drivers/pic.c /trunk/kernel/arch/ppc32/src/mm/memory_init.c /trunk/kernel/arch/ppc32/src/ppc32.c /trunk/kernel/arch/ppc64/_link.ld.in /trunk/kernel/arch/ppc64/include/cpu.h /trunk/kernel/arch/ppc64/include/drivers/pic.h /trunk/kernel/arch/ppc64/include/exception.h /trunk/kernel/arch/ppc64/include/mm/as.h /trunk/kernel/arch/ppc64/include/mm/memory_init.h /trunk/kernel/arch/ppc64/include/mm/page.h /trunk/kernel/arch/ppc64/include/types.h /trunk/kernel/arch/ppc64/src/cpu/cpu.c /trunk/kernel/arch/ppc64/src/ddi/ddi.c /trunk/kernel/arch/ppc64/src/drivers/pic.c /trunk/kernel/arch/ppc64/src/mm/as.c /trunk/kernel/arch/ppc64/src/mm/memory_init.c /trunk/kernel/arch/sparc64/_link.ld.in /trunk/kernel/arch/sparc64/include/asm.h /trunk/kernel/arch/sparc64/include/atomic.h /trunk/kernel/arch/sparc64/include/boot/boot.h /trunk/kernel/arch/sparc64/include/cpu.h /trunk/kernel/arch/sparc64/include/drivers/tick.h /trunk/kernel/arch/sparc64/include/drivers/z8530.h /trunk/kernel/arch/sparc64/include/interrupt.h /trunk/kernel/arch/sparc64/include/mm/as.h /trunk/kernel/arch/sparc64/include/mm/memory_init.h /trunk/kernel/arch/sparc64/include/mm/mmu.h /trunk/kernel/arch/sparc64/include/mm/page.h /trunk/kernel/arch/sparc64/include/mm/tlb.h /trunk/kernel/arch/sparc64/include/mm/tsb.h /trunk/kernel/arch/sparc64/include/syscall.h /trunk/kernel/arch/sparc64/include/trap/exception.h /trunk/kernel/arch/sparc64/include/trap/interrupt.h /trunk/kernel/arch/sparc64/include/types.h /trunk/kernel/arch/sparc64/src/console.c /trunk/kernel/arch/sparc64/src/cpu/cpu.c /trunk/kernel/arch/sparc64/src/ddi/ddi.c /trunk/kernel/arch/sparc64/src/drivers/fhc.c /trunk/kernel/arch/sparc64/src/drivers/kbd.c /trunk/kernel/arch/sparc64/src/drivers/pci.c /trunk/kernel/arch/sparc64/src/drivers/scr.c /trunk/kernel/arch/sparc64/src/drivers/tick.c /trunk/kernel/arch/sparc64/src/mm/as.c /trunk/kernel/arch/sparc64/src/mm/memory_init.c /trunk/kernel/arch/sparc64/src/mm/tlb.c /trunk/kernel/arch/sparc64/src/mm/tsb.c /trunk/kernel/arch/sparc64/src/smp/ipi.c /trunk/kernel/arch/sparc64/src/smp/smp.c /trunk/kernel/arch/sparc64/src/trap/exception.c /trunk/kernel/arch/sparc64/src/trap/interrupt.c /trunk/kernel/arch/sparc64/src/trap/syscall.c /trunk/kernel/arch/sparc64/src/trap/trap.c /trunk/kernel/genarch/include/kbd/i8042.h /trunk/kernel/genarch/include/kbd/key.h /trunk/kernel/genarch/include/kbd/ns16550.h /trunk/kernel/genarch/include/kbd/z8530.h /trunk/kernel/genarch/include/mm/as_ht.h /trunk/kernel/genarch/include/mm/as_pt.h /trunk/kernel/genarch/include/mm/page_ht.h /trunk/kernel/genarch/include/mm/page_pt.h /trunk/kernel/genarch/include/ofw/ofw_tree.h /trunk/kernel/genarch/src/acpi/madt.c /trunk/kernel/genarch/src/fb/fb.c /trunk/kernel/genarch/src/kbd/i8042.c /trunk/kernel/genarch/src/kbd/key.c /trunk/kernel/genarch/src/kbd/ns16550.c /trunk/kernel/genarch/src/kbd/z8530.c /trunk/kernel/genarch/src/mm/as_ht.c /trunk/kernel/genarch/src/mm/as_pt.c /trunk/kernel/genarch/src/mm/asid_fifo.c /trunk/kernel/genarch/src/mm/page_ht.c /trunk/kernel/genarch/src/mm/page_pt.c /trunk/kernel/generic/include/adt/bitmap.h /trunk/kernel/generic/include/adt/btree.h /trunk/kernel/generic/include/adt/fifo.h /trunk/kernel/generic/include/adt/hash_table.h /trunk/kernel/generic/include/adt/list.h /trunk/kernel/generic/include/arch.h /trunk/kernel/generic/include/bitops.h /trunk/kernel/generic/include/config.h /trunk/kernel/generic/include/console/chardev.h /trunk/kernel/generic/include/console/cmd.h /trunk/kernel/generic/include/console/console.h /trunk/kernel/generic/include/console/kconsole.h /trunk/kernel/generic/include/context.h /trunk/kernel/generic/include/cpu.h /trunk/kernel/generic/include/ddi/ddi.h /trunk/kernel/generic/include/ddi/device.h /trunk/kernel/generic/include/ddi/irq.h /trunk/kernel/generic/include/debug.h /trunk/kernel/generic/include/fpu_context.h /trunk/kernel/generic/include/func.h /trunk/kernel/generic/include/interrupt.h /trunk/kernel/generic/include/ipc/ipc.h /trunk/kernel/generic/include/ipc/irq.h /trunk/kernel/generic/include/ipc/sysipc.h /trunk/kernel/generic/include/lib/elf.h /trunk/kernel/generic/include/lib/rd.h /trunk/kernel/generic/include/macros.h /trunk/kernel/generic/include/main/main.h /trunk/kernel/generic/include/memstr.h /trunk/kernel/generic/include/mm/as.h /trunk/kernel/generic/include/mm/asid.h /trunk/kernel/generic/include/mm/buddy.h /trunk/kernel/generic/include/mm/frame.h /trunk/kernel/generic/include/mm/page.h /trunk/kernel/generic/include/mm/tlb.h /trunk/kernel/generic/include/printf/printf_core.h /trunk/kernel/generic/include/proc/scheduler.h /trunk/kernel/generic/include/proc/task.h /trunk/kernel/generic/include/proc/thread.h /trunk/kernel/generic/include/security/cap.h /trunk/kernel/generic/include/synch/futex.h /trunk/kernel/generic/include/synch/mutex.h /trunk/kernel/generic/include/synch/rwlock.h /trunk/kernel/generic/include/synch/semaphore.h /trunk/kernel/generic/include/synch/spinlock.h /trunk/kernel/generic/include/synch/waitq.h /trunk/kernel/generic/include/syscall/copy.h /trunk/kernel/generic/include/syscall/syscall.h /trunk/kernel/generic/include/time/timeout.h /trunk/kernel/generic/include/typedefs.h /trunk/kernel/generic/src/adt/bitmap.c /trunk/kernel/generic/src/adt/btree.c /trunk/kernel/generic/src/adt/hash_table.c /trunk/kernel/generic/src/console/cmd.c /trunk/kernel/generic/src/console/console.c /trunk/kernel/generic/src/console/kconsole.c /trunk/kernel/generic/src/cpu/cpu.c /trunk/kernel/generic/src/ddi/device.c /trunk/kernel/generic/src/ddi/irq.c /trunk/kernel/generic/src/debug/symtab.c /trunk/kernel/generic/src/lib/elf.c /trunk/kernel/generic/src/lib/func.c /trunk/kernel/generic/src/main/kinit.c /trunk/kernel/generic/src/main/main.c /trunk/kernel/generic/src/mm/as.c /trunk/kernel/generic/src/mm/backend_anon.c /trunk/kernel/generic/src/mm/backend_elf.c /trunk/kernel/generic/src/mm/backend_phys.c /trunk/kernel/generic/src/mm/buddy.c /trunk/kernel/generic/src/mm/frame.c /trunk/kernel/generic/src/mm/page.c /trunk/kernel/generic/src/mm/tlb.c /trunk/kernel/generic/src/proc/scheduler.c /trunk/kernel/generic/src/proc/task.c /trunk/kernel/generic/src/proc/the.c /trunk/kernel/generic/src/proc/thread.c /trunk/kernel/generic/src/security/cap.c /trunk/kernel/generic/src/synch/condvar.c /trunk/kernel/generic/src/synch/rwlock.c /trunk/kernel/generic/src/synch/waitq.c /trunk/kernel/generic/src/syscall/copy.c /trunk/kernel/generic/src/time/timeout.c /trunk/kernel/test/test.h /trunk/uspace/init/init.c /trunk/uspace/klog/klog.c /trunk/uspace/libc/include/as.h /trunk/uspace/libc/include/ipc/ipc.h
|