QEMU Xtensa

QEMU for Xtensa supports a special ‘virt’ machine designed for emulation and virtualization purposes. This document describes how to run U-Boot under it.

The QEMU virt machine models a generic Xtensa virtual machine with PCI Bus and Xtensa ISS simcall semihosting support. It supports many different Xtensa CPU configuration. Currently, only dc233c variant is tested against U-Boot.

Building U-Boot

Set the CROSS_COMPILE environment variable as usual, and run:

make qemu-xtensa-dc233c_defconfig make

Note that Xtensa’s toolchain is bounded to CPU configuration, you must use the toolchain built for exactly the same CPU configuration as you selected in U-Boot.

Running U-Boot

The minimal QEMU command line to get U-Boot up and running is:

qemu-system-xtensa -nographic -machine virt -cpu dc233c -semihosting -kernel ./u-boot.elf

You many change cpu option to match your U-Boot CPU type configuration. semihosting option is mandatory because this is the only way to interact with U-Boot in command line.