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
Xi Wang
cd00a8233a
port virtio_disk to virtio spec 1.0+
...
The legacy interface is confusing. It's better to make virtio_disk
conform to the virtio spec. This is supported in QEMU since 4.2 by
disabling force-legacy for virtio-mmio.
2021-10-17 23:05:09 -07:00
Frans Kaashoek
8ca56e9e0b
memmove(dst, src, 0) leads to overflow in while(n-- > 0)
as n
is uint64 (thanks
...
Matúš Jókay <matus.jokay@stuba.sk>)
2021-09-01 07:29:12 -04:00
yzhu
a103113db0
fix ld warning: undefined symbol _entry
2021-08-31 20:58:58 -04:00
Pavan Maddamsetti
e07ca66145
comment
2021-08-31 14:27:33 -04:00
l0stman
19ff379661
exec() only accepts MAXARG arguments
...
The terminating NULL string is already included (see sys_exec()).
2021-08-31 14:26:43 -04:00
l0stman
9195142959
Assert that the size in mappages() is always positive
...
If va % PGSIZE == 0 and size == 0, we have last < a at the start of
the loop so we might never terminate. That being said, this
particular case couldn't be triggered for now.
2021-08-31 14:20:32 -04:00
kimjungwow
f55def8a64
Change inode cache
in main.c to inode table
2021-08-31 14:17:39 -04:00
amane-uehara
dd6d5d0a41
I fixed a typo in the comment.
2021-08-31 14:16:59 -04:00
OptimisticSide
1226b09dc4
Remove setproc prototype
2021-08-31 14:14:38 -04:00
Vadim Kolontsov
f524198792
fix comment for 'sepc'
2021-08-31 14:12:36 -04:00
FIXED-TERM Chen Ian (BT-CO/QMM5)
8d4ff0bc1e
fix typos in user/usertest.c & kernel/log.c
2021-08-31 14:10:14 -04:00
Jonathan Behrens
9655f71758
Configure PMP at boot
2021-08-30 16:27:52 -04:00
Robert Morris
6de0381d61
check for alignment just once
2021-08-10 07:12:41 -04:00
Frans Kaashoek
077323a8f0
Rename icache to itable
...
The inode cache isn't really a cache. The main purpose of it is to
allow for synchronization (locking individual inodes), providing
long-lived references to inodes, and ensuring that there is only inode
in memory.
2020-11-23 19:30:15 -05:00