Subversion Repositories HelenOS

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
2797 5896 d 23 h jermar /trunk/kernel/ Each architecture should only announce its endianity.
The conversion macros should be defined only once.
 
2794 5897 d 23 h jermar /trunk/kernel/ Add macros for byte swapping of uint16_t's.  
2746 5933 d 2 h decky /trunk/kernel/ start merging tasklets (more or less a rewrite)  
2745 5933 d 7 h decky /trunk/ code cleanup (mostly signed/unsigned)
allow extra compiler warnings
 
2725 5954 d 5 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 5959 d 5 h decky /trunk/kernel/ prettyprint output  
2684 5985 d 0 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 5991 d 2 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 5991 d 9 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 5998 d 22 h jermar /trunk/ Add support for IPC_M_DATA_READ calls.  
2660 5998 d 23 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 6006 d 1 h jermar /trunk/kernel/generic/include/ Formatting.  
2638 6017 d 23 h jermar /trunk/ Sync IPC comments with IPC code.  
2637 6017 d 23 h cejka /trunk/ Extended IPC_M_CONNECT_TO_ME to use 3 user defined parameters.
Phone identifier is passed in ARG5.
 
2635 6019 d 23 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 6027 d 9 h jermar /trunk/kernel/generic/ Support for 5 payload arguments for IPC irq notifications and the pseudo code.  
2623 6028 d 5 h jermar /trunk/kernel/generic/ Introduce the IPC_FF_ROUTE_FROM_ME forwarding flag.  
2622 6028 d 5 h jermar /trunk/ Add mode argument to IPC forward.
This argument can be used to modify the way forward behaves.
 
2619 6031 d 22 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 6032 d 10 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 6033 d 7 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 6034 d 5 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 6036 d 3 h jermar /trunk/ Start support for six syscall arguments.
This breaks all architectures.
 
2573 6060 d 0 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 6078 d 14 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 6084 d 8 h jermar /trunk/kernel/generic/ Rename as_get_size() to as_area_get_size() and add a doxygen comment.  
2550 6085 d 2 h cejka /trunk/ Fixed naming convention in IPC.  
2527 6097 d 8 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 6098 d 10 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 6146 d 0 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 6146 d 5 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 6146 d 5 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 6146 d 8 h jermar /trunk/kernel/ Import the AVL tree implementation from the RCU branch.  
2494 6163 d 23 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 6164 d 3 h jermar /trunk/kernel/generic/include/ipc/ Collapse IPC method numbers.  
2476 6184 d 22 h jermar /trunk/ Cleanup.  
2471 6188 d 0 h jermar /trunk/ Greatly improve comments in the IPC layer.
Now I think I finally start to understand our IPC internals :-)
 
2465 6197 d 4 h jermar /trunk/ Merge arm32 into trunk.  
2462 6198 d 23 h jermar /trunk/kernel/ Replace gcc-specific __FUNCTION__ with C99 __func__.
suncc's xregs=no%float can be used only on sparc64.
 
2451 6200 d 23 h jermar /trunk/kernel/generic/ JoinMe -> Lingering