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

273 Commits

Author SHA1 Message Date
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
Stephen Marz
fd9c9449b0 Allow sleeping processes that are awoken to immediately execute. 2020-04-25 23:26:14 -04:00
Stephen Marz
60edb9f72a Remove the dumb done flag. 2020-04-25 23:24:55 -04:00
Stephen Marz
58b73e2208 Added tons of comments. 2020-04-25 22:25:32 -04:00
Stephen Marz
b8029e76ac Make helloworld.cpp print a pointer so we can see how we directly affect
the stack.
2020-04-25 21:44:11 -04:00
Stephen Marz
f771883cb0 Added satp_fence. Probably don't need this since we don't reuse pids. 2020-04-25 21:44:05 -04:00
Stephen Marz
eab4a20a61 Added calculations to helloworld 2020-04-25 21:35:32 -04:00
Stephen Marz
0c649f5370 Change wording of helloworld.cpp so it's recognizable when printed to the screen. 2020-04-25 21:24:21 -04:00
Stephen Marz
1627cc7733 Read and start a process...Added userspace library...will switch this to newlib later. 2020-04-25 21:23:00 -04:00
Stephen Marz
cbff6afeca Added comments. 2020-04-25 19:51:27 -04:00