This title is a little complex.
First QEMU has a ARM model -- virt.
Second 'edu' is a PCI device already in QEMU.
You can think that 'virt' is a SoC/board and 'edu' is a device on SoC/board. But 'virt' doesn't include 'edu' -- at least on the version I built. So I add 'edu' to 'virt'. It is impossible in real hardware, but in simulation world, it is possible.
And finally u-boot could run on the model and find the 'edu' device.
Here we go to introduce how to do all these. Before the steps, we need to know the version of QEMU and U-BOOT. As I clone them from GIT, I list the commit information here. For the GIT repository, you can check my previous blog.
QEMU version:
commit a6ae23831b05a11880b40f7d58e332c45a6b04f7
Merge: 5b396a8 faf4414
Author: Peter Maydell <peter.maydell@linaro.org>
Date: Fri May 3 15:26:09 2019 +0100
Merge remote-tracking branch 'remotes/ehabkost/tags/python-next-pull-request
Python queue, 2019-05-02
* configure: automatically pick python3 is available
(Daniel P. Berrangé)
* tests/acceptance (Cleber Rosa, Philippe Mathieu-Daudé):
* Multi-architecture test support
* Multiple arch-specific boot_linux_console test cases
* Increase verbosity of avocado by default
* docstring improvements
# gpg: Signature made Fri 03 May 2019 01:40:06 BST
# gpg: using RSA key 2807936F984DC5A6
# gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>" [full]
# Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF D1AA 2807 936F 984D C5A
last commit is May 3 2019, it is quiet fresh.