summary refs log tree commit diff stats
path: root/include/hw/riscv/sifive_u.h
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2019-11-16 07:08:50 -0800
committerAlistair Francis <alistair.francis@wdc.com>2020-04-29 13:16:36 -0700
commit3ca109c3f8d6225efdfa801252d25f3e526b004a (patch)
tree320c5925140884bfa01a8f00eee99fff7aca407a /include/hw/riscv/sifive_u.h
parentfda5b000faf401cf595c4e87809eac3378ddbfd4 (diff)
downloadfocaccia-qemu-3ca109c3f8d6225efdfa801252d25f3e526b004a.tar.gz
focaccia-qemu-3ca109c3f8d6225efdfa801252d25f3e526b004a.zip
riscv/sifive_u: Add a serial property to the sifive_u machine
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.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <1573916930-19068-1-git-send-email-bmeng.cn@gmail.com>
[ Changed by AF:
 - Use the SoC's serial property to pass the info to the SoC
 - Fixup commit title
 - Rebase on file restructuring
]
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Diffstat (limited to 'include/hw/riscv/sifive_u.h')
-rw-r--r--include/hw/riscv/sifive_u.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/hw/riscv/sifive_u.h b/include/hw/riscv/sifive_u.h
index a2baa1de5f..16c297ec5f 100644
--- a/include/hw/riscv/sifive_u.h
+++ b/include/hw/riscv/sifive_u.h
@@ -61,6 +61,7 @@ typedef struct SiFiveUState {
     int fdt_size;
 
     bool start_in_flash;
+    uint32_t serial;
 } SiFiveUState;
 
 enum {