-rw-r--r-- | .gitignore | 4L |
-rw-r--r-- | Makefile | 61L |
-rw-r--r-- | boot/boot.c | 123L |
-rw-r--r-- | boot/boot.h | 21L |
-rw-r--r-- | boot/console.c | 216L |
-rw-r--r-- | boot/entry.S | 120L |
-rw-r--r-- | boot/helpers.S | 32L |
-rw-r--r-- | boot/netboot.c | 191L |
-rw-r--r-- | docs/book-xv6-riscv-rev2.pdf | 559148B |
-rw-r--r-- | docs/build-system.md | 51L |
-rw-r--r-- | docs/devicetree-specification-v0.4-rc1.pdf | 400414B |
-rw-r--r-- | docs/hardware-setup.md | 193L |
-rw-r--r-- | docs/hardware.jpg | 387242B |
-rw-r--r-- | docs/riscv-abi-spec.pdf | 253048B |
-rw-r--r-- | docs/riscv-assembly.md | 122L |
-rw-r--r-- | docs/riscv-debug-stable.pdf | 1011490B |
-rw-r--r-- | docs/riscv-isa-reference-card.pdf | 167566B |
-rw-r--r-- | docs/riscv-isa-spec-i-20191213.pdf | 1021610B |
-rw-r--r-- | docs/riscv-isa-spec-ii-20211105.pdf | 770723B |
-rw-r--r-- | docs/setup.md | 134L |
-rw-r--r-- | docs/virtio-spec-v1.1.pdf | 715112B |
-rw-r--r-- | example/ex00-hello.c | 32L |
-rw-r--r-- | example/ex01-timer.c | 72L |
-rw-r--r-- | example/ex05-ethernet.c | 101L |
-rw-r--r-- | example/ex10-threads-cooperative.c | 219L |
-rw-r--r-- | example/ex11-threads-preemptive.c | 260L |
-rw-r--r-- | example/ex20-mmu.c | 152L |
-rw-r--r-- | example/ex25-kernel.c | 241L |
-rw-r--r-- | example/ex25-syscalls.S | 14L |
-rw-r--r-- | example/ex25-syscalls.h | 4L |
-rw-r--r-- | example/ex25-user.c | 15L |
-rw-r--r-- | external/sha256.c | 157L |
-rw-r--r-- | external/sha256.h | 32L |
-rw-r--r-- | external/vgafonts.c | 1242L |
-rw-r--r-- | external/vgafonts.txt | 59L |
-rw-r--r-- | hw/inc/compiler.h | 5L |
-rw-r--r-- | hw/inc/hw/context.h | 118L |
-rw-r--r-- | hw/inc/hw/debug.h | 16L |
-rw-r--r-- | hw/inc/hw/devicetree.h | 30L |
-rw-r--r-- | hw/inc/hw/intrinsics.h | 97L |
-rw-r--r-- | hw/inc/hw/litex.h | 96L |
-rw-r--r-- | hw/inc/hw/platform.h | 63L |
-rw-r--r-- | hw/inc/hw/riscv-clint.h | 7L |
-rw-r--r-- | hw/inc/hw/riscv-plic.h | 13L |
-rw-r--r-- | hw/inc/hw/riscv.h | 166L |
-rw-r--r-- | hw/inc/hw/vexriscv.h | 7L |
-rw-r--r-- | hw/inc/hw/virtio.h | 35L |
-rw-r--r-- | hw/src/context-switch.S | 56L |
-rw-r--r-- | hw/src/debug-io.c | 32L |
-rw-r--r-- | hw/src/debug-printf.c | 23L |
-rw-r--r-- | hw/src/print-exception.c | 78L |
-rw-r--r-- | hw/src/start.S | 25L |
-rw-r--r-- | hw/src/start.mmu.S | 94L |
-rw-r--r-- | hw/src/trap-entry-dual-stack.S | 149L |
-rw-r--r-- | hw/src/trap-entry-single-stack.S | 134L |
-rw-r--r-- | libc/inc/assert.h | 8L |
-rw-r--r-- | libc/inc/ctype.h | 16L |
-rw-r--r-- | libc/inc/errno.h | 0B |
-rw-r--r-- | libc/inc/stdio.h | 10L |
-rw-r--r-- | libc/inc/stdlib.h | 0B |
-rw-r--r-- | libc/inc/string.h | 49L |
-rw-r--r-- | libc/src/atoi.c | 172L |
-rw-r--r-- | libc/src/ctype.c | 69L |
-rw-r--r-- | libc/src/printf-engine.h | 22L |
-rw-r--r-- | libc/src/printf.c | 622L |
-rw-r--r-- | libc/src/string/memchr.c | 29L |
-rw-r--r-- | libc/src/string/memcmp.c | 24L |
-rw-r--r-- | libc/src/string/memcpy.c | 53L |
-rw-r--r-- | libc/src/string/memmove.c | 77L |
-rw-r--r-- | libc/src/string/memset.c | 47L |
-rw-r--r-- | libc/src/string/strcat.c | 26L |
-rw-r--r-- | libc/src/string/strchr.c | 21L |
-rw-r--r-- | libc/src/string/strcmp.c | 25L |
-rw-r--r-- | libc/src/string/strcpy.c | 23L |
-rw-r--r-- | libc/src/string/strlen.c | 25L |
-rw-r--r-- | libc/src/string/strncat.c | 32L |
-rw-r--r-- | libc/src/string/strncmp.c | 26L |
-rw-r--r-- | libc/src/string/strncpy.c | 27L |
-rw-r--r-- | libc/src/string/strnlen.c | 22L |
-rw-r--r-- | libc/src/string/strpbrk.c | 28L |
-rw-r--r-- | libc/src/string/strrchr.c | 29L |
-rw-r--r-- | libc/src/string/strspn.c | 32L |
-rw-r--r-- | libc/src/string/strstr.c | 30L |
-rw-r--r-- | libc/src/string/strtok.c | 35L |
-rw-r--r-- | libgfx/inc/gfx/gfx.h | 78L |
-rw-r--r-- | libgfx/src/gfx.c | 131L |
-rw-r--r-- | libgfx/src/txt.c | 63L |
-rw-r--r-- | make/app.mk | 58L |
-rw-r--r-- | make/app.ram.ld | 6L |
-rw-r--r-- | make/boot.ram.ld | 6L |
-rw-r--r-- | make/common.ram.ld | 55L |
-rw-r--r-- | make/kernel.ram.ld | 6L |
-rw-r--r-- | make/lib.mk | 24L |
-rw-r--r-- | make/rules.mk | 44L |
-rw-r--r-- | make/user.ram.ld | 6L |
-rw-r--r-- | misc/devicetree.c | 106L |
-rw-r--r-- | misc/info.c | 20L |
-rw-r--r-- | misc/mandelbrot-fb.c | 55L |
-rw-r--r-- | misc/mandelbrot.c | 31L |
-rw-r--r-- | misc/traps-entry.S | 109L |
-rw-r--r-- | net/inc/net/ipv6.h | 130L |
-rw-r--r-- | net/ipv6.c | 351L |
-rw-r--r-- | prebuilt/fpga.bit.gz | 310259B |
-rw-r--r-- | project/boot.app.mk | 9L |
-rw-r--r-- | project/boot.net.app.mk | 10L |
-rw-r--r-- | project/c.lib.mk | 4L |
-rw-r--r-- | project/devicetree.app.mk | 6L |
-rw-r--r-- | project/ex00-hello.app.mk | 6L |
-rw-r--r-- | project/ex01-timer.app.mk | 6L |
-rw-r--r-- | project/ex05-ethernet.app.mk | 8L |
-rw-r--r-- | project/ex10-threads-cooperative.app.mk | 9L |
-rw-r--r-- | project/ex11-threads-preemptive.app.mk | 9L |
-rw-r--r-- | project/ex20-mmu.app.mk | 8L |
-rw-r--r-- | project/ex25-kernel.app.mk | 10L |
-rw-r--r-- | project/ex25-user.app.mk | 8L |
-rw-r--r-- | project/gfx.lib.mk | 7L |
-rw-r--r-- | project/info.app.mk | 6L |
-rw-r--r-- | project/mandelbrot-fb.app.mk | 7L |
-rw-r--r-- | project/mandelbrot.app.mk | 6L |
-rw-r--r-- | project/xos-kernel.app.mk | 12L |
-rw-r--r-- | project/xos-mandelbrot.app.mk | 10L |
-rw-r--r-- | project/xos.lib.mk | 6L |
-rw-r--r-- | readme.md | 10L |
-rw-r--r-- | tools/netboot.c | 308L |
-rw-r--r-- | tools/netboot.h | 45L |
-rw-r--r-- | xos/inc/xos/status.h | 65L |
-rw-r--r-- | xos/inc/xos/syscall-tmpl.h | 8L |
-rw-r--r-- | xos/inc/xos/syscalls.h | 10L |
-rw-r--r-- | xos/inc/xos/types.h | 13L |
-rw-r--r-- | xos/lib/debug-io.c | 27L |
-rw-r--r-- | xos/lib/syscalls.S | 6L |
-rw-r--r-- | xos/src/entry.S | 165L |
-rw-r--r-- | xos/src/kernel.c | 174L |
-rw-r--r-- | xos/src/kernel.h | 61L |
-rw-r--r-- | xos/src/start.S | 94L |
-rw-r--r-- | xos/src/vmm.c | 80L |
-rw-r--r-- | xos/usr/mandelbrot.c | 92L |