1
0
mirror of https://github.com/sgmarz/osblog.git synced 2024-11-23 18:06:20 +04:00
Commit Graph

341 Commits

Author SHA1 Message Date
Stephen Marz
4535739f00 Fix overflows on available ring. 2020-05-24 13:34:26 -04:00
Stephen Marz
e680196095 Update toolchain to reflect riscv-gnu-toolchain 2020-05-24 12:42:04 -04:00
Stephen Marz
a42328955d Ignore framebuffer binaries 2020-05-24 12:41:37 -04:00
Stephen Marz
ffcd84dc22 Added code for drawing to GPU 2020-05-24 12:41:11 -04:00
Stephen Marz
b29ab98088 Move code into userspace 2020-05-24 12:40:26 -04:00
Stephen Marz
3cf0ef6fba Add userspace system calls for running framebuffer 2020-05-24 12:05:35 -04:00
Stephen Marz
43abdd358f Use a series expansion for cosine 2020-05-24 10:06:15 -04:00
Stephen Marz
56ae6230dd Fixed cosine. It's backwards from how pixels work. 2020-05-23 11:53:48 -04:00
Stephen Marz
c6b4d3c7ca Added cosine function 2020-05-23 11:24:36 -04:00
Stephen Marz
c8dc4ff350 Turn on the FPU for OS math. 2020-05-23 11:24:25 -04:00
Stephen Marz
a0c0134fb5 White background 2020-05-23 09:13:12 -04:00
Stephen Marz
b7880be6ac Disambiguate r from red to rect from Rectangle 2020-05-23 08:52:56 -04:00
Stephen Marz
9ddb77a270 Added width and height fields to Device. 2020-05-23 08:51:58 -04:00
Stephen Marz
af3527b081 Calculate using usize. Didn't do the math, but this seems a safer option. 2020-05-23 08:48:29 -04:00
Stephen Marz
1ee1250b9d Add guest_errors and unimp 2020-05-23 08:46:04 -04:00
Stephen Marz
6852de1e55 Added new for Pixel. Made rectangle copyable 2020-05-23 08:43:14 -04:00
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