Commit graph

1456 commits

Author SHA1 Message Date
Frans Kaashoek af6c35e14b Introduce alloc3_desc and UsedArea to make code easier to read 2019-07-01 08:20:35 -04:00
Robert Morris a8305b7318 FD_DEVICE 2019-06-13 10:29:27 -04:00
Robert Morris 46744c4a13 for spinlocks, use gcc intrinsics, but say what they compile to 2019-06-13 10:00:50 -04:00
Robert Morris ca39672a30 clean up virtio code 2019-06-13 09:40:17 -04:00
Robert Morris 4adf016925 eliminate ramdisk 2019-06-13 06:57:38 -04:00
Robert Morris de9d72c908 virtio disk driver 2019-06-13 06:49:02 -04:00
Robert Morris 5753553213 separate source into kernel/ user/ mkfs/ 2019-06-11 09:57:14 -04:00
Robert Morris 91ba81110a gdb backtraces: -ggdb, -fno-omit-frame-pointer, BSIZE=1024 2019-06-06 13:54:03 -04:00
Robert Morris 8607051b5f fix a create()/unlink() deadlock 2019-06-06 10:38:11 -04:00
Robert Morris 31ef85f552 add plic.c 2019-06-06 05:19:59 -04:00
Robert Morris b05bcce939 add kernelvec 2019-06-06 05:19:35 -04:00
Robert Morris dff7ab3f8f make -O work with asm volatile(...) 2019-06-05 15:05:56 -04:00
Robert Morris 5684556c19 clean up -Wall 2019-06-05 14:31:13 -04:00
Robert Morris 5eb1cb4972 push_off() and pop_off() in myproc() 2019-06-05 14:14:57 -04:00
Robert Morris 3113643768 spinlocks using gcc intrinsics
push_off() / pop_off()
set up per-hart plic stuff so all harts get device interrupts
2019-06-05 14:05:46 -04:00
Robert Morris f1a727b971 start at support for multiple CPUs 2019-06-05 11:42:03 -04:00
Robert Morris ec3d3a1fce yield if timer interrupt
all user tests passed
2019-06-04 14:25:48 -04:00
Robert Morris a82772594e timer interrupts -> supervisor software interrupt 2019-06-04 14:20:37 -04:00
Robert Morris cff3ce6e04 more sbrk fixes 2019-06-04 11:31:50 -04:00
Robert Morris 0e131b2263 fix a problem with end. make uartputc() wait until h/w is ready. 2019-06-04 10:43:45 -04:00
Robert Morris b78894f34e check that arguments aren't more than a page in exec() 2019-06-04 06:51:01 -04:00
Robert Morris 0f684b9150 fix exec argc 2019-06-04 06:45:09 -04:00
Robert Morris 8baac76050 support read() and write() bigger than one page 2019-06-04 05:57:47 -04:00
Robert Morris cefe223bf5 console input and sbrk 2019-06-03 17:59:17 -04:00
Robert Morris efecbee7c0 xx 2019-06-03 17:49:27 -04:00
Robert Morris 6eae1be755 push/pop all registers when handling interrupt from kernel 2019-06-03 15:23:12 -04:00
Robert Morris e630e0743b xx 2019-06-03 14:16:51 -04:00
Robert Morris a9c1a6f742 takes one uart input interrupt, then panics 2019-06-03 14:13:07 -04:00
Robert Morris 50cbc75102 first shell prints $ prompt, though no console input yet 2019-06-01 05:33:38 -04:00
Robert Morris 7fd1f1eb0a exec compiles but argstr() doesn't work yet 2019-05-31 12:43:20 -04:00
Robert Morris 5d34fa2a48 -initrd fs.img, ramdisk.c, file system 2019-05-31 11:45:42 -04:00
Robert Morris 2ec1959fd1 fork/wait/exit work 2019-05-31 09:45:59 -04:00
Frans Kaashoek 0f90388c89 No T_SYSCALL 2018-10-10 21:50:58 -04:00
Frans Kaashoek a7ca32e3a3 Change mycpu() to use %gs. 2018-10-09 20:22:48 -04:00
Frans Kaashoek 821ee3fc99 not much 2018-10-09 19:33:06 -04:00
Frans Kaashoek 54e6f829e4 Separate system call path from trap path. Passes usertests on 1 and 2 cpus. 2018-10-09 14:28:54 -04:00
Frans Kaashoek f241e67d91 x 2018-10-07 18:14:53 -04:00
Frans Kaashoek 704775b63d Make names line up with text 2018-10-04 09:21:36 -04:00
Frans Kaashoek 2fa3a8fd05 Oops, didn't commit these changes with last commit 2018-10-04 09:21:10 -04:00
Frans Kaashoek a7ef9a40c4 x 2018-10-03 21:00:32 -04:00
Frans Kaashoek 7ccc5f5f4f Names of text are better. 2018-10-03 20:14:36 -04:00
Frans Kaashoek eb72653bd7 use x86-64 names 2018-10-03 18:13:51 -04:00
Frans Kaashoek 23a58370a4 Switch back bpmain back to main 2018-10-03 17:58:21 -04:00
Frans Kaashoek 020fc6a1c6 don't care about bootloader 2018-10-03 07:53:37 -04:00
Frans Kaashoek 343080f7ae Remove unused typedefs 2018-10-02 09:06:41 -04:00
Frans Kaashoek ec110149ed simplify layout pic 2018-10-02 08:50:05 -04:00
Frans Kaashoek a0389f707f Remove now unused PDX 2018-10-02 08:43:25 -04:00
Frans Kaashoek d448fd5e6c Simplify by freeing user part of addres pace in one page increments. This
undoes commit ffe444 and 052e18, which skipped page directories, but was
tailored to two-level page table.  Undoing doesn't seem to affect boottime for
xv6 visibly.
2018-10-02 08:40:01 -04:00
Frans Kaashoek a42b7d5dbb Simplify freeing page table 2018-10-02 08:12:01 -04:00
Frans Kaashoek 155c13b7f8 Avoid repition in walkpgdir 2018-10-02 07:37:49 -04:00