Commit Graph

52 Commits

Author SHA1 Message Date
52882f0794 Fix new_address_space and copy_data. 2019-05-06 08:24:30 -05:00
f34d5029df Add createTaskCr3 2019-05-05 13:30:01 -05:00
1efc0bff19 Add new_address_space as a syscall 2019-05-05 13:14:14 -05:00
a2cd8e3330 Add copy_data function 2019-05-05 13:03:14 -05:00
999295ff2d Tasking can now create tasks with user-defined page directories. 2019-05-05 13:01:24 -05:00
630769065d Fix more warnings 2019-05-05 07:31:13 -05:00
9952f5f382 Send_msg should now work across address spaces 2019-05-04 10:59:23 -05:00
35bba425ac Send_msg now reqires size 2019-05-04 10:58:52 -05:00
c679ae1bde Add find_free_pages function 2019-05-04 10:52:38 -05:00
6036151e0d Fix virt_to_phys 2019-05-04 10:49:27 -05:00
355fd3d6ed Add virt_to_phys in paging.h 2019-05-04 10:42:17 -05:00
24ca0aa079 Fix sycalls for messages 2019-05-04 10:40:00 -05:00
339a4e3357 Messages now use syscalls 2019-05-03 09:33:26 -05:00
2675fd2d31 IPC now does not require shared address space 2019-05-03 08:42:12 -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
8225e9d0cc Move linker scrript to cpu directory 2019-04-22 13:17:06 -05:00
c8bd8918cd Change pointer casts to uint32_t to char* 2019-04-22 08:48:13 -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
e3fd4fd5e1 Fix warnings 2019-04-13 09:23:40 -05:00
edded2e3a1 Added errno 2019-04-08 15:58:30 -05:00
d5c21bd0ae Libc headers are now in a sysroot 2019-03-31 13:10:40 -05:00
a1267bd5b3 tasking_yield enables interrupts when switching to user mode 2019-03-26 17:52:08 -05:00
0c50e1eb8c Fixed interrupts using wrong stack
Tasks were running in kernel mode, so the tss stack was not being used.
Unfortunatley, I had to set kmalloc to user r/w so switchTask can save 
and load registers.
2019-03-24 14:25:32 -05:00
5618dd6834 Fixed reboot problem
STACK GROWS DOWN, NOT UP!
2019-03-24 13:42:00 -05:00
e1579b5f2a Yield now loads the address space 2019-03-23 11:14:59 -05:00
2b65782369 Tasks now have separate address spaces
When switchTask loads the stack, the next push intruction fails, but the 
stack can be manually accessed fine.
2019-03-23 10:35:11 -05:00
9caf48cb6d Kmalloc is now used to allocate task structures 2019-03-23 07:30:18 -05:00
5bca438d98 Add kmalloc 2019-03-23 07:30:00 -05:00
c1bbcaddee Virtual memory manager no longer returns NULL 2019-03-17 17:47:33 -05:00
afcd0b6580 Virtual memory manager can now create and load address spaces 2019-03-17 12:37:37 -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
7d2a8b0894 IPC now uses void pointers 2019-03-15 18:53:50 -05:00
f2ebc5e31e More work 2019-03-12 17:26:19 -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
9c5e5e91d0 Clear interrupt stack in yield sycall 2019-02-11 14:13:49 -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
205950e974 Add page fault debug messages 2019-02-10 15:04:54 -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
0534ba86e6 Add usermode GDT entries 2019-02-10 13:19:04 -06:00
fe8ab7fb70 Initalize paging in cpu_init 2019-02-09 14:11:19 -06:00
0e3e4d4769 Add GDT initialization 2019-02-09 13:54:40 -06:00