Building an Arm IoT Platform from Scratch
For years everyone has been saying “You can do it…
Your editor will be at the Open Source Summit in Los Angeles the week of September 11-14, 2017. Packet will have a booth, and I’ll be across the show floor at the Arm Holdings booth, demonstrating a new Works on Arm website.
As of version v1.8.0 beta, arm64 builds are available for Electron. Thanks to Hamid Zamani (HAMIDx9) for the port, which has been tested successfully on the 64-bit Odroid C2. Note: This is a beta release. This is the first release running on upgraded versions of Chrome/Node.js/V8 and most likely will have have some instability and/or regressions.
The LLVM compiler is out in a version 5.0.0 release. LLVM implments the Clang compiler for C, C++, and Objective C.
The release notes suggest improvements to code generation on aarch64 targets, with resulting speedups for code making use of AArch64 AES crypto instructions.
If anyone has public benchmarks showing AES performance between LLVM 5.0.0 and previous versions please share! The comments in the codebase suggest a 40% speedup on private proprietary microbenchmarks for this feature for this release.
SLES (SUSE Linux Enterprise Server) 12 SP3 is out from SUSE. This new release of August 30, 2017 is part of a 13-year lifecycle for the platform, with 10 years of General Support and 3 years of Extended Support.
The release contains new support for the following platforms:
The release notes also give details about firmware upgrades required to support AppliedMicro X-Gene platforms.
I’m not personally running SLES 12 anywhere; first-hand reports from the field would be welcomed.
From this morning’s inbox –
QEMU is a generic and open source machine emulator and virtualizer. The latest release is 2.9.1 as of September 7, 2017; there is also a 2.10.0 version updated on August 30, 2017. QEMU provides both emulation (so that you can run binaries of one architecture on another) as well as virtualization (so that you can run a virtual machine on your host).
GICv3 is the third version of the Generic Interrupt Controller Architecture from Arm. It specifies how to configure an interrupt controller in a bare metal environment, such as one might need to do for running a machine emulator and virtualizer.
If you are running QEMU on Cavium hardware you may find this error message
KVM_SET_DEVICE_ATTR failed: No such device
when launching LinuxKit or more generally when launching QEMU.
If so, then please review the following reports which provide detail about this issue:
and explore the use of the flag
-machine virt,gic_version=3 when running QEMU on GICv3 hardware such as the Cavium ThunderX.
Additional detailed information about GICv3 from Arm Holdings Info Center:
Works on ARM News is released weekly on Fridays. Follow @worksonarm on Twitter for the weekly link, or follow the worksonarm-news project on Github for notifications. Email to [email protected] if you’d like a direct email.
Back and current issues are available from the Works on ARM News archive on Github.