Commit Graph

48 Commits

Author SHA1 Message Date
20ae5d1a31 Add IDE driver and r/o ext2 fs driver 2019-04-06 09:07:06 -05:00
d5c21bd0ae Libc headers are now in a sysroot 2019-03-31 13:10:40 -05:00
32bd671225 Add libc library 2019-03-30 11:44:01 -05:00
ed591187a1 Files now do not reference libc paths directly 2019-03-30 10:39:26 -05:00
a1267bd5b3 tasking_yield enables interrupts when switching to user mode 2019-03-26 17:52:08 -05:00
pjht
aa2c33b8f3
Merge pull request #20 from pjht/seperate-addresses
Tasks now have seperate address spaces
2019-03-24 16:16:51 -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
0f4cd96cbf Re add program build into makefile 2019-03-17 18:04:50 -05:00
334c6a6439 Fix syscall memory allocation bug 2019-03-17 18:04:06 -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
f1334567e1 Add cursor to VGA driver 2019-02-11 09:28:25 -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
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
00b1770afa Fix xy_to_indx in VGA driver 2019-02-10 14:13:41 -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
cec08e8609 VGA can now write strings 2019-02-09 17:55:06 -06:00
d2f3b982be xy_to_mem should be called xy_to_indx 2019-02-09 17:22:51 -06:00
0418a497c7 Colors are now initialized in vga_init 2019-02-09 17:15:38 -06:00
b1506d95ed VGA driver now clears on initialization 2019-02-09 14:35:45 -06:00
60c56c064d Start work on VGA driver 2019-02-09 14:35:29 -06:00
9b707eb3f7 screen.h is now vga.h 2019-02-09 14:33:45 -06:00
65b629e74a Read framebuffer info from GRUB 2019-02-09 14:33:29 -06:00
fe8ab7fb70 Initalize paging in cpu_init 2019-02-09 14:11:19 -06:00
1a36bf1fe2 Add multiboot header file 2019-02-09 13:56:22 -06:00
f20f654263 Add libc to header search path 2019-02-09 13:54:53 -06:00
0e3e4d4769 Add GDT initialization 2019-02-09 13:54:40 -06:00
a1ac07c79e Rename init_paging to paging_init 2019-02-09 13:05:13 -06:00
ef90f51688 Remove most code for a blank start 2019-02-09 12:52:45 -06:00