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
|
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 |
|
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 |
|
Stephen Marz
|
cb06702afa
|
Act more like Rust by adding _mut() for those functions that return mutable references or pointers.
|
2020-04-25 19:36:58 -04:00 |
|
Stephen Marz
|
e5f3eb7f6b
|
Removed mapping the kernel memory into a process' virtual address space.
|
2020-04-25 19:34:20 -04:00 |
|
Stephen Marz
|
84e5126d29
|
Added formatting, made syscall.rs clearer to read.
|
2020-04-25 18:48:23 -04:00 |
|
Stephen Marz
|
056ef5bb2d
|
Added dump_registers as syscall 1--for debugging purposes.
|
2020-04-25 18:25:18 -04:00 |
|
Stephen Marz
|
d86c65a380
|
Added comments and removed llvm_asm -- it looks like I'll have to use this in the future
|
2020-04-25 17:34:06 -04:00 |
|
Stephen Marz
|
018faea21e
|
Check for a 0 zone before adding to blocks seen.
|
2020-04-25 16:47:13 -04:00 |
|
Stephen Marz
|
3eb61ad188
|
Remove redundant variable
|
2020-04-25 16:41:43 -04:00 |
|
Stephen Marz
|
bb4e2d118a
|
Minix reads Direct, Indirect, Doubly-indirect, and Triply-indirect zones
|
2020-04-25 16:39:50 -04:00 |
|
Stephen Marz
|
0de9b23b17
|
Change test and added comments
|
2020-04-25 16:06:29 -04:00 |
|