[GSoC-2015] Introduction – Qemu Support for ARM64


A new post after a long time. I’ll introduce myself again for the benefit of (few? :P) faded memories. I am Naman, a senior year undergraduate from India. I worked on developing alternate resource-efficient CBFS access patterns for ARM SoCs as a part of GSoC-2014. I am fortunate enough to engage as a GSoC student for coreboot this year too. I have had a busy semester but finally, as the summers arrive, I look forward to dive into the riveting world of coreboot hacking!

This summer I would be working to introduce a qemu target for arm64 architecture supporting coreboot. Currently, In order to work on aarch64, users require to have suitable hardware. This project intends to clear away this constraint. We have a growing aarch64 support with the tegra132 port, but no support for arm64 in emulation. Having a qemu target might be helpful for many projects which aim to arm64 work.

I would be working on this project over a course of three months, starting with developing a memory map structure for coreboot stage loading.  Presently, arm64 isn’t a supported architecture for coreboot in emulation, mainly due to the fact that the port we have runs in 32-bit for bootblock and romstage stages. I would work to re-structure this and get these stages running in 64-bit. The project also aims to bring in SMP support in emulation as a long term goal.

During the set-up phase, I have been attempting to grasp the currently supported qemu x86 target. I have also been looking at some documentation for arm64 on qemu and its code structure. Awaiting the official coding period which starts May 25th, I ready myself to flag off the project and hope to successfully complete it on time. 🙂