Git Product home page Git Product logo

riscv-notes's Introduction

riscv-notes

The repository contains some notes on RISC-V CPU and related stuff - Linux, BBL, QEMU. These notes are primarily for my personal use so all paths are relative to ones on my Linux laptop.

Anyway, this is a directory structure for paths in all documents in this repository

slava@slava-P34V2:/work/risc-v$ tree -L 2
.
├── busybox
│   ├── busybox-1.21.1
│   ├── rootfs
│   ├── rootfs-old
│   └── rootfs-tree.txt
├── documents
│   ├── Chisel
│   ├── CS250 Berkeley
│   ├── riscv-compressed-spec-v1.7.pdf
│   ├── RISC-V-External-Debug.pdf
│   ├── riscv-privileged-v1.9.1.pdf
│   ├── riscv-priv-spec-1.7.pdf
│   └── riscv-spec-v2.1.pdf
├── fedora
│   ├── stage4-disk.img
│   ├── stage4-disk.img.xz
│   └── vmlinux
├── linux
│   ├── bbl_vmlinux_initramfs
│   └── linux-4.6.2
├── lowrisc
│   └── lowrisc-chip
├── riscv-cores
│   ├── riscv.org_user_RISCV_Rocket_Core_RV64G_1.0
│   ├── riscv.rv64g.core.ip.fixed.zip
│   ├── riscv.rv64g.core.src.fixed.zip
│   └── RISCV_RV64G_src
├── riscv-gnu-toolchain
│   ├── build
│   ├── build-binutils-linux
│   ├── build-gcc-linux-stage1
│   ├── build-gcc-linux-stage2
│   ├── build-glibc-linux-64
│   ├── build-glibc-linux-headers
│   ├── config.log
│   ├── config.status
│   ├── configure
│   ├── configure.ac
│   ├── LICENSE
│   ├── linux-headers
│   ├── Makefile
│   ├── Makefile.in
│   ├── README.md
│   ├── riscv-binutils-gdb
│   ├── riscv-dejagnu
│   ├── riscv-gcc
│   ├── riscv-glibc
│   ├── riscv-newlib
│   ├── scripts
│   └── stamps
├── riscv-notes
│   ├── bbl
│   ├── busybox
│   ├── gnu-toolchain
│   ├── images
│   ├── linux
│   ├── qemu
│   └── README.md
├── riscv-qemu
│   ├── accel.c
│   ├── accel.d
│   ├── accel.o
│   ├── aio-posix.c
│   ├── aio-posix.d
│   ├── aio-posix.o
│   ├── aio-win32.c
│   ├── arch_init.c
│   ├── async.c
│   ├── async.d
│   ├── async.o
│   ├── audio
│   ├── backends
│   ├── balloon.c
│   ├── block
│   ├── block.c
│   ├── block.d
│   ├── blockdev.c
│   ├── blockdev.d
│   ├── blockdev-nbd.c
│   ├── blockdev-nbd.d
│   ├── blockdev-nbd.o
│   ├── blockdev.o
│   ├── blockjob.c
│   ├── blockjob.d
│   ├── blockjob.o
│   ├── block.o
│   ├── bootdevice.c
│   ├── bsd-user
│   ├── bt-host.c
│   ├── bt-host.d
│   ├── bt-host.o
│   ├── bt-vhci.c
│   ├── bt-vhci.d
│   ├── bt-vhci.o
│   ├── build
│   ├── Changelog
│   ├── CODING_STYLE
│   ├── config-all-devices.mak
│   ├── config-all-disas.mak
│   ├── config-host.h
│   ├── config-host.h-timestamp
│   ├── config-host.mak
│   ├── config.log
│   ├── config.status
│   ├── configure
│   ├── contrib
│   ├── COPYING
│   ├── COPYING.LIB
│   ├── cpu-exec.c
│   ├── cpu-exec-common.c
│   ├── cpus.c
│   ├── cputlb.c
│   ├── crypto
│   ├── default-configs
│   ├── device-hotplug.c
│   ├── device-hotplug.d
│   ├── device-hotplug.o
│   ├── device_tree.c
│   ├── disas
│   ├── disas.c
│   ├── dma-helpers.c
│   ├── dma-helpers.d
│   ├── dma-helpers.o
│   ├── docs
│   ├── dtc
│   ├── dump.c
│   ├── exec.c
│   ├── fpu
│   ├── fsdev
│   ├── gdbstub.c
│   ├── gdb-xml
│   ├── HACKING
│   ├── hacking_files
│   ├── hmp.c
│   ├── hmp-commands.hx
│   ├── hmp-commands-info.hx
│   ├── hmp.d
│   ├── hmp.h
│   ├── hmp.o
│   ├── hw
│   ├── include
│   ├── io
│   ├── iohandler.c
│   ├── iohandler.d
│   ├── iohandler.o
│   ├── ioport.c
│   ├── iothread.c
│   ├── iothread.d
│   ├── iothread.o
│   ├── ivshmem-client
│   ├── ivshmem-server
│   ├── kvm-all.c
│   ├── kvm-stub.c
│   ├── libdecnumber
│   ├── libqemustub.a
│   ├── libqemuutil.a
│   ├── LICENSE
│   ├── linux-headers
│   ├── linux-user
│   ├── main-loop.c
│   ├── main-loop.d
│   ├── main-loop.o
│   ├── MAINTAINERS
│   ├── Makefile
│   ├── Makefile.objs
│   ├── Makefile.target
│   ├── memory.c
│   ├── memory_mapping.c
│   ├── migration
│   ├── module_block.h
│   ├── module-common.c
│   ├── monitor.c
│   ├── nbd
│   ├── net
│   ├── numa.c
│   ├── os-posix.c
│   ├── os-posix.d
│   ├── os-posix.o
│   ├── os-win32.c
│   ├── page_cache.c
│   ├── page_cache.d
│   ├── page_cache.o
│   ├── pc-bios
│   ├── pixman
│   ├── po
│   ├── qapi
│   ├── qapi-event.c
│   ├── qapi-event.d
│   ├── qapi-event.h
│   ├── qapi-event.o
│   ├── qapi-generated
│   ├── qapi-schema.json
│   ├── qapi-types.c
│   ├── qapi-types.d
│   ├── qapi-types.h
│   ├── qapi-types.o
│   ├── qapi-visit.c
│   ├── qapi-visit.d
│   ├── qapi-visit.h
│   ├── qapi-visit.o
│   ├── qdev-monitor.c
│   ├── qdev-monitor.d
│   ├── qdev-monitor.o
│   ├── qdict-test-data.txt
│   ├── qemu.1
│   ├── qemu-bridge-helper
│   ├── qemu-bridge-helper.c
│   ├── qemu-bridge-helper.d
│   ├── qemu-bridge-helper.o
│   ├── qemu-char.c
│   ├── qemu-char.d
│   ├── qemu-char.o
│   ├── qemu-doc.html
│   ├── qemu-doc.texi
│   ├── qemu-ga
│   ├── qemu-ga.8
│   ├── qemu-ga.pod
│   ├── qemu-ga.texi
│   ├── qemu-img
│   ├── qemu-img.1
│   ├── qemu-img.c
│   ├── qemu-img-cmds.h
│   ├── qemu-img-cmds.hx
│   ├── qemu-img-cmds.texi
│   ├── qemu-img.d
│   ├── qemu-img.o
│   ├── qemu-img.pod
│   ├── qemu-img.texi
│   ├── qemu-io
│   ├── qemu-io.c
│   ├── qemu-io-cmds.c
│   ├── qemu-io-cmds.d
│   ├── qemu-io-cmds.o
│   ├── qemu-io.d
│   ├── qemu-io.o
│   ├── qemu-monitor-info.texi
│   ├── qemu-monitor.texi
│   ├── qemu-nbd
│   ├── qemu-nbd.8
│   ├── qemu-nbd.c
│   ├── qemu-nbd.d
│   ├── qemu-nbd.o
│   ├── qemu-nbd.pod
│   ├── qemu-nbd.texi
│   ├── qemu.nsi
│   ├── qemu-options.def
│   ├── qemu-options.h
│   ├── qemu-options.hx
│   ├── qemu-options.texi
│   ├── qemu-options-wrapper.h
│   ├── qemu-option-trace.texi
│   ├── qemu.pod
│   ├── qemu.sasl
│   ├── qemu-seccomp.c
│   ├── qemu-tech.html
│   ├── qemu-tech.texi
│   ├── qemu-timer.c
│   ├── qemu-timer.d
│   ├── qemu-timer.o
│   ├── qemu-version.h
│   ├── qemu-version.h.tmp
│   ├── qga
│   ├── qmp.c
│   ├── qmp-commands.h
│   ├── qmp.d
│   ├── qmp-introspect.c
│   ├── qmp-introspect.d
│   ├── qmp-introspect.h
│   ├── qmp-introspect.o
│   ├── qmp-marshal.c
│   ├── qmp-marshal.d
│   ├── qmp-marshal.o
│   ├── qmp.o
│   ├── qobject
│   ├── qom
│   ├── qtest.c
│   ├── README
│   ├── README.md
│   ├── replay
│   ├── replication.c
│   ├── replication.d
│   ├── replication.h
│   ├── replication.o
│   ├── riscv32-softmmu
│   ├── riscv32-softmmu-config-devices.mak.d
│   ├── riscv64-softmmu
│   ├── riscv64-softmmu-config-devices.mak.d
│   ├── roms
│   ├── rules.mak
│   ├── scripts
│   ├── slirp
│   ├── softmmu_template.h
│   ├── spice-qemu-char.c
│   ├── stubs
│   ├── target-alpha
│   ├── target-arm
│   ├── target-cris
│   ├── target-i386
│   ├── target-lm32
│   ├── target-m68k
│   ├── target-microblaze
│   ├── target-mips
│   ├── target-moxie
│   ├── target-openrisc
│   ├── target-ppc
│   ├── target-riscv
│   ├── target-s390x
│   ├── target-sh4
│   ├── target-sparc
│   ├── target-tilegx
│   ├── target-tricore
│   ├── target-unicore32
│   ├── target-xtensa
│   ├── tcg
│   ├── tcg-runtime.c
│   ├── tcg-runtime.d
│   ├── tcg-runtime.o
│   ├── tci.c
│   ├── tests
│   ├── thread-pool.c
│   ├── thread-pool.d
│   ├── thread-pool.o
│   ├── thunk.c
│   ├── tpm.c
│   ├── tpm.d
│   ├── tpm.o
│   ├── trace
│   ├── trace-events
│   ├── trace-events-all
│   ├── translate-all.c
│   ├── translate-all.h
│   ├── translate-common.c
│   ├── ui
│   ├── user-exec.c
│   ├── util
│   ├── VERSION
│   ├── version.rc
│   ├── vl.c
│   ├── vl.d
│   ├── vl.o
│   ├── xen-common.c
│   ├── xen-common-stub.c
│   ├── xen-hvm.c
│   ├── xen-hvm-stub.c
│   └── xen-mapcache.c
├── riscv-tools
│   ├── build
│   ├── build.common
│   ├── build-rv32ima.sh
│   ├── build.sh
│   ├── build-spike-only.sh
│   ├── build-spike-pk.sh
│   ├── README.md
│   ├── regression.sh
│   ├── riscv-fesvr
│   ├── riscv-gnu-toolchain
│   ├── riscv-isa-sim
│   ├── riscv-llvm
│   ├── riscv-opcodes
│   ├── riscv-pk
│   └── riscv-tests
├── session.txt
└── test
    └── hello

riscv-notes's People

Contributors

slavaim avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.