1576 Commits

Author SHA1 Message Date
585da48917
Move sleep_lock and sleep_mutex functionality as methods of Spinlock and SpinMutex 2023-10-29 14:45:47 -06:00
9f23b68c00
Refactor sleeplock to remove raw pointers 2023-10-29 14:12:17 -06:00
36d7724fb8
Rewrite spinlock to remove raw pointers 2023-10-29 13:57:23 -06:00
41b7bc7555
Add guards for log operations and inode locking 2023-10-28 22:31:29 -06:00
9b7eb552d0
Rewrite file.c into fs::file 2023-10-28 22:16:35 -06:00
dd9cf556cb
Rewrite vm.c in mem::virtual_memory. 2023-10-28 20:28:37 -06:00
a1f88ff034
Move push_off()/pop_off() into trap.rs and rename to push_intr_off() and pop_intr_off() 2023-10-28 16:17:14 -06:00
c593250549
upgrade panic info 2023-10-22 15:21:07 -06:00
2d51463c56
restructure makefile into multiple files 2023-10-22 13:44:37 -06:00
16924f75fd
Add shutdown syscall and program 2023-10-22 11:18:07 -06:00
9f10ec36b3
move things around 2023-10-21 23:24:33 -06:00
d06d271c9e
rename sleep to sleep_lock 2023-10-21 22:44:06 -06:00
38e44e020b
implement guards for spinlock and sleeplock 2023-10-21 22:13:46 -06:00
f468ba9e48
restructure sleeplock.rs 2023-10-21 21:56:23 -06:00
548be7daea
rename spinlock.lock() to spinlock.lock_unguarded() 2023-10-21 21:42:02 -06:00
de4815dd5e
rewrite virtio_disk.h 2023-10-21 21:32:37 -06:00
572545cb8f
rewrite trap.c 2023-10-20 17:45:34 -06:00
96cfda564c
make a spinmutex (and other things) 2023-10-20 16:29:26 -06:00
29878e42e6
changes 2023-10-16 17:28:59 -06:00
9c3dc94bd7
Implement all asm instructions in riscv.h 2023-10-15 13:16:35 -06:00
709ec3a50f
Rewrite spinlock.c 2023-10-15 12:51:16 -06:00
b30ea849d1
Move Rust into Cargo project 2023-10-14 16:49:24 -06:00
79ecd97c76
Restructure and include basic Rust 2023-10-14 16:21:21 -06:00
Frans Kaashoek
f5b93ef12f Update acks
61810
2022-08-25 14:20:52 -04:00
Frans Kaashoek
3d6ce9b308 Separate tests in slow and quick. The slow tests run xv6 out of
memory, out of disk space, or test big directories.

Support -q option to run only the quick tests, which saves about
7mins.

Clean up driver by removing duplicated code.
2022-08-25 09:45:35 -04:00
Robert Morris
ed101befee comment the sfences 2022-08-24 13:47:47 -04:00
Robert Morris
581bc4cbd1 sfence before enabling paging 2022-08-24 13:42:59 -04:00
Robert Morris
29ce3161f8 Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv 2022-08-24 13:24:37 -04:00
Robert Morris
9c1b8a4eb0 sfence before writing satp, as well as after 2022-08-24 13:24:24 -04:00
Frans Kaashoek
cc486ddee0 Help students read this C syntax 2022-08-24 08:57:56 -04:00
Robert Morris
96047832c6 Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv 2022-08-23 12:26:39 -04:00
Robert Morris
7c1810e1ae tolerate running out of inodes 2022-08-23 12:26:26 -04:00
Frans Kaashoek
ac8c0bb177 x 2022-08-23 11:56:29 -04:00
Frans Kaashoek
948cfbdb1f Rename test to textwrite 2022-08-23 11:21:26 -04:00
Frans Kaashoek
858fc68bdf Linker script makes binaries bigger; use larger disk so that usertests
can run.

Must assumed_free in badwrite() be adjusted?
2022-08-23 11:19:33 -04:00
Frans Kaashoek
ccb7bd14c7 Merge branch 'riscv' into uvm-perm 2022-08-23 11:01:06 -04:00
Frans Kaashoek
4cd4d194b8 Use simple linker script to force data segment to be page aligned 2022-08-23 10:54:40 -04:00
Robert Morris
8621be8f3d tolerate out of disk when creating . and .. in mkdir() 2022-08-23 08:52:15 -04:00
Robert Morris
dc405cdb7b don't panic if out of disk space when extending a directory. 2022-08-23 08:23:12 -04:00
Frans Kaashoek
cd6207a972 Merge branch 'riscv-killed' into riscv 2022-08-23 07:31:08 -04:00
Frans Kaashoek
bc48c2be47 Add ref to this nice page about Chapter 9's regexp matcher 2022-08-22 20:44:02 -04:00
Frans Kaashoek
2f0b4d698b Use pp instead of np to be more consistent 2022-08-22 19:58:33 -04:00
Frans Kaashoek
2a391ebc8b Make argint() and argaddr() of type void (thanks Harry Porter) 2022-08-22 19:53:09 -04:00
Frans Kaashoek
7086197c27 Simplify uartputc slightly (thanks Harry Porter) 2022-08-22 19:36:11 -04:00
Robert Morris
63ef3b8c9f slightly better comments 2022-08-22 13:49:15 -04:00
Frans Kaashoek
f2ee8690ad x 2022-08-17 20:38:11 -04:00
Frans Kaashoek
1d4c437ea1 Use uint64 (thanks carlclone and Harry Porter) 2022-08-17 20:37:22 -04:00
Frans Kaashoek
cef1b57d4a Compile user binary to map text without W and data without X
Use the flags in elf header to set vm permissions
Modify pgbug() so that usertests text segment is without W
Add test to check app cannot write text segment
2022-08-15 19:02:19 -04:00
Frans Kaashoek
2175c6b0b6 Run tests in the order in which they appear in the file 2022-08-15 19:01:34 -04:00
Frans Kaashoek
7a6d57235c Costmestic change (thanks Harry Porter) 2022-08-12 14:59:30 -04:00