Commit Graph

137 Commits

Author SHA1 Message Date
cd8b2eddcf Clean up & comment task_init 2020-07-23 21:00:54 -05:00
a2756266f0 Remove unnecessary uints 2020-07-23 11:50:23 -05:00
b506923396 Clean up serial driver 2020-07-23 10:28:38 -05:00
f01785d69e serial driver portability work 2020-07-23 09:21:14 -05:00
063cde8101 Small fix to x86-64 paging code 2020-07-23 09:16:41 -05:00
64261480af kernel stack allocation is now not handled in paging.c 2020-07-23 06:41:18 -05:00
af4233e968 Remove load_smap from paging.h 2020-07-22 21:28:00 -05:00
ce0cfb2e11 Remove protector pages 2020-07-22 21:20:50 -05:00
51a4007bba remove an unimplemented function from paging.h 2020-07-22 21:17:55 -05:00
ea574dbf23 Kernel stack setup is now platform-dependent 2020-07-22 19:54:33 -05:00
ace6b4397d make address_spaces.c non cpu specific 2020-07-22 19:46:57 -05:00
918b944b9e Fix a warning 2020-07-22 19:37:30 -05:00
ece3b47223 Fix some build errors 2020-07-22 19:37:11 -05:00
06ca0a5913 Sort includes 2020-07-22 19:35:23 -05:00
eef40edb3f Portability work 2020-07-22 19:26:55 -05:00
76eedfb921 new_thread is now pthread_create 2020-07-22 07:33:44 -05:00
24e34f0011 Exit was not unmarking the task as scheduled 2020-07-21 16:31:51 -05:00
dbcb761147 Kernel thread stacks were not mapped properly 2020-07-21 16:30:22 -05:00
b37d8895d7 Add the current thread as an external variable in the tasking header 2020-07-21 16:29:57 -05:00
69cd4f248d Kernel thread creation can now take a pid and an argument 2020-07-20 11:24:09 -05:00
ff3885241a Full purge of the word "Task" from my tasking code 2020-07-20 10:07:46 -05:00
57c663a0e0 Tasking rewrite & add multi-threading 2020-07-20 09:51:30 -05:00
7cde3f4eca Remove redundant syscalls 2020-07-12 16:29:57 -05:00
5717209148 Syscall number reorg 2020-07-12 14:39:22 -05:00
679b5a3b8d Add syscall macros and remove mailbox IPC 2020-07-12 14:30:16 -05:00
ac7cc05113 Add task states 2020-07-12 14:28:58 -05:00
9e87405ff7 Fix some warnings 2020-07-12 13:47:17 -05:00
ff1ec1ac79 Attempt to fix the ipc corruption 2020-07-09 11:28:57 -05:00
832a01b7e9 Interrupt code now passes a pointer to the saved registers 2019-12-14 10:41:04 -06:00
ba3add445e Fix interrupt.h having broken header guard 2019-12-14 10:25:00 -06:00
1c5a986e6d Start work on an initrd driver and attempt to debug pg fault on msg send 2019-10-20 09:44:33 -05:00
81fd21da2a Change mailboxes to not use kmalloc 2019-09-22 08:38:31 -05:00
faf3a3aad9 Change find_free_pages to return a void* 2019-09-22 08:25:08 -05:00
f88622c154 Mailboxes can now be found by their names. 2019-09-05 09:39:13 -05:00
2080e0256a Fix a bug with sending a message of size 0. 2019-09-01 14:14:25 -05:00
9a89873c8b Mailboxes now have names 2019-09-01 13:52:32 -05:00
1522fed9a8 Add getpid function 2019-09-01 13:49:01 -05:00
f8160bb3ee Fix IPC buffer size check 2019-09-01 13:01:37 -05:00
7d453fd06b Yet again, attempt to fix IPC 2019-08-31 18:43:27 -05:00
d2dbbb85a5 Fix IPC issues (I suspect looparound issues) 2019-08-31 16:46:21 -05:00
d874b17b14 Fix exit not looping around to head task 2019-08-31 10:49:35 -05:00
e349f0ad3d Add protection againt sending to mailbox 0 2019-08-28 20:24:53 -05:00
54ab300502 Get all programs building using the new hosted cross-compiler 2019-08-28 08:26:42 -05:00
916ffea498 Add syscalls to get initrd size and copy it into user supplied memory 2019-08-26 13:07:01 -05:00
e8730b145a Make usermode programs hosted, and add noreturn to exit. 2019-08-26 07:43:25 -05:00
d186939f87 start.asm now calls exit with a 0 exit code 2019-08-25 17:41:13 -05:00
c8a3a49b87 Forgot to change kernel exit code back to 0 2019-08-25 17:33:05 -05:00
3ca8b5a232 Add a very basic exit function and fix kmalloc.
Exit function does not deallocate task memory except for the data block, 
and does not are about the exit code except for logging.
2019-08-25 17:32:08 -05:00
5a5fee4d74 Tasks now are a doubly-linked list 2019-08-25 17:06:19 -05:00
d12421a7c8 Add a serial_print syscall 2019-08-25 13:52:56 -05:00