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

191 Commits

Author SHA1 Message Date
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
Stephen Marz
08c5ddafc2 Updated comments and removed debugging code 2020-03-10 13:50:08 -04:00
Stephen Marz
2bcf1bb000 Change cycle time 2020-03-10 13:01:32 -04:00
Stephen Marz
b27784ed52 Separate sched and switch_to_user 2020-03-10 12:59:36 -04:00
Stephen Marz
cb54d823d2 Fire off the first CTX switch timer! 2020-03-10 12:46:52 -04:00
Stephen Marz
429b056921 Updates to system call. Change stack pointer for MMU 2020-03-10 12:44:08 -04:00
Stephen Marz
88c672171e Fixed trap. Forgot to reset mtvec in switch_to_user 2020-03-10 12:41:16 -04:00
Stephen Marz
f2f5c855cf M 2020-03-10 11:21:15 -04:00
Stephen Marz
57145beefd Fixed trap handler, load kernel stack from trap, fixed init, map a larger swath of memory for init. 2020-03-10 11:20:00 -04:00
Stephen Marz
e6ccf15bda Added .gitignore to make this doable 2020-03-09 17:51:32 -04:00
Stephen Marz
ee92f8e123 Ugh. Remove target 2020-03-09 17:51:10 -04:00
Stephen Marz
b139313874 Added chapter 8 2020-02-22 08:53:59 -05:00
Alex Chi
2474df886c
Add data flush in uart put function 2020-02-03 10:33:00 +08:00
Stephen Marz
4ffb6e3e3b Added syscall and shell scheduler 2020-01-18 20:22:47 -05:00
Stephen Marz
e8e379e557 Updates to ch6 -- post ready. 2019-12-08 14:30:41 -05:00
Stephen Marz
eb0c943a71 Updates to process. 2019-12-07 22:04:13 -05:00
Stephen Marz
c1e247cad5 Move lots of code to support user processes. 2019-12-07 13:59:39 -05:00
Stephen Marz
f8c2faa3ae Updates to process code. 2019-12-05 19:52:02 -05:00
Stephen Marz
fa82110eac Added adjustment constants. 2019-11-28 12:27:13 -05:00
Stephen Marz
ba678d2252 Fixed HEAP map bug. 2019-11-28 12:22:42 -05:00
Stephen Marz
b723763292 Free root table. 2019-11-28 12:05:24 -05:00
Stephen Marz
b61b3ebbf5 Use zalloc to clear page tables. 2019-11-28 12:04:21 -05:00
Stephen Marz
c99bff8944 Use zalloc to clear page tables. 2019-11-28 12:02:37 -05:00
Stephen Marz
c5179e60d6 Added virtual memory allocation. 2019-11-28 12:01:52 -05:00
Stephen Marz
26e37d33d3 Added comments to process 2019-11-27 23:42:50 -05:00
Stephen Marz
d0c3c9ff6e Add Process structure and routines. 2019-11-27 17:02:07 -05:00
Stephen Marz
4ec1301e8f Added chapter 6 2019-11-27 12:59:29 -05:00
Stephen Marz
b9158e5ef7 Added comments for plic. 2019-11-18 19:30:19 -05:00
Stephen Marz
5ca14d6e65 Added comments, moved UART 2019-11-18 19:21:32 -05:00
Stephen Marz
61bb8f3a43 Added comments 2019-11-18 19:19:05 -05:00
Stephen Marz
7faf580765 Added PLIC 2019-11-18 19:14:16 -05:00
Stephen Marz
fb86ff06da Added PLIC 2019-11-18 19:14:08 -05:00
Stephen Marz
03ff50ef30 Added PLIC 2019-11-18 19:13:52 -05:00
Stephen Marz
b3cd92dc41 Added comments 2019-11-10 09:20:40 -05:00
Stephen Marz
e2dfa8661f Remove public constants 2019-11-04 15:35:24 -05:00
Stephen Marz
f7547d5c59 Add comments about pointer arithmetic. 2019-11-04 15:27:56 -05:00
Stephen Marz
783cdcfc3b Remove if statement--let boolean condition stand 2019-11-04 15:26:47 -05:00
Stephen Marz
0c71107da8 Add PLIC functions 2019-11-04 15:25:27 -05:00
Stephen Marz
49d8d6666a Start chapter 5 2019-11-04 13:14:28 -05:00
Stephen Marz
f13948d5c0 Fixed typos, updates. 2019-11-04 13:04:00 -05:00
Stephen Marz
6cbf12ada9 Updates to pages 2019-11-03 21:26:39 -05:00
Stephen Marz
6cc5cba4b8 Added return_pc as mutable 2019-11-03 21:23:30 -05:00
Stephen Marz
07dffe1823 added ecall printf 2019-11-03 21:21:43 -05:00
Stephen Marz
175c4fc7eb Added timer reset in async 7 2019-11-03 21:17:29 -05:00
Stephen Marz
4211090d17 Fixed typos 2019-11-03 19:08:35 -05:00
Stephen Marz
a76745278e Fixed unit type 2019-11-03 19:07:42 -05:00
Stephen Marz
ac5e41ceb4 Update comments 2019-11-03 19:06:38 -05:00
Stephen Marz
79a6500c0b Rename stat to status 2019-11-03 19:03:10 -05:00
Stephen Marz
5a8523099a Added epc to trap 3 and 11 2019-11-03 19:00:46 -05:00
Stephen Marz
efaecf96d6 Fixed typo 2019-11-03 19:00:24 -05:00
Stephen Marz
ee5094d821 Added shell traps 2019-11-03 19:00:14 -05:00
Stephen Marz
ccad138c03 Changed trap to machine-only 2019-11-03 18:56:43 -05:00
Stephen Marz
d8b0313842 Remove s_trap in ASM 2019-11-03 18:41:21 -05:00
Stephen Marz
bb64443076 Remove s_trap 2019-11-03 18:41:07 -05:00
Stephen Marz
aaad7c1cec Added comments and updates to traps 2019-11-02 02:44:40 -04:00
Stephen Marz
6f333bd8f0 Ran rustfmt 2019-10-27 16:03:37 -04:00
Stephen Marz
0b2506e8e5 Updates for ch4 2019-10-27 16:03:12 -04:00
Stephen Marz
b95aacadb4 Changed SATP fence functions 2019-10-25 18:39:59 -04:00
Stephen Marz
7e3d97b908 Fixed mapping kernel stack 2019-10-21 13:19:52 -04:00
Stephen Marz
ce0cc7df11 Fixed mapping kernel stack 2019-10-21 13:19:13 -04:00
Stephen Marz
eb2b9a6aca Fixed stack location, mapping 2019-10-14 22:15:03 -04:00
Stephen Marz
fb4f3eea91 Fixed stack location, mapping 2019-10-14 22:12:44 -04:00
Stephen Marz
9baea58551 Added cpu.rs for CPU routines. Changed context-switch code. 2019-10-14 21:23:20 -04:00
Stephen Marz
731e428f66 Added timer reset in trap 2019-10-14 16:22:13 -04:00
Stephen Marz
3c99c5cffa Switched to using mret for trap 2019-10-14 16:14:42 -04:00
Stephen Marz
ccaf9b6a5c Switched to using mret for trap 2019-10-14 16:14:22 -04:00
Stephen Marz
a10926df76 Change C++ to Rust 2019-10-12 21:33:27 -04:00
Stephen Marz
e82192913f Change C++ to Rust 2019-10-12 21:32:57 -04:00
Stephen Marz
1411743210 Added chapter 4 2019-10-12 20:42:55 -04:00
Stephen Marz
a8079377dd Merge branch 'next' 2019-10-12 19:13:42 -04:00
Stephen Marz
03e34ebf96 Added comments, switched KERNEL_TABLE to data section 2019-10-12 19:12:50 -04:00
Stephen Marz
88f5cb514f Map heap descriptors 2019-10-12 00:11:24 -04:00
Stephen Marz
86d1fa858b Update id_map_range 2019-10-11 23:38:35 -04:00
Stephen Marz
8ec9fe3fb8 Update id_map_range 2019-10-11 23:38:23 -04:00
Stephen Marz
11bc25b670 Updates 2019-10-11 23:31:47 -04:00
Stephen Marz
aa4a5b1403 Revert "Format uart.rs"
This reverts commit 72ea82b224.
2019-10-11 23:30:29 -04:00
Stephen Marz
4772efe99d Created a larger pager which autodetects the range for GB, MB, and KB pages 2019-10-11 22:52:35 -04:00
Stephen Marz
72ea82b224 Format uart.rs 2019-10-10 08:46:16 -04:00
Stephen Marz
450a152b24 Add sanity check from kmalloc. Don't zero if it is null 2019-10-10 08:45:39 -04:00
Stephen Marz
a110d17355 Optimized LCR. Reading from MMIO is slower than overwriting 2019-10-10 08:34:31 -04:00
Stephen Marz
ed45e30076 Merge branch 'master' of ssh://github.com/pavehawk2007/osblog 2019-10-10 08:03:08 -04:00
Stephen Marz
4fa3f329a1 Fixed UART overwriting word length bits 2019-10-10 08:03:03 -04:00
Stephen Marz
e89ad79cca Fixed UART overriding bits 2019-10-10 08:01:39 -04:00
Stephen Marz
16d3e4e9fe Added info to page allocation table. 2019-10-09 22:02:58 -04:00
Stephen Marz
d667e9c4d6 Added info to page allocation table. 2019-10-09 21:59:17 -04:00
Stephen Marz
deb5c972c2 Make id_map_range easier to read 2019-10-09 21:36:54 -04:00
Stephen Marz
5928b07621 Added comments, fixed formatting 2019-10-09 21:22:29 -04:00