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.

The checkra1n open-sourcing process: pongoOS 2.4.5

pongoOS 2.4.5 is now available at https://github.com/checkra1n/pongoOS. pongoOS 2.4.5 open-sources the SEP exploit, making that part fully open-source for the very first time. This makes the Secure Enclave processor accessible to a much wider public than before on Apple A10 devices and earlier. The kernel patchfinder is also open-source in this release. Boot-to-Linux support (for… Continue reading The checkra1n open-sourcing process: pongoOS 2.4.5

Published
Categorized as Apple, Arm

Houdini: run Arm 32-bit and 64-bit applications on an x86_64 system

Intel Houdini is a dynamic binary translation layer to run Arm applications on x86_64 systems. Its targeted platform is Android, but you can use it for _other_ platforms too. It’s much faster than Qemu at that task. Houdini 6 with AArch64 on x86_64 compatibility is available at http://dl.android-x86.org/houdini/6_z/houdini.sfs and for AArch32 on x86_64 at http://dl.android-x86.org/houdini/6_y/houdini.sfs. The patch function… Continue reading Houdini: run Arm 32-bit and 64-bit applications on an x86_64 system

Published
Categorized as Arm

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

PCIe quirks on Arm systems w/ ACPI

Taking a look at the list of platforms which have quirks in drivers/acpi/pci_mcfg.c for Arm today: AWS Graviton Qualcomm QDF2432 HiSilicon HIP05/06/07 Cavium ThunderX X-Gene v1 X-Gene v2 Ampere Altra (released this year!) What’s missing here? Any SoC for a platform present at a lower price point. And on why, read https://patchwork.kernel.org/project/linux-acpi/patch/20200103174935.5612-1-vidyas@nvidia.com/ . It’s obvious in this… Continue reading PCIe quirks on Arm systems w/ ACPI

Published
Categorized as Arm