Stephen Marz
016520a354
Support new block list
2020-03-12 20:44:53 -04:00
Stephen Marz
72563c3161
Switch to a static block list. This will make it easier to determine
...
which drive we're talking about. 1 is 0x1000_1000 ... 8 is 0x1000_8000
2020-03-12 20:44:28 -04:00
Stephen Marz
93969a2bf5
Added testing first 10 bytes of the hdd.dsk file
2020-03-12 20:10:36 -04:00
Stephen Marz
58efe7e3ac
Added block request read. Quite dirty, but for now it works
2020-03-12 19:47:58 -04:00
Stephen Marz
552595d901
Fixed to use new scheduler return values
2020-03-12 13:56:21 -04:00
Stephen Marz
7b038cdc24
Right now, we return a pointer by usize. This is not good programming in
...
Rust. Instead, the scheduler needs to be modified to return a process
structure's reference. Then, we can extract the fields and then switch.
However, this will require us to have to change how the PROCESS_LIST
works. Since it uses move constructs, we cannot move a process out of it
when we replace the process list.
2020-03-12 13:55:11 -04:00
Stephen Marz
d9b1743698
Changed scheduler to only return the frame and satp register. The mepc
...
is now stored in the trap frame.
2020-03-12 13:54:39 -04:00
Stephen Marz
c6b261bf20
Added comments and reformatted using rustfmt
2020-03-12 13:36:50 -04:00
Stephen Marz
bc9158bd23
Changed the queue size to only take one page.
2020-03-12 13:36:18 -04:00
Stephen Marz
f5ce75dbe8
Finished setup, rearranged queue creation and testing bits. This makes it so we don't have to free anything if we fail after setting up the queue.
2020-03-12 13:36:08 -04:00
Stephen Marz
a32c6fc995
Updates
2020-03-11 17:09:09 -04:00
Stephen Marz
46a6296dec
Added block specific routines and stub setup routine for block devices
2020-03-10 19:29:29 -04:00
Stephen Marz
39cb72ad9f
Added virtio probing to kinit
2020-03-10 17:17:12 -04:00
Stephen Marz
a29698221d
Added virtio structures and stubs for setting up devices
2020-03-10 17:16:57 -04:00
Stephen Marz
d403ae8b7b
Add hdd.dsk to ignore
2020-03-10 17:16:44 -04:00
Stephen Marz
3ffb53405d
Add many virtio devices
2020-03-10 17:16:13 -04:00
Stephen Marz
795e7945f8
Load block device through make run
2020-03-10 16:51:22 -04:00
Stephen Marz
d44f729957
Split CTX switch time and frequency and also use build_satp for switching to user process
2020-03-10 15:35:21 -04:00
Stephen Marz
f2b1e2018a
Moved PC to trap frame so we don't restart the function
2020-03-10 14:55:26 -04:00
Stephen Marz
2984472493
Added chapter 9
2020-03-10 13:52:09 -04:00
Stephen Marz
d154e86d9e
Added Cargo.lock
2020-03-10 13:51:44 -04:00