MarijnStevens / yagna-aarch64

GNU General Public License v3.0
1 stars 1 forks source link

Make arch-dependend runtimes. #6

Open MarijnStevens opened 3 years ago

MarijnStevens commented 3 years ago

At the moment my node is running an qemu-system-x86_64 build (renamed to vmrt-x86_64 <- because this is what it's emulating, x86_64 code.

The name of the runtime could be enough to filter for the correct type:

[ 
  { "name": "vm",
    "version": "0.0.1",
    "supervisor-path": "exe-unit",
    "runtime-path": "ya-runtime-vm-aarch64-host/ya-runtime-vm-aarch64-host",
    "description": "vm runtime for aarch64",
    "extra-args": ["--cap-handoff"]
  }
]

However, this doesn't change the fact; your now emulating code target code for vm (implicit x86_64),

Emulation should be avoided; slower code, no kvm possible. kvm overview, bypassing most of the TCG code. kvm is required by yagna (to bypass nested nested nested nested dockers I assume)

Small thing to think about; perhaps its easy enough to give specific names: vm-x86_64 vm-aarch64

Each system requires there own bios files and self-test golem image.

I don't know enough rust for the syntax for generic types, but a general ya-runtime-vm with support for Runtime<T> where T is arch` would be cool.

MarijnStevens commented 3 years ago

Added branch to yajapi.