Commit Graph

180 Commits

Author SHA1 Message Date
7974c1e026 Get VFS workng and start on fputc. Debugger is currently broken :( 2019-07-20 11:03:27 -05:00
d62ccb0dc1 Add a process to act as a filesytem driver and get a .gdbinit file setup
.gdbinit is used to make it easier to debug userspace processes
2019-07-13 10:18:41 -05:00
74cdc67dce Fix/ignore all the warnings 2019-07-01 15:30:00 -05:00
aef1d74750 Finish fopen in the vfs and hopefully add a working fopen in stdio.c 2019-07-01 15:13:47 -05:00
7611d929a3 Fix most warnings 2019-06-29 09:04:34 -05:00
51bb986d76 Change IPC to a mailbox-based system
Instead of using PIDs to identify a destination, a process can have one 
or more mailboxes to send messages to.
2019-06-27 17:00:23 -05:00
9db6bf61ca Start work on making IPC use a mailbox approach 2019-06-24 13:24:39 -05:00
ade1521bc4 Copy message data from kspace into uspace upon receiving message.
Fixes #30
2019-06-22 15:42:06 -05:00
1216d4c000 Store size of message in buffer 2019-06-22 15:29:02 -05:00
7ee2472fe5 Get IPC working 2019-06-22 11:11:12 -05:00
8bdbe06b8c Move kernel stacks into common memory and fix tasking. 2019-06-22 10:21:50 -05:00
997927fea4 Add a limit of 24k tasks ever being created. 2019-06-17 08:20:36 -05:00
c295d56ae8 IPC now uses a buffer in the task structure 2019-06-17 08:14:45 -05:00
c4d39011cd Fix unmap_pages not invalidating entries 2019-06-17 06:58:31 -05:00
9654487b5b add unmap_pages 2019-05-28 16:05:51 -05:00
38c39611fd load_address_space now uses load_smap 2019-05-25 16:00:52 -05:00
e0a6ebc0b3 load_smap now invaliadtes pages 2019-05-25 16:00:33 -05:00
f68cf49a15 copy_data and put_data now use load_smap 2019-05-25 16:00:12 -05:00
c036eb1e9a revert to old build system 2019-05-25 10:35:31 -05:00
b28234806b ignore more build products 2019-05-25 10:16:39 -05:00
09206d0645 fix files looking for ports.h in wrong place 2019-05-25 10:13:59 -05:00
30e043955b Add empty vfs program and fix tar parsing 2019-05-24 11:52:13 -05:00
382bd0c5e9 large restructure 2019-05-24 09:51:45 -05:00
7f25b58910 move cpu folder into kernel folder 2019-05-24 09:04:31 -05:00
2fac49887f Kernel now passes initrd and size to init 2019-05-24 08:54:14 -05:00
3a6f95a86a Every task now takes two parameters in the tasking code 2019-05-23 20:21:51 -05:00
63b46be967 Move initrd to tar 2019-05-23 17:38:26 -05:00
9d2c37329f Add an x variable to the vga error driver in the kernel 2019-05-23 09:44:40 -05:00
204fec4407 Remove all drivers and fs code from kernel 2019-05-22 14:18:29 -05:00
3448e834e8 Tasking finally works!! 2019-05-21 19:16:19 -05:00
613f77f949 Start large change of tasking system 2019-05-11 10:11:28 -05:00
68b6a77a65 Fix warnings 2019-05-06 08:38:02 -05:00
3856a5dc0a Get init loaded as a separate process 2019-05-06 08:24:57 -05:00
21a395de3b Remove logging messages in kernel and fix some warnings 2019-05-05 07:27:57 -05:00
361bfb0aa8 Kernel code now only loads init 2019-05-03 08:34:22 -05:00
f43d8e3af4 Run program at end of init() 2019-05-01 19:40:59 -05:00
50b0c0a4c4 Move _start to a dedicated file 2019-05-01 11:55:54 -05:00
593e618318 Remove some logging 2019-05-01 09:41:31 -05:00
3691d6b1f5 Essentially merge ext-prog-libc 2019-05-01 09:39:23 -05:00
5cb95d816f long mode paging work 2019-04-30 17:11:26 -05:00
83e1f27567 i386 moved to multiboot2 and x86_64 has physical memory manager 2019-04-27 15:03:31 -05:00
c6bca7f177 Add long mode IDT 2019-04-27 09:51:32 -05:00
5384ec3af0 Add VGA driver 2019-04-26 10:03:16 -05:00
fbef5710ed Long mode works!!! 2019-04-26 09:47:57 -05:00
e10fe99d05 Remove long mode env 2019-04-26 09:20:07 -05:00
c75aa35e1b Long mode work 2019-04-25 15:46:48 -05:00
e51f3e4db2 Start work on x86_64 platform 2019-04-22 13:18:27 -05:00
d8dade3fb3 Fix platform-specific makefile 2019-04-22 08:39:46 -05:00
d78e7743ce Fix warnings 2019-04-21 14:19:52 -05:00
16c8742bef Work on adding partition support 2019-04-18 08:50:49 -05:00
3fa4438289 Start work on ext2 file writing 2019-04-13 11:17:46 -05:00
97f18478ed Fix fwrite 2019-04-09 18:12:54 -05:00
1c832e8f7a Add r+ mode to VFS 2019-04-09 18:10:43 -05:00
f4b82ec850 Added fwrite 2019-04-09 09:16:37 -05:00
680defd654 VFS functions now check mode 2019-04-09 09:05:47 -05:00
ad3c8288b6 Add read bool and write bool to file structure 2019-04-09 09:01:06 -05:00
4a36e8e9ad Fix error handling of vfs functions 2019-04-08 16:34:07 -05:00
a938ed448e Added feof and ferror 2019-04-08 16:33:49 -05:00
9c0ccfd255 Added error indicator in stream 2019-04-08 16:33:19 -05:00
edded2e3a1 Added errno 2019-04-08 15:58:30 -05:00
0f406b1f01 Got ext2 directory support working 2019-04-08 11:24:03 -05:00
4b3384e45d Work on ext2 directory support 2019-04-07 15:14:46 -05:00
20ae5d1a31 Add IDE driver and r/o ext2 fs driver 2019-04-06 09:07:06 -05:00
ed591187a1 Files now do not reference libc paths directly 2019-03-30 10:39:26 -05:00
bfc3964804 Memory allocation is now a syscall 2019-03-17 12:22:00 -05:00
d9252649d8 Physical memory manager now initialized in cpu_init 2019-03-17 12:21:23 -05:00
99d7fed783 Work and cleanup 2019-03-11 09:32:55 -05:00
7131f4ae5a Lots of work 2019-02-25 15:42:23 -06:00
d54a55aad0 Get sycalls working in usermode (And all interrupts) 2019-02-11 13:43:40 -06:00
b3e086e452 Add createTask syscall (Not working in umode) 2019-02-11 09:48:50 -06:00
4f25ff7a09 Add yield syscall (Not working in umode) 2019-02-11 09:47:28 -06:00
fdd7afa1c8 Add tasking (No usermode support) 2019-02-11 09:30:28 -06:00
cb16df6240 Usermode can now use ports! (IOPB test) 2019-02-10 18:09:07 -06:00
03109a25ca Add newline to UMODE! message 2019-02-10 15:05:03 -06:00
a12c1281ff Usermode interupts working! 2019-02-10 15:03:59 -06:00
ee9839beaa Get GDT,IDT and usermode working! 2019-02-10 14:11:07 -06:00
60c56c064d Start work on VGA driver 2019-02-09 14:35:29 -06:00
65b629e74a Read framebuffer info from GRUB 2019-02-09 14:33:29 -06:00
1a36bf1fe2 Add multiboot header file 2019-02-09 13:56:22 -06:00
ef90f51688 Remove most code for a blank start 2019-02-09 12:52:45 -06:00