98e41f4c43
fix task_init not enabling interupts again
2019-05-23 09:56:57 -05:00
84db4cea1f
Fix tasking
2019-05-23 09:51:38 -05:00
f513ee93a2
Fix task_init
...
I confused what was in ecx with what was in ebx. Swapping them fixed it
2019-05-23 09:44:07 -05:00
204fec4407
Remove all drivers and fs code from kernel
2019-05-22 14:18:29 -05:00
9f79bf1aae
Proper permissions for kernel-space code and data!
2019-05-22 14:16:35 -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
7f79f1367e
Remove kernel mode tasks
2019-05-07 14:15:52 -05:00
a1008b0327
Remove sti in interrupt code
2019-05-07 13:44:53 -05:00
68b6a77a65
Fix warnings
2019-05-06 08:38:02 -05:00
2497befcea
Make copy_data a syscall
2019-05-06 08:35:59 -05:00
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