1
0
mirror of https://github.com/sgmarz/osblog.git synced 2024-11-28 04:13:31 +04:00
Commit Graph

296 Commits

Author SHA1 Message Date
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
Stephen Marz
d49ea6e040 Changed formatting settings. 2020-04-26 22:12:00 -04:00
Stephen Marz
532b246f7b Added locking to the scheduler. Since this is invoked so often, it causes a race with the test_elf process. 2020-04-26 21:08:29 -04:00
Stephen Marz
ef0997be74 Add documentation for Mutex 2020-04-26 20:28:20 -04:00
Stephen Marz
a1f9d2c6cd Add Mutex to process list. 2020-04-26 20:11:01 -04:00
Stephen Marz
03018cb55f Removed warnings 2020-04-26 15:55:22 -04:00
Stephen Marz
7dfe0b8182 Run cargo fix 2020-04-26 15:53:26 -04:00
Stephen Marz
3d43bbd93c asm is deprecated in Rust as my compiler warned me. So, let's switch to llvm_asm 2020-04-26 15:52:08 -04:00
Stephen Marz
591f0fdff8 Get rid of useless header. 2020-04-26 14:58:28 -04:00
Stephen Marz
29100f10ae Updated comments 2020-04-26 14:05:50 -04:00
Stephen Marz
af29a0d267 Removed make_hdd.sh, it stores random bytes, now we have a filesystem 2020-04-26 13:55:08 -04:00
Stephen Marz
d62d3f3816 Added more rigorous test, fixed bug in ELF loader 2020-04-26 09:26:41 -04:00
Stephen Marz
bc6ef9d689 Fixed ELF loader and added offset. 2020-04-26 09:19:07 -04:00
Stephen Marz
8f61253aea Removed old code and added comments. 2020-04-26 08:51:25 -04:00
Stephen Marz
cc3b78973c Rearranged code, added comments. 2020-04-26 08:43:03 -04:00
Stephen Marz
42c14bf930 Check and use permission bits in ELF for user pages. 2020-04-26 08:40:43 -04:00
Stephen Marz
fa1a728bd9 Changed to run test_elf for ELF files 2020-04-26 08:34:00 -04:00