Comments (6)
What is the board/chip you want to target? TinyGo needs a lot more than just the instruction set architecture.
from tinygo.
It's is a bit of an unusual use-case--our team is building a zero-knowledge VM (zkVM) that proves the execution of the RISC-V32im instruction set: https://github.com/succinctlabs/sp1.
We use ecalls
to do stdin and stdout into the zkVM environment, but other than that usually we just have pure golang code that is proving some sort of computation.
from tinygo.
In that case, the zkVM would be the target. Especially since you say this:
We use
ecalls
to do stdin and stdout into the zkVM environment, [...]
This means that functions like putchar
would call those kinds of syscalls. The runtime needs to know about these sorts of details, for example to print panic messages or to correctly schedule goroutines.
Also, the linker will need to know details like at which address it can be linked and which memory area it can use for the heap.
from tinygo.
Relevant PR from another zkVM project:
Relevant discussion:
from tinygo.
hey wanted to check in on how things are going here?
from tinygo.
A PR like risc0#1 would indeed be something that could be included in TinyGo.
from tinygo.
Related Issues (20)
- bug: net/http server not working on linux HOT 3
- ci: llvm packages have unmet dependencies HOT 4
- Crash when compiling with a large number of embedded files
- runtime.hashmapStringGet segv HOT 4
- samd21: machine.Flash.WriteAt() crashes for unaligned offset values HOT 1
- Flash USB from https://play.tinygo.org/ on Chromebook? HOT 3
- Go linters don't like wasm imports HOT 1
- reflect.DeepEqual() panics for interface keys
- runtime.FuncForPC not implemented - getting function name from function
- maps.Clone link error (missing maps.clone) HOT 1
- tinygo version build-tags (duplicate go1.X build-tag functionality) HOT 1
- better output for 'tinygo build' when nothing to do HOT 1
- link error on macOS ld.lld: error: undefined symbol: _golang.org/x/sys/unix.syscall_syscall HOT 1
- Add `node:` Prefix to Node.js API Imports in `wasm_exec.js` for Cloudflare Workers Compatibility HOT 2
- stdin I/O prevent goroutine execution (Mac, linux)
- os/user.{LookupId,LookupGroupId} HOT 1
- Tinygo - target=wasm results in uncaught promise error in browser console. HOT 3
- add support for GODEBUG=gotypesalias=1 HOT 2
- State of support for `net/http` on `wasm` targets running within browsers on commodity hardware (AMD64/ARM64 etc) HOT 1
- add support for `-C` flag to chdir before running HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tinygo.