Extent of safety properties in WebAssembly

WebAssembly has been one of the trendiest intermediate representations since a while. However, its definition of safety means preventing breaching the sandbox. Its goal is to prevent escalation from the VM guest code to the VM host boundary. WASI then defines a capabilities-based syscall interface that can be used by applications. Some alternatives which can… Continue reading Extent of safety properties in WebAssembly

Linux for Tegra kernel patches

Linux for Tegra today still ships with a Linux 4.9 kernel version. At https://github.com/OE4T/linux-tegra-4.9, an L4T-derived kernel with patches to build with the most recent compilers is available. At the branch “public” of https://github.com/woachk/linux-tegra-4.9, some backports that might interest others were done (because I had to…): AArch64 KVM: cntpct_el0 access fixes AArch64 KVM: user-mode interrupt… Continue reading Linux for Tegra kernel patches

Building Arm 64-bit XNU (Darwin 20)

Assuming that instructions from https://kernelshaman.blogspot.com/2021/01/building-xnu-for-macos-big-sur-1101.html were already followed including for the iPhoneOS target… The patch: The build command line: Of course, without kexts that’s not very useful for now… and most macOS arm64 stuff isn’t included yet.

Thoughts on Tachyum

Tachyum is a CPU startup that claims that they will release a VLIW CPU for general purpose use, a claim has been made countless times. However, to my knowledge, I didn’t see a device fulfilling those dreams (Intel and Nvidia were the closest with much more resources). According to Tachyum, the Prodigy processor would also… Continue reading Thoughts on Tachyum

checkra1n/toolchain: targeting Linux and Windows

For checkra1n, we have some non-trivial requirements for the build infrastructure. One of them is that checkra1n must be buildable on both Linux and macOS including that Linux and Windows versions of checkra1n must be buildable from macOS. The toolchain repository must also be easily downloaded and use the compilers from the host. That means… Continue reading checkra1n/toolchain: targeting Linux and Windows

chroot on modern macOS: disallowed

The hardened runtime is enforced for all executables bundled as part of macOS. As such, chroot isn’t usable anymore for running a macOS CLI environment.

State of the GPU compute APIs today

NVIDIA: Pioneer of the field, mature toolkits. Still evolving quickly, especially for higher-level APIs. Every GPU that NVIDIA sells supports CUDA. The HPC SDK, formerly known as PGI, which is Linux only today, adds support for OpenACC, C++ standard parallelism (stdpar) and OpenMP (support currently in beta). One of the downsides on NVIDIA’s HPC SDK… Continue reading State of the GPU compute APIs today

macOS EULA licensing restrictions affecting virtualisation

So what are the biggest restrictions affecting virtualisation of macOS today in the macOS EULA (available at https://www.apple.com/legal/sla/docs/macOSBigSur.pdf)? (iii) to install, use and run up to two (2) additional copies or instances of the Apple Software within virtual operating system environments on each Mac Computer you own or control that is already running the Apple… Continue reading macOS EULA licensing restrictions affecting virtualisation