Code Monkey home page Code Monkey logo

jonesforth_riscv's Introduction

Jonesforth RISC-V

RISC-V 64 implementation of Jones forth.

The code is based on Richard WM Jones's excellent literate x86 assembly implementation of Forth, more on which here: http://rwmj.wordpress.com/2010/08/07/jonesforth-git-repository/

The x86 version source code is copied from a mirror repo: https://github.com/nornagon/jonesforth

The RISC-V version is rewritten by JJy, mostly modification is in the jonesforth.S file.

The RISC-V version jonesforth is using RV64 instructions, so the WORD size and alignment is 8 bytes.

Run

Run Qemu VM:

  1. Start qemu RISC-V VM: make qemu - will outputs lots out logs, wait until complete the boot.
  2. Push files to qemu VM: make push-remote - the files are under /jonesforth.
  3. Connect to RISC-V VM: make ssh.

The docker image is very large, you can build it locally if you can't download it from server https://github.com/jjyr/docker-riscv-qemu-fedora

Compile & Run:

  1. Compile make.
  2. Start REPL: make run.
  3. Run all tests: make test

We haven't passed all tests yet: issue #1

RISC-V references

jonesforth_riscv's People

Contributors

jjyr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

hexcolors60

jonesforth_riscv's Issues

ssh: connect to host localhost port 4321 in docker: Connection refused

jjyr wrote:

I also sometimes went into this error, but I can't figure the issue.
I guess it related to the lack of memory or some internal docker container issue.
Usually, rebooting the machine fixes this problem.

After rebooting:

~/docker-riscv-qemu-fedora$ ssh -p 1234 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no root@localhost
ssh: connect to host localhost port 1234: Connection refused
~/docker-riscv-qemu-fedora$ ssh -p 4321 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no root@localhost
ssh: connect to host localhost port 4321: Connection refused

Regards,

phiho

Pass all tests

  • number
  • comparison
  • stack
  • stack_trace
  • exception
  • read_file
  • assembler

docker-riscv-qemu-fedora root password

Hi,

You wrote:

I guess it is a docker registry error, please build the image yourself https://github.com/jjyr/docker-riscv-qemu-fedora

I did this and the build went through successfully but ssh could not connect:

~/docker-riscv-qemu-fedora$ ssh -p 1234 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no root@localhost
ssh: connect to host localhost port 1234: Connection refused

I tried to connect with default port it look OK:

~/docker-riscv-qemu-fedora$ ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no root@localhost
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
root@localhost's password:

However, the password "riscv" was not accepted.

Please advise what is the correct root password?

Thank you for your help.

Regards,

phiho

make qemu - docker: failed to register layer: Error processing tar file(exit status 1): unexpected EOF.

Greetings,

~/jonesforth_riscv$ uname -a
Linux ubuntu 4.14.130-ltsi #1 SMP Wed Aug 5 05:33:09 UTC 2020 armv7l armv7l armv7l GNU/Linux
~/jonesforth_riscv$

Please find appended below the console transcript.

Regards,

phiho

~/jonesforth_riscv$ sudo make qemu
docker run --name riscv-qemu-fedora -p 4321:10000 jjy0/riscv-qemu-fedora
Unable to find image 'jjy0/riscv-qemu-fedora:latest' locally
latest: Pulling from jjy0/riscv-qemu-fedora
171857c49d0f: Pull complete
419640447d26: Pull complete
61e52f862619: Pull complete
fda53f069f7e: Pull complete
51fc56fddf86: Pull complete
fdd95457d3eb: Extracting [==================================================>] 1.683GB/1.683GB
docker: failed to register layer: Error processing tar file(exit status 1): unexpected EOF.
See 'docker run --help'.
Makefile:52: recipe for target 'qemu' failed
make: *** [qemu] Error 125
~/jonesforth_riscv$

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.