Commit graph

1053 commits

Author SHA1 Message Date
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
Frans Kaashoek
572e106e6f x 2018-09-29 09:05:25 -04:00
Frans Kaashoek
3bfcaeaf01 Make sysexit and trapret paths the same, so that forkret can return through
either path.  This helped tracking down a bug: use 144 instead of 32 to find cs
in trapframe so that gs is correctly saved and restored.

For good measure update linker script, because newer versions of GCC sometimes
places symbols passed end.
2018-09-29 08:34:41 -04:00
Frans Kaashoek
322990649b x 2018-09-29 08:29:34 -04:00