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

312 Commits

Author SHA1 Message Date
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
Stephen Marz
f781c511f4 Let Rust figure out the data type String 2020-05-15 11:12:07 -04:00
Stephen Marz
9d6ee9fb35 Added comments and shrunk string 2020-05-15 11:11:20 -04:00
Stephen Marz
69c7e6c390 Reformatted 2020-05-15 11:00:51 -04:00
Stephen Marz
e1b2150f1b Reduce stack size to 5 pages 2020-05-15 10:54:02 -04:00
Stephen Marz
f8fad1804f Updated file string to avoid creating strings twice in test. 2020-05-15 10:40:37 -04:00
Stephen Marz
5b5e5d9e2b Fix warnings 2020-05-15 10:37:40 -04:00
Stephen Marz
6367e064cf Reworked file system, still much to do, however, now we can get a file by its name instead of inode number. 2020-05-15 10:34:37 -04:00
Stephen Marz
ea33bfe629 Added starting point for GPU code. 2020-05-15 10:34:22 -04:00
Stephen Marz
723963e1ec Resolved 2020-05-01 19:11:42 -04:00
Stephen Marz
21f16b4754 Resolved 2020-05-01 19:10:56 -04:00
Stephen Marz
6cd64c84bf Do not spin lock in an interrupt context, and also add feedback to the caller. 2020-05-01 19:02:58 -04:00
Stephen Marz
fe5a909335 Create a system call to add a process to prevent data race with the process list. 2020-05-01 18:59:38 -04:00
Stephen Marz
30fcd7894a Change lock to try_lock to better align with Rust's verbiage 2020-04-27 09:46:59 -04:00