At present the board serial number is hard-coded to 1, and passed to OTP model during initialization. Firmware (FSBL, U-Boot) uses the serial number to generate a unique MAC address for the on-chip ethernet controller. When multiple QEMU 'sifive_u' instances are created and connected to the same subnet, they all have the same MAC address hence it creates a unusable network.
A new "serial" property is introduced to specify the board serial number. When not given, the default serial number 1 is used. v3: - Improve machine function names v2: - Fix the serial setting so it correctly sets Alistair Francis (2): riscv/sifive_u: Fix up file ordering riscv/sifive_u: Add a serial property to the sifive_u SoC Bin Meng (1): riscv/sifive_u: Add a serial property to the sifive_u machine hw/riscv/sifive_u.c | 137 +++++++++++++++++++++--------------- include/hw/riscv/sifive_u.h | 3 + 2 files changed, 85 insertions(+), 55 deletions(-) -- 2.25.1