Rev |
Age |
Author |
Path |
Log message |
Diff |
3020 |
5930 d 19 h |
jermar |
/trunk/kernel/generic/ |
Turn phone->lock into mutex. |
|
2926 |
5944 d 6 h |
decky |
/trunk/kernel/generic/include/proc/ |
cs change |
|
2802 |
5984 d 4 h |
jermar |
/trunk/kernel/generic/ |
Fix initialization of answerbox->task in ipc_answerbox_init.
Contributed by Jiri Svoboda. |
|
2797 |
5985 d 19 h |
jermar |
/trunk/kernel/ |
Each architecture should only announce its endianity.
The conversion macros should be defined only once. |
|
2794 |
5986 d 19 h |
jermar |
/trunk/kernel/ |
Add macros for byte swapping of uint16_t's. |
|
2746 |
6021 d 23 h |
decky |
/trunk/kernel/ |
start merging tasklets (more or less a rewrite) |
|
2745 |
6022 d 4 h |
decky |
/trunk/ |
code cleanup (mostly signed/unsigned)
allow extra compiler warnings |
|
2725 |
6043 d 1 h |
decky |
/trunk/kernel/ |
remove config.memory_size, get_memory_size() and memory_init.{c|d}
the amount of available memory can be calculated from the sizes of the zones
add FRAMES2SIZE, SIZE2KB and SIZE2MB functions/macros (code readability) |
|
2712 |
6048 d 1 h |
decky |
/trunk/kernel/ |
prettyprint output |
|
2684 |
6073 d 20 h |
jermar |
/trunk/ |
Add libc and VFS implementation of lseek(), VFS_SEEK resp.
Add the size member to the VFS node structure (not yet initialized). |
|
2677 |
6079 d 23 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. |
|
2676 |
6080 d 5 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. |
|
2662 |
6087 d 18 h |
jermar |
/trunk/ |
Add support for IPC_M_DATA_READ calls. |
|
2660 |
6087 d 20 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(). |
|
2646 |
6094 d 21 h |
jermar |
/trunk/kernel/generic/include/ |
Formatting. |
|
2638 |
6106 d 19 h |
jermar |
/trunk/ |
Sync IPC comments with IPC code. |
|
2637 |
6106 d 20 h |
cejka |
/trunk/ |
Extended IPC_M_CONNECT_TO_ME to use 3 user defined parameters.
Phone identifier is passed in ARG5. |
|
2635 |
6108 d 20 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. |
|
2626 |
6116 d 5 h |
jermar |
/trunk/kernel/generic/ |
Support for 5 payload arguments for IPC irq notifications and the pseudo code. |
|
2623 |
6117 d 1 h |
jermar |
/trunk/kernel/generic/ |
Introduce the IPC_FF_ROUTE_FROM_ME forwarding flag. |
|
2622 |
6117 d 1 h |
jermar |
/trunk/ |
Add mode argument to IPC forward.
This argument can be used to modify the way forward behaves. |
|
2619 |
6120 d 18 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(). |
|
2618 |
6121 d 6 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. |
|
2615 |
6122 d 3 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. |
|
2614 |
6123 d 1 h |
jermar |
/trunk/kernel/generic/include/ipc/ |
Grow the IPC data structures from 3 to 5 payload arguments.
No IPC API changes so far. |
|
2605 |
6124 d 23 h |
jermar |
/trunk/ |
Start support for six syscall arguments.
This breaks all architectures. |
|
2573 |
6148 d 20 h |
jermar |
/trunk/kernel/generic/include/lib/ |
Add SHF_TLS ELF section header flag.
This will be needed for detecting alignment of TLS sections of userspace tasks
loaded at runtime. |
|
2572 |
6167 d 10 h |
jermar |
/trunk/kernel/ |
Remove duplicit implementation of strlen() in kernel, rename is_digit(),
is_white() and co. to their standard names (e.g. isdigit(), isspace()) and
remove duplicit implementation of isdigit(). Fix cstyle in kernel printf()
implementation. |
|
2556 |
6173 d 5 h |
jermar |
/trunk/kernel/generic/ |
Rename as_get_size() to as_area_get_size() and add a doxygen comment. |
|
2550 |
6173 d 23 h |
cejka |
/trunk/ |
Fixed naming convention in IPC. |
|
2527 |
6186 d 5 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. |
|
2523 |
6187 d 7 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. |
|
2504 |
6234 d 20 h |
jermar |
/trunk/kernel/generic/ |
Give the AVL tree walkers the possibility to take an argument.
Each walker is now supposed to return a bool value to support walk termination.
Switch over from the tasks_btree B+tree to tasks_tree AVL tree.
This makes the fix for ticket #48 complete. |
|
2502 |
6235 d 2 h |
jermar |
/trunk/kernel/generic/ |
Replace the threads_btree B+tree with an AVL tree. The new variable is called
threads_tree. For printing list of threads, use the new AVL tree walker
mechanism.
This solves half of ticket #48. |
|
2501 |
6235 d 2 h |
jermar |
/trunk/kernel/generic/ |
Add explicit type for an AVL tree key.
Add function to walk an AVL tree using a supplied walker. |
|
2499 |
6235 d 4 h |
jermar |
/trunk/kernel/ |
Import the AVL tree implementation from the RCU branch. |
|
2494 |
6252 d 19 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. |
|
2493 |
6252 d 23 h |
jermar |
/trunk/kernel/generic/include/ipc/ |
Collapse IPC method numbers. |
|
2476 |
6273 d 19 h |
jermar |
/trunk/ |
Cleanup. |
|
2471 |
6276 d 20 h |
jermar |
/trunk/ |
Greatly improve comments in the IPC layer.
Now I think I finally start to understand our IPC internals :-) |
|