from Hacker News

Exploring AArch64 assembler

by b3h3moth on 10/9/16, 12:36 PM with 13 comments

  • by Lichtso on 10/10/16, 5:37 PM

    For those who are interested in running your software on AArch64 hardware directly, without any additional firmware or operating system in between, I've developed a boot loader and tool chain to test and execute unikernels on a Pine64:

    https://github.com/Lichtso/UnikernelExperiments

  • by dpc_pw on 10/11/16, 2:30 AM

    This article is very short and shallow. I mean... you can apply it to any architecture that Qemu supports (and there are many). Altogether there are 2 assembler instructions in the whole article. Not much of an exploration...

    Qemu usermode emulation is nice, but the full-hardware emulation is way more interesting. Eg. in https://github.com/dpc/titanos - toy kernel for Aarch64 written in our lord-and-saviour programming language: Rust, I use Qemu to run kernel and unittests for that kernel. With Qemu gdb stubs it's like having a software-defined hardware platform with a JTAG debugger attached. `make run` and it runs - no need to plug cables and press reset buttons.

  • by faragon on 10/10/16, 9:54 PM

    I recommend the Pine 64 board. I bought one (2GB RAM, gigabit ethernet model, for 29$ [1]), and despite running its 4 cores at just 1.2GHz, it is quite speedy, and rock solid running Debian 24/7 as ARM64 build server.

    [1] https://www.pine64.org/ (I'm not related to Pine, just a satisfied user)

  • by wyldfire on 10/10/16, 9:44 PM

    Another cool thing you can do is setup the kernel's binfmt handler to run the user-mode qemu emulation automatically.
  • by ndesaulniers on 10/11/16, 12:13 AM

    > single-board computers that support the 64-bit mode of ARMv8 are less common

    hey, you can use Nexus 5x, 6p or Pixel phones! I've been meaning to write a blog post about this.