You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Obtain a successful cargo build --target aarch64-unknown-linux-musl.
This implies (but it is not limited to):
Identify and label accordingly x86_64 specific code.
Label the wrappers over the kvm ioctls in conformity with Oficial KVM API.
Code inside the kvm_gen/src/x86_64/bindings.rs is not actually x86_64 specific. The auto generated bindings contain a common wrapper as it is autogenerated from include/uapi/linux/kvm.h and you may also find variables like KVM_PPC_PVINFO_FLAGS_EV_IDLE which are power pc related. Get rid of the x86_64 classification inside this crate.
The default syscalls that the vmm uses are diferent on an aarch64. For example, arm does not use libc::SYS_open but libc::SYS_openat. Indeed, compare the arch/aarch64/bits/syscall.h inside the musl repo with its x86_64 equivalent (i.e arch/x86_64/bits/syscall.h).
Not necessarily a blocker for succesful aarch64 compilation, but we are using #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] mistakenly throughout our code. Firecracker would not actually compile on an x86 (see timestamp_cycles() function inside fc_util crate.
Building with aarch64-unknown-linux-musl is not currently possible. See rust issue. See if workaround suggested works.
The text was updated successfully, but these errors were encountered:
Obtain a successful
cargo build --target aarch64-unknown-linux-musl
.This implies (but it is not limited to):
x86_64
specific code.kvm_gen/src/x86_64/bindings.rs
is not actuallyx86_64
specific. The auto generated bindings contain a common wrapper as it is autogenerated frominclude/uapi/linux/kvm.h
and you may also find variables likeKVM_PPC_PVINFO_FLAGS_EV_IDLE
which are power pc related. Get rid of thex86_64
classification inside this crate.libc::SYS_open
butlibc::SYS_openat
. Indeed, compare thearch/aarch64/bits/syscall.h
inside the musl repo with its x86_64 equivalent (i.earch/x86_64/bits/syscall.h
).#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
mistakenly throughout our code. Firecracker would not actually compile on anx86
(seetimestamp_cycles()
function insidefc_util
crate.The text was updated successfully, but these errors were encountered: