Rev |
Age |
Author |
Path |
Log message |
Diff |
4670 |
5506 d 19 h |
jermar |
/trunk/kernel/generic/src/ipc/ |
Interrupts should be disabled when acquiring answerbox's irq_lock. |
|
4490 |
5561 d 13 h |
decky |
/trunk/kernel/ |
remove redundant index_t and count_t types (which were always quite ambiguous and not actually needed) |
|
4460 |
5561 d 14 h |
jermar |
/trunk/kernel/generic/src/ipc/ |
Streamline locking of phones during cloning. |
|
4430 |
5572 d 23 h |
jermar |
/trunk/kernel/generic/src/ipc/ |
Surprisingly easy support for homogenous mounts.
It works by simply allowing autoconnections. |
|
4422 |
5574 d 15 h |
jermar |
/trunk/kernel/generic/src/ipc/ |
Refuse to clone the phone which is itself used to make the IPC_M_CONNECTION_CLONE call. |
|
4407 |
5576 d 11 h |
jermar |
/trunk/ |
Add IPC_M_CONNECTION_CLONE and IPC_M_CONNECT_ME. |
|
4405 |
5576 d 11 h |
jermar |
/trunk/kernel/generic/src/ipc/ |
Do not test the same condition twice. |
|
4384 |
5581 d 11 h |
svoboda |
/trunk/kernel/generic/src/ |
Clean up various log messages, mostly udebug. |
|
4304 |
5607 d 17 h |
jermar |
/trunk/kernel/generic/src/ipc/ |
Allow IPC_M_DATA_WRITE to transfer zero data. |
|
4274 |
5612 d 11 h |
decky |
/trunk/kernel/generic/src/ |
fix compilation in non-SMP configurations |
|
4254 |
5619 d 10 h |
jermar |
/trunk/kernel/generic/src/ |
Address issues with IRQ notifications. |
|
4252 |
5619 d 13 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) |
|
4248 |
5619 d 17 h |
decky |
/trunk/kernel/generic/src/ipc/ |
avoid deadlock during cleanup
(the compare function which is called inside hash_table_remove acquires irq->lock) |
|
4173 |
5633 d 11 h |
jermar |
/trunk/ |
Revive kernel notifications. |
|
4041 |
5649 d 17 h |
jermar |
/trunk/kernel/generic/ |
If the server cannot receive a call because it supplied a bad userspace address, the kernel will immediately answer the call with EPARTY. |
|
4040 |
5650 d 19 h |
decky |
/trunk/kernel/generic/src/ipc/ |
add TODO |
|
3964 |
5660 d 19 h |
decky |
/trunk/kernel/ |
switch between the preference of kernel/uspace IRQ hash table |
|
3947 |
5663 d 15 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 |
|
3930 |
5665 d 11 h |
jermar |
/trunk/kernel/ |
Adapt most of the kernel to ioport8_t, ioport16_t and ioport32_t types. |
|
3902 |
5669 d 17 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. |
|
3875 |
5672 d 12 h |
decky |
/trunk/kernel/generic/ |
remove platform dependent constructs from generic code |
|
3870 |
5673 d 20 h |
decky |
/trunk/kernel/generic/src/ |
add includes necessary for LOG macro |
|
3867 |
5674 d 19 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. |
|
3819 |
5690 d 12 h |
jermar |
/trunk/ |
Introduce a new syscall: SYS_IPC_FORWARD_SLOW. |
|
3657 |
5746 d 20 h |
vana |
/trunk/ |
Legacy IRQ support, uspace NS16550 support, some minor changes |
|
3620 |
5753 d 22 h |
svoboda |
/trunk/kernel/generic/ |
Move stuff related to kbox to a separate struct. |
|
3603 |
5755 d 10 h |
svoboda |
/trunk/ |
Stoppability sections must be much smaller (design error). Also fix deadlock in udebug_stop(). Fix pause functionality in tracer. |
|
3496 |
5785 d 12 h |
svoboda |
/trunk/kernel/generic/src/ipc/ |
Split and streamline kbox_thread_proc(). |
|
3495 |
5785 d 13 h |
svoboda |
/trunk/kernel/generic/src/ipc/ |
Synchronize properly when detaching kbox from within. |
|
3494 |
5787 d 12 h |
svoboda |
/trunk/kernel/generic/src/ipc/ |
Fix panic when debugged task quits. Also fix memory leak when debugger disconnects first. |
|
3476 |
5812 d 14 h |
jermar |
/trunk/kernel/generic/src/ipc/ |
Add comments documenting our treatment of the task's active call counter. |
|
3449 |
5819 d 12 h |
jermar |
/trunk/kernel/generic/src/ipc/ |
Fix task active call accounting for IPC_M_HUNGUP calls. |
|
3445 |
5820 d 12 h |
jermar |
/trunk/kernel/ |
Rename ipc/ipc_kbox.c to ipc/kbox.c. |
|
3441 |
5820 d 19 h |
svoboda |
/trunk/kernel/generic/src/ |
Use LOG() instead of printf() for debug messages. |
|
3438 |
5820 d 20 h |
svoboda |
/trunk/ |
Merge syscall tracer (trace) and relevant part of udebug interface from tracing to trunk. |
|
3395 |
5828 d 13 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. |
|
3394 |
5829 d 11 h |
jermar |
/trunk/kernel/generic/src/ipc/ |
cstyle for ipc.c |
|
3370 |
5841 d 12 h |
jermar |
/trunk/kernel/generic/ |
Synchronous IPC must be interruptible. |
|
3363 |
5844 d 14 h |
jermar |
/trunk/kernel/generic/src/ipc/ |
Demasquerade the caller phone during ipc_answer_n() rather than in
ipc_wait_for_call(). |
|
3362 |
5844 d 14 h |
jermar |
/trunk/kernel/generic/ |
Fix processing of answers to forwarded masqueraded calls. |
|