Commit graph

1540 commits

Author SHA1 Message Date
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
Frans Kaashoek
84fb6f3dc2 Merge branch 'virtio' into riscv 2022-08-02 11:44:40 -04:00
Frans Kaashoek
1b02b08db1 Mark runcmd with attribute noreturn, since it doesn't return
When compiling with gcc version 12, this change also avoids the
compiler warning "infinite recursion detected" for runcmd()
2022-08-02 09:38:22 -04:00
Frans Kaashoek
84a1bdb5aa Revert "Not treat infinite-recursion as error"
This reverts commit 759bb34113.
2022-08-02 09:37:30 -04:00
Dezhi Wu
759bb34113 Not treat infinite-recursion as error 2022-07-21 19:01:23 -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
a1da53a5a1 update 2021-09-01 07:31:22 -04: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
Frans Kaashoek
bf4816c9c6 Delete unused code (Jude Rich <juder11@gmail.com>) 2021-09-01 07:24:07 -04:00
Frans Kaashoek
02424b1f84 update 2021-08-31 21:06:53 -04:00
yzhu
a103113db0 fix ld warning: undefined symbol _entry 2021-08-31 20:58:58 -04:00
Pavan Maddamsetti
840aae871f die 2021-08-31 20:57:03 -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
flespark
49f1e2f888 fix a invalid printf format string 2021-08-31 14:16:31 -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
Robert Morris
3b3f83f100 check that there's no panic if user process tries to write >= MAXVA 2021-08-06 11:06:24 -04:00
Robert Morris
08c9eda85f sync usertests 2021-07-02 14:24:45 -04:00
Robert Morris
1841baa3dd keep usertests.c in sync with riscv-sol-2020 2021-07-02 09:57:14 -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
Robert Morris
6e3f75c2aa suppress an incorrect error message in grind 2020-11-19 16:48:41 -05:00
Frans Kaashoek
231c08dc5e Merge remote-tracking branch 'refs/remotes/origin/riscv' into riscv 2020-11-05 19:51:41 -05:00
Frans Kaashoek
60b63b9d07 x 2020-11-05 19:50:46 -05:00
Frans Kaashoek
ef97f65025 kill/status test 2020-11-05 19:50:46 -05:00
Frans Kaashoek
b4c2851bb3 Be principled: acquire lock first 2020-11-05 19:50:46 -05:00
Robert Morris
38084bcea8 proc_tree_lock -> wait_lock 2020-11-05 19:50:46 -05:00
Robert Morris
ba8d9f4808 don't over-lock in exit() 2020-11-05 19:50:46 -05:00
Frans Kaashoek
9599a8e616 x 2020-11-05 19:00:37 -05:00
Frans Kaashoek
d7b308fe81 kill/status test 2020-11-05 18:50:02 -05:00
Frans Kaashoek
b63d3506e9 Be principled: acquire lock first 2020-11-05 12:27:32 -05:00
Robert Morris
774288e05a proc_tree_lock -> wait_lock 2020-11-05 09:47:59 -05:00
Robert Morris
bc943c2309 don't over-lock in exit() 2020-11-05 07:32:10 -05:00
Robert Morris
47323c97cf oops 2020-11-05 06:56:51 -05:00
Robert Morris
2875069973 Frans' proc_lock. 2020-11-05 06:56:51 -05:00
Robert Morris
b48ea5d220 free proc if kalloc fails 2020-11-05 06:56:51 -05:00
Robert Morris
5e392531c0 hopefully make writei more correct 2020-11-05 06:56:51 -05:00
Robert Morris
e1bb4c7434 test for closed pipe or killed on every char, not just if pipe full 2020-11-05 06:56:51 -05:00
Robert Morris
329935eca8 fix uart.c to work with UART_TX_BUF_SIZE == 1 2020-11-05 06:56:51 -05:00
Robert Morris
13dccb0380 consolewrite does not need cons.lock -- can lead to sleep() with lock held 2020-11-05 06:56:51 -05:00
Robert Morris
7dea4b93c8 oops 2020-11-03 16:35:20 -05:00