1
0
mirror of https://github.com/sgmarz/osblog.git synced 2024-11-24 02:16:19 +04:00
Commit Graph

325 Commits

Author SHA1 Message Date
Stephen Marz
bfd3ee66f4 Added rectangle drawer for testing. 2020-05-23 08:37:46 -04:00
Stephen Marz
907372dd48 GPU is initializing with Vol Orange 2020-05-23 08:24:50 -04:00
Stephen Marz
36207992a0 Added configuration and init. 2020-05-23 07:36:38 -04:00
Stephen Marz
5bc745931b Add GPU init 2020-05-23 06:23:32 -04:00
Stephen Marz
37cc8b7fae Add kmem for framebuffer allocation 2020-05-23 06:23:21 -04:00
Stephen Marz
b9111aa88a Added GPU to virtio, added interrupt handler, and removed nographic switch to QEMU 2020-05-22 22:34:03 -04:00
Stephen Marz
5cac50aa74 Add feature bits 2020-05-22 22:22:51 -04:00
Stephen Marz
a95afaff71 made constants public 2020-05-22 22:10:23 -04:00
Stephen Marz
9028044ced Added structures for GPU 2020-05-22 22:00:33 -04:00
Stephen Marz
b5b6556a6c Added handler for 7 Store access fault. 2020-05-22 22:00:16 -04:00
Stephen Marz
af8066cf84 Added comments and made the formula for program pages clearer. 2020-05-22 21:59:55 -04:00
Stephen Marz
5b89cd891a See if our new floating point works 2020-05-22 16:29:44 -04:00
Stephen Marz
b78c7aef42 Remove inode.size as a parameter to load_proc. 2020-05-22 16:29:22 -04:00
Stephen Marz
d8ca63b780 Get size of program in memory from ELF not from inode. 2020-05-22 16:28:38 -04:00
Stephen Marz
48c1165a0d Added intrinsics for Assembly blog post 2020-05-21 09:46:43 -04:00
Stephen Marz
3653160781 Remove NUM_INDIRECT_POINTERS and replace with global constant. 2020-05-21 09:45:14 -04:00
Stephen Marz
0b83a3629a Get set up to support file descriptors in user space. 2020-05-19 09:27:57 -04:00
Stephen Marz
7db18179a6 Remove unnecessary code. 2020-05-18 12:22:04 -04:00
Stephen Marz
55ccc812e6 Add comments. 2020-05-18 09:11:41 -04:00
Stephen Marz
c1c8f2876b Remove talloc and tfree, instead we will use Rusts built-in Box 2020-05-18 09:07:12 -04:00
Stephen Marz
b1ae1e3a4f Added comments to syscall.rs 2020-05-18 09:00:34 -04:00
Stephen Marz
c0c26a3ce5 Use Box instead of kmalloc 2020-05-17 17:49:10 -04:00
Stephen Marz
e811451879 Clean up context switch code. 2020-05-17 17:30:10 -04:00
Stephen Marz
ba661749fc Don't let scheduler grab a lock. If it can't get the lock, then go back to the process that caused this. 2020-05-17 15:26:20 -04:00
Stephen Marz
f5c94e377b Protect the process list using mutex. 2020-05-17 15:20:30 -04:00
Stephen Marz
43e18b498d Don't grab the table unless we really need it. 2020-05-17 15:13:53 -04:00
Stephen Marz
fe023e026e Add testing printout. 2020-05-17 15:08:01 -04:00
Stephen Marz
9326255507 Get rid of unnecessary cast. 2020-05-17 15:07:03 -04:00
Stephen Marz
d6843c1b20 Create an exec system call and move loading an ELF file into that. 2020-05-17 15:06:30 -04:00
Stephen Marz
c68a0db582 We will need an exec type system call. The majority of the test code will need to work in there. 2020-05-16 12:17:58 -04:00
Stephen Marz
e3e8ba8ae6 Missed a register in the trap frame 2020-05-16 10:58:13 -04:00
Stephen Marz
c2ef6130fb Use a map for environment variables in a process. 2020-05-16 10:43:21 -04:00
Stephen Marz
2d74b6e6fa Formatting 2020-05-16 10:41:38 -04:00
Stephen Marz
23bca871a6 Change Buffer to accept usize and implement Clone 2020-05-15 19:36:24 -04:00
Stephen Marz
ff064acb3b Replace after take for open 2020-05-15 14:43:44 -04:00
Stephen Marz
720d084364 During a trap, only save the FPU if the process changed them. 2020-05-15 13:11:19 -04:00
Stephen Marz
3793ad1e87 Added kernel support for floating point registers. 2020-05-15 13:01:57 -04:00
Stephen Marz
c649947707 Added Registers to CPU so we don't have to hardcode the register number. This makes it easier to read and figure out what's happening 2020-05-15 12:48:05 -04:00
Stephen Marz
adcc06d07a Update syntax. 2020-05-15 12:38:48 -04:00
Stephen Marz
8a0c87a103 use &str instead of String for paths. 2020-05-15 12:36:49 -04:00
Stephen Marz
c435371969 Updates 2020-05-15 12:35:29 -04:00
Stephen Marz
9de528877c Updates 2020-05-15 12:35:18 -04:00
Stephen Marz
26947251be Add warnings 2020-05-15 12:32:39 -04:00
Stephen Marz
3dd49c615e Use global cache. fs::init will now check to see if the global cache is good or not. If it is already good, do nothing, otherwise cache the inodes. 2020-05-15 12:29:59 -04:00
Stephen Marz
8e414c62be Use Result instead of Option with LoadErrors 2020-05-15 12:11:28 -04:00
Stephen Marz
4a9aa3f658 Add comments 2020-05-15 12:05:18 -04:00
Stephen Marz
33f701e7ca Formatted elf.rs 2020-05-15 12:03:24 -04:00
Stephen Marz
1de325b325 Add load_proc to load an ELF and give a process. 2020-05-15 12:01:03 -04:00
Stephen Marz
c74316adb5 Added ELF loader in elf.rs 2020-05-15 11:46:51 -04:00
Stephen Marz
bb4f3bc0a6 Move BlockBuffer to buffer.rs and renamed to Buffer. 2020-05-15 11:46:42 -04:00