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

282 Commits

Author SHA1 Message Date
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
Stephen Marz
074dc9547a Now we read ELF files instead of raw binaries 2020-04-26 08:33:49 -04:00
Stephen Marz
de97ebf12d Added ELF structures for reading ELF files. 2020-04-26 08:33:25 -04:00
Stephen Marz
06894d3aff Move BlockBuffer into fs. 2020-04-26 07:12:38 -04:00
Stephen Marz
25009aaa3c Fixed bug in locating the inode. 2020-04-26 07:12:27 -04:00
Stephen Marz
fac882ea73 Clean up scheduler code. 2020-04-25 23:27:00 -04:00