Added UTCB functions for full ipc that copy buffer or string payloads
in secondary message registers.
Some posix syscalls now use these utcb functions to copy pathnames.
test0 now successfully runs its beginning.
test0 SConscript has a dependency problem.
Issues to be investigated:
- vm_file and vnodes need to be merged fully in all functions.
- libposix shared page references need to be removed.
- Any references to VFS_TID, PAGER_TID need to be removed.
Changes:
It is now possible to use do_mmap() from within mm0.
- pager_new_virtual()/delete_virtual() return addresses that are
disjoint from find_unmapped_area() used by mmap() interface for
anonymous or not-fixed areas.
- find_unmapped_area() now uses task->map_start task->map_end instead
of task->start and task->end. task->start/end are still valid task
space addresses for mmap(), but finding a new address is limited to
map_start/map_end.
- We have both interfaces because mmap() is only useful for backed-files.
When the pager needs to access a user memory range for example, that is
not backed by a file and thus we need to use pager_new_virtual() instead
of mmap() for mapping.
It might be a good idea to simply use mmap() from inside the pager and prefault it
as a conventional way of mapping internal buffers. Will be investigated.
- This would open the way that all internal buffer mapping is
done in a standard way
- Standard syscalls would be possible to use from within the pager.
container packer picks up files with .elf extentions. Therefore intermediate
files must not have .elf extentions, since they're not meant to go to the final
executable.
modified: conts/posix/bootdesc/SConscript
modified: conts/posix/libposix/stat.c
A lot of hassles on standard c library, mock-up libc, and libposix
headers taken from uClibc clashing has been worked around.
Next:
- Linker scripts need fixing and adjusting.
- Bootdesc needs to be generated.
- Per-container compilation scripts need connecting.