Commit graph

239 commits

Author SHA1 Message Date
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
Robert Morris
463ae0abc3 handle negative arguments to sleep() a little better 2022-09-09 09:17:37 -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
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
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
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
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
Robert Morris
c908d20132 put walk() in defs.h so it's clear students can call it 2022-08-10 07:21:50 -04:00
Robert Morris
872fa88e8a tolerate running out of disk blocks 2022-08-10 06:13:52 -04:00
Robert Morris
7d573bae2a Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv 2022-08-10 06:00:57 -04:00
Robert Morris
f4b3edf5ab comment nits 2022-08-10 06:00:40 -04:00
WaheedHafez
9f3673c4da fix 'kfree' comment in kalloc.c
'kfree' has a parameter named 'pa' but referenced in the comment as 'v'.
2022-08-09 20:29:38 -04:00
Ravjot Singh Samra
a2e4051b99 Added missing va_end(). 2022-08-09 20:20:32 -04:00
Robert Morris
7d8bfdcbe3 nothing much 2022-08-09 15:11:25 -04:00
Robert Morris
27a669ef25 comment nits 2022-08-09 14:17:46 -04:00
Robert Morris
af9abaca05 Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv 2022-08-09 13:41:51 -04:00
Robert Morris
3abd7a16dd comment 2022-08-09 13:41:45 -04:00
Robert Morris
cf0c095721 sscratch cleanup 2022-08-09 12:14:29 -04:00
Robert Morris
9fc9f755e1 adopt github PR98 (No need to store TRAPFRAME in sscratch register) 2022-08-09 11:44:02 -04:00
Robert Morris
ca6fc54934 tweak virtio comments 2022-08-08 11:10:54 -04:00