Robert Morris
2b552503c0
no need to check state == RUNNING in timer interrupt because
...
interrupts are always off (i.e. a lock is held) any time the
current process is not in RUNNING state.
2023-10-14 06:24:14 -04:00
Robert Morris
0c32c04b29
kernelvec only needs to save caller-saved registers
2023-10-14 06:23:09 -04:00
asselism
74c1eba516
Made va and size page aligned in mappages
2022-10-18 00:11:49 -04:00
Robert Morris
0802d56a9b
x
2022-10-17 04:10:01 -04:00
Robert Morris
4a88273db5
oops. scheduler() inherits the interrupt status of the
...
most recent process to run, so it must explicitly
turn them on again. It would be better if cpu->intena
were really thread->intena.
2022-10-17 04:07:24 -04:00
Robert Morris
f376ad7f1f
scheduler()'s intr_on() is in the wrong place, reflecting
...
the locking scheme from long ago.
2022-10-16 15:28:21 -04:00
Robert Morris
348cf7fee4
forkret first memory model
2022-10-12 13:07:55 -04:00
Robert Morris
d2b2dff749
fix copyout() to refuse to write a read-only page
2022-10-04 11:52:57 -04:00
Frans Kaashoek
989e8f2f1f
Remove unused PLIC_M* macros
2022-09-18 16:32:21 -04:00
Frans Kaashoek
4b46c0c6eb
Use O_RDONLY instead of 0
2022-09-11 13:51:11 -04:00
Robert Morris
463ae0abc3
handle negative arguments to sleep() a little better
2022-09-09 09:17:37 -04: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
Frans Kaashoek
899cc02660
Experiment with being more precise setting permissions for user pages.
...
Growing adds R|W pages (without X). Exec() marks the stack only R|W.
Probably could setup permissions for text and data better if we call
ld with --no-omagic instead of -N.
2022-08-12 13:22:10 -04:00
Frans Kaashoek
8f58cc7df9
Cosmetic change (thanks Harry Porter)
2022-08-12 12:59:33 -04:00
Frans Kaashoek
62bc610424
cosmetic changes (thanks Harry Porter)
2022-08-12 11:47:39 -04:00
Frans Kaashoek
dd5a720044
cosmetic changes (thanks Harry Porter)
2022-08-12 10:57:16 -04:00
Frans Kaashoek
8bd04852c9
Delete rtcdate, which is a left-over from an old lab (thanks Harry Porter)
2022-08-12 09:43:18 -04:00
Frans Kaashoek
48d1a7ffa5
Add USED to states (thanks Harry Porter)
2022-08-12 09:14:54 -04:00
Frans Kaashoek
4f716c8550
Use p->lock to read p->killed
2022-08-11 14:22:00 -04:00
Frans Kaashoek
429c7b717e
Use atomic store_n and load_n
2022-08-11 08:42:52 -04:00
Frans Kaashoek
975f3b31d3
Clean up using killed()
2022-08-11 07:23:17 -04:00
Frans Kaashoek
4087a6e7fc
Read and write p->killed using atomics
2022-08-10 20:35:42 -04:00
Frans Kaashoek
b1fd09335a
Merge remote-tracking branch 'g/riscv' into riscv
2022-08-10 10:31:54 -04:00
Robert Morris
e67cb408d4
x
2022-08-10 07:21:50 -04:00