6 ms·
Thanks for your interest! I'm an author of this book. This book is very beginning as you mentioned and I'm still working on it. I already succeeded to run xv6
by d0iasm 6y ago
Thanks for your interest! I'm an author of this book. This book is very beginning as you mentioned and I'm still working on it.
I already succeeded to run xv6 in my RISC-V emulator and wrote a blog post "Made a RISC-V Emulator Running Xv6": https://d0iasm.github.io/blog/risc-v/2020/04/03/xv6-on-my-riscv-emulator.html https://d0iasm.github.io/blog/risc-v/2020/04/03/xv6-on-my-ri...
I have 2 different RISC-V emulators and its goals are different:
rvemu (https://github.com/d0iasm/rvemu https://github.com/d0iasm/rvemu): Can run xv6. It's trying to support Linux and make it faster in the future.
rvemu-for-book (https://github.com/d0iasm/rvemu-for-book https://github.com/d0iasm/rvemu-for-book): Reference implementation for the book. Simpler than original one.
- seusscat 6y agoCould you please elaborate on what the differences between the two implementations are?
- d0iasm 6y agoThe main difference between them is the number of instructions are supported. Rvemu supports RV64GC, while rvemu-for-book will support RV64I and instructions that xv6 uses (e.g. mul). Also rvemu will support a device tree but rvemu-for-book won't.
- mrlonglong 6y agoWhat does opcode 0x41 does? It's stopping the emulator when I try to run it on fib.text. Otherwise it's a pretty decent tutorial. I've also been following Stephen Marz's tutorial on bringing up a basic operating system on RiscV 64, going to use the two together.