Commit graph

1528 commits

Author SHA1 Message Date
Frans Kaashoek
c0d9f31eec Thanks Lucas Wolf 2024-07-26 19:47:40 -04:00
Frans Kaashoek
6cc3d4f7de Thanks phosphagos@github 2024-07-26 19:43:03 -04:00
Frans Kaashoek
a60bf178c6 Thanks segfault@github 2024-07-26 19:40:01 -04:00
Frans Kaashoek
271427920b Thanks Marcelo Arroyo 2024-07-26 19:35:03 -04:00
Frans Kaashoek
969f03dd8e Thanks snoire@github 2024-07-26 19:22:29 -04:00
Alissa Tung
e0c3ad4d47 Fix ref file name in user.h 2024-07-26 19:14:17 -04:00
RayAndrew
93c70ce0f9 Remove all files created during testing
Remove the following files to restore the state of the filesystem,
so subsequent tests don't fail unexpectedly by creating same filename.

q0             2 21 0
q?             2 22 0
q;             2 23 0
qC             2 24 0
q=             2 25 0
qA             2 26 0
q:             2 27 0
q<             2 28 0
q>             2 29 0
q@             2 30 0
qB             2 31 0
r0             2 32 0
r?             2 33 0
r;             2 34 0
rC             2 35 0
r=             2 36 0
rA             2 37 0
r:             2 38 0
r<             2 39 0
r>             2 40 0
r@             2 41 0
rB             2 42 0
s0             2 43 0
s?             2 44 0
s;             2 45 0
sC             2 46 0
s=             2 47 0
sA             2 48 0
s:             2 49 0
s<             2 50 0
s>             2 51 0
p?             2 52 0
p;             2 53 0
pC             2 54 0
p=             2 55 0
pA             2 56 0
p:             2 57 0
p<             2 58 0
p>             2 59 0
p@             2 60 0
pB             2 61 0
s@             2 62 0
sB             2 63 0
2024-07-26 19:11:05 -04:00
RayAndrew
7687b389c2 Report an error when n is not equal to MAXFILE
The variable `n` represents the number of blocks that have been read.
2024-07-26 19:10:21 -04:00
x653
72cb3849eb Update uart.c
added read of register ISR to clear interrupt source of UART16550.
2024-07-26 19:04:07 -04:00
Wenyang Duan
343d1ab482 Put parentheses around macro argument.
It might be too paranoid but makes it safe to deal with operators
with lower priorities than '+', '<<' for example.
2024-07-26 19:02:01 -04:00
Robert Morris
92e60dd833 switch from machine-mode to supervisor timer interrupts.
this requires qemu version >= 7.2.
2024-07-10 07:29:26 -04:00
Robert Morris
5a1a4d45a4 slightly more thorough testing that one can't write invalid addresses 2024-01-01 16:10:02 -05:00
Robert Morris
fe940f4d63 fix user.ld to get read-only text with riscv64-linux-gnu-ld 2.41 2024-01-01 13:10:35 -05:00
Robert Morris
dd2574bc10 tell gcc to check printf format strings
add %ld %lld %u %lu %llu %lx %llx to kernel and user printf
2023-12-31 12:21:46 -05:00
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