Commit Graph

  • f37cadf5c8 File opener count was not decreased in vm_file_put Bahadir Balban 2009-05-14 13:07:10 +03:00
  • 3b8386fe7d Added error handling to task_mmap_segments() Bahadir Balban 2009-05-14 13:00:27 +03:00
  • da3b293ab4 Fixed a byte/pfn confusion. - During execve/map_stack when setting up the environment and argument stack, the stack map size was in bytes instead of pfns. - Can now execve 16 forked tasks with success. Bahadir Balban 2009-05-14 10:57:31 +03:00
  • ae50823599 Elf file checking - Added the test that data and text are at least a page apart. Bahadir Balban 2009-05-13 16:37:08 +03:00
  • 2c01463482 In FS0 filesystem image buffer was smaller than the memfs-defined maximum. Bahadir Balban 2009-05-13 16:09:20 +03:00
  • 680d20ff94 Initial changes to libl4 for full and extended ipc. Bahadir Balban 2009-05-13 16:08:37 +03:00
  • 44bf1db573 Removed the BUG() check on a legitimate l4_unmap return case Bahadir Balban 2009-05-12 18:24:31 +03:00
  • 33fcceb2b6 Added a shared memory test. - libposix error printing now configurable via macro definition - shmget/at/dt tested. Bahadir Balban 2009-05-12 18:16:25 +03:00
  • 324481a334 Some more enhancements to test0 Bahadir Balban 2009-05-12 12:31:25 +03:00
  • 8528e2e1ba Modified the kernel and all tasks with well-formatted printout messages. Bahadir Balban 2009-05-12 11:25:14 +03:00
  • db0d756dfa Removed thread group id pool. Bahadir Balban 2009-05-11 12:21:08 +03:00
  • 1b04037034 Address space creation/deletion implemented Bahadir Balban 2009-05-11 12:10:12 +03:00
  • 7415546410 Reimplemented space handling by introducing an address_space structure. Bahadir Balban 2009-05-08 23:35:19 +03:00
  • 2df8875a88 Initialisation works OK with new address space structure. Bahadir Balban 2009-05-07 11:08:35 +03:00
  • 6e1edc0aad Adding address space structure to ktcbs. Still booting until virtual memory is enabled. Bahadir Balban 2009-05-07 10:26:34 +03:00
  • 3acc66c2e7 Adding support for refcounted page tables. Fixed freeing of kernel pmds on copy_page_tables Bahadir Balban 2009-05-02 11:21:19 +03:00
  • 8ab892375e Comment title for kmalloc Bahadir Balban 2009-05-02 10:54:02 +03:00
  • 63e18b176e Fixed returning freed field of struct. Bahadir Balban 2009-05-02 10:44:23 +03:00
  • 9fbeefadb8 Slight modification in reaching/freeing of pmds. Bahadir Balban 2009-05-01 23:12:27 +03:00
  • 97bfd3bb9b Fixed error escalation in thread_create() and its function calls. Bahadir Balban 2009-05-01 22:39:31 +03:00
  • 952285d756 UTCB create/destroy working. Execve maps its utcb in mmap_segments. fork/clone does it as part of task_create Bahadir Balban 2009-05-01 17:48:54 +03:00
  • 260527c0a3 Added utcb create/destroy and better reorganized calls to them. Bahadir Balban 2009-05-01 17:06:24 +03:00
  • 8ca0ca9cfb UTCBs are mmap'ed only when needed. Bahadir Balban 2009-05-01 14:52:06 +03:00
  • b1b3b59561 Workaround added for duplicate page faults from cloned threads. Bahadir Balban 2009-05-01 14:44:41 +03:00
  • cada0f8f18 New UTCB implementation almost working. Bahadir Balban 2009-05-01 10:11:47 +03:00
  • 7a81db8782 Ongoing work for adding per-thread UTCB structures. Bahadir Balban 2009-04-29 16:53:04 +03:00
  • 54a9b2901d Removed allocation of utcb shared pages by mm0 completely. Bahadir Balban 2009-04-22 14:48:43 +03:00
  • 203f053878 Removed special-case utcb shared page from posix services. Bahadir Balban 2009-04-22 11:58:58 +03:00
  • 8d82fa5f5e Removed execve() test. Bahadir Balban 2009-04-18 09:47:48 +03:00
  • 23b4c9d5db Moved boot-related functions to boot.c Bahadir Balban 2009-04-17 15:18:42 +03:00
  • 7af45d0fb9 Added building of external libs as well. modified: buildall.sh Bahadir Balban 2009-04-17 14:52:36 +03:00
  • 9123eb49a8 execve working from vfs executable file along with clone/fork/exit Bahadir Balban 2008-12-02 18:29:40 +02:00
  • 32b3dfe91d Fixed various faults with execve(). Bahadir Balban 2008-12-02 14:15:40 +02:00
  • 05d8438f34 Task initally exec'ing with success. Some errors need to be investigated. Bahadir Balban 2008-12-01 13:53:50 +02:00
  • 783b1e025f Added env and arg passing to execve Bahadir Balban 2008-11-25 12:52:28 +02:00
  • 159944b092 Removed copy_user_string Bahadir Balban 2008-11-25 12:32:13 +02:00
  • 321b5b2b73 Now using a common method for copying variable size strings and pointer array. Bahadir Balban 2008-11-25 12:28:50 +02:00
  • a9e6aabcae We can now successfully copy char *argv[] user array. Bahadir Balban 2008-11-25 11:05:41 +02:00
  • 0ddb8ea799 Fix to do_mmap(): file_offset was byte offset, it is now a pfn. Bahadir Balban 2008-11-23 23:24:03 +02:00
  • d0e878b32c Added detailed mapping of bss. Bahadir Balban 2008-11-23 21:27:11 +02:00
  • 311d6917c4 Fixed a few errors with pager-mapping of elf file pages. Bahadir Balban 2008-11-22 13:23:39 +02:00
  • 906c8ac679 Added pager_map_file_page() which maps a file offset as a pointer. Bahadir Balban 2008-11-21 23:27:43 +02:00
  • 7d38243dff Moved all pager page-mapping routines to memory.c Added a new virtual address pool for contiguous virtual addresses for the pager. This will help in mapping multi-page user buffers and files. Bahadir Balban 2008-11-21 21:05:42 +02:00
  • 2d5a08ff32 More progress on parsing elf files. Fixes to memfs file read/write Bahadir Balban 2008-11-21 19:26:10 +02:00
  • 27d331895b Introduction to elf parsing Bahadir Balban 2008-11-20 17:34:12 +02:00
  • 1914e58be9 Moved thread id assignment to task_create for new tasks with parents. Bahadir Balban 2008-11-19 21:34:57 +02:00
  • 46937eab88 Added preliminary support for execve(). Updates to clone, fork, exit, task handling. Bahadir Balban 2008-11-19 12:59:52 +02:00
  • d182b5b35a Initial changes for execve() support Bahadir Balban 2008-11-13 21:45:30 +02:00
  • 44c34026b2 clone() call working. Tested exit(), clone() and fork() mixture running about 22 threads, processes. Bahadir Balban 2008-11-10 17:58:33 +02:00
  • 66388a0fc3 Updated README Bahadir Balban 2008-11-10 13:32:48 +02:00
  • 9a9b8d2701 Added a clone() test to test0. Bahadir Balban 2008-11-10 12:51:01 +02:00
  • a96a8bb6d9 Modification on allocation of thread group ids in the kernel. Bahadir Balban 2008-11-10 11:29:09 +02:00
  • 2c15d09797 Towards finishing off clone() Bahadir Balban 2008-11-10 11:22:38 +02:00
  • b874062dd7 LICENSE file fix Bahadir Balban 2008-11-09 12:24:01 +02:00
  • b0291fa075 Added the LICENSE file for GPL v3. Bahadir Balban 2008-11-09 12:22:48 +02:00
  • 513d5aaac8 Added exit.c that seemed to be out of tree. Bahadir Balban 2008-11-09 11:42:10 +02:00
  • 88ca2033f7 Now shared tcb parts freed correctly. Bahadir Balban 2008-11-09 11:37:24 +02:00
  • b387a0526a tcb_destroy() in pager and fs0 now caters for shared structures. Bahadir Balban 2008-11-09 10:40:18 +02:00
  • 63fb907cd0 Made changes to have shared tcb parts in fs0 in preparation for clone() Bahadir Balban 2008-11-09 10:07:24 +02:00
  • 5468c1833d Utcbs of exiting children are successfully unmapped from vfs via sys_shmdt Bahadir Balban 2008-11-08 13:19:15 +02:00
  • 94daebd0c5 Mapping precision fixes on l4_unmap and do_munmap() Bahadir Balban 2008-11-08 10:18:35 +02:00
  • 0e3f069713 Removed an overly restrictive BUG_ON assert from scheduler code. Bahadir Balban 2008-11-07 21:25:36 +02:00
  • 99b7cf2274 for sys_mmap(), added unmapping of existing vmas for the area that is soon to be mmap'ed. Bahadir Balban 2008-11-07 21:22:50 +02:00
  • daffc1d084 Split vmas had no objects. Now fixed. Bahadir Balban 2008-11-07 20:39:11 +02:00
  • 61751a896b vma_intersect() was erroneous, replaced by a nice and simple set_intersection() routine. Bahadir Balban 2008-11-07 20:13:28 +02:00
  • 93ca3f88a8 Forgot to increase file open count when forking a task. Now fixed. Bahadir Balban 2008-11-07 17:20:11 +02:00
  • 122214f9b5 Increased memfs fixed maximum file size to 40 blocks (i.e. 40 pages) Bahadir Balban 2008-11-07 16:29:24 +02:00
  • 1ddd7ac9c2 Removed vm_object printfs that were for testing exit(). Bahadir Balban 2008-11-07 16:26:07 +02:00
  • 40ccc642f9 Removed find_vma_byrange completely. It was buggy and useless. Bahadir Balban 2008-11-07 16:12:44 +02:00
  • f87f3cd5d2 Fixed libposix munmap call where we used the MMAP tag. Bahadir Balban 2008-11-07 15:18:43 +02:00
  • f0348cc356 Fixed an msync() issue. Bahadir Balban 2008-11-07 15:10:19 +02:00
  • 3cb36b632a Fixed various bugs in user buffer validation/mapping and mmap() syscall path. Bahadir Balban 2008-11-07 12:32:10 +02:00
  • ca8959eee0 Added new routines that map and check the validity of user buffers. Bahadir Balban 2008-11-03 11:27:10 +02:00
  • 87d1b91743 Added setting page owner to VM_DIRTY in write_cache_pages. Bahadir Balban 2008-10-30 11:11:21 +02:00
  • a2d2574eac Added VM_DIRTY flag for file-backed objects and their pages. Bahadir Balban 2008-10-30 11:09:15 +02:00
  • 13b1b405a5 Cleaned up libposix mmap() Bahadir Balban 2008-10-29 20:01:31 +02:00
  • 4046ad9e3f Added msync(), added handling of munmap/msync to pager main.c Bahadir Balban 2008-10-29 19:22:01 +02:00
  • 51af9968c2 Added flushing of file pages to do_munmap() for file-backed mappings. Bahadir Balban 2008-10-29 19:03:19 +02:00
  • 94a126dcde munmap compiling. Bahadir Balban 2008-10-29 16:59:06 +02:00
  • 3421a29693 Few undecided changes on munmap.c Bahadir Balban 2008-10-29 14:02:21 +02:00
  • d5b5560bfa Moved munmap functions to munmap.c yet to be modified. Bahadir Balban 2008-10-27 15:07:06 +02:00
  • e8c1f31cee Minor cleanups to vm_area.h Bahadir Balban 2008-10-25 14:32:34 +03:00
  • 12c5389e85 Added counting of different file types to vm integrity tests. Bahadir Balban 2008-10-25 12:50:31 +03:00
  • cb9b02a24e Fixed 2 bugs in vma_merge_object(). Bahadir Balban 2008-10-25 12:05:26 +03:00
  • d43a98b4af Cleaner allocation, mapping and prefaulting of utcb shm segments. Bahadir Balban 2008-10-24 17:20:42 +03:00
  • 46fcdc9b31 Added same global task management mechanism from mm0 to fs0 Bahadir Balban 2008-10-24 14:59:25 +03:00
  • e875344149 Remove unused functions Bahadir Balban 2008-10-24 13:55:51 +03:00
  • 651901d8b9 Bugfixes, enhancements Bahadir Balban 2008-10-24 13:45:39 +03:00
  • b3693de21b Removed unnecessary comments Bahadir Balban 2008-10-22 21:15:53 +03:00
  • 616b30cdbf Changed the way vm_object_print() was defined. Bahadir Balban 2008-10-22 19:53:03 +03:00
  • ec863f5521 Removed exit printfs from mm0 and fs0 Bahadir Balban 2008-10-22 16:46:22 +03:00
  • 299549ec4a Added the forgotten freeing of shm id when destroying shm area. Bahadir Balban 2008-10-22 15:39:18 +03:00
  • 1ee5cc9c2b Fixed a task suspend/resume scheduler issue. Bahadir Balban 2008-10-22 13:00:28 +03:00
  • b20fda9341 exit() seems to work, but needs more testing. Bahadir Balban 2008-10-21 14:17:58 +03:00
  • aa2be891cd exit() almost there. Bahadir Balban 2008-10-20 12:56:30 +03:00
  • 0db0f7e334 Multiple updates on sleeping, vma dropping and thread suspend. Bahadir Balban 2008-10-13 12:22:10 +03:00
  • f6d0a79298 New scheduler and interruptible blocking. Bahadir Balban 2008-10-01 12:43:44 +03:00
  • c54d505709 Changes towards exit. Need to fix thread suspend first. Bahadir Balban 2008-09-27 22:15:34 +03:00
  • 6b11d3cf02 Added exit() call to libposix Bahadir Balban 2008-09-18 16:28:51 +03:00
  • 2741adb2c1 Readme update Bahadir Balban 2008-09-18 15:45:25 +03:00