From 6aa3a61657a60ad2c422c720bfaa31589a6e7334 Mon Sep 17 00:00:00 2001 From: Alistair Francis Date: Fri, 11 Nov 2016 18:51:20 -0800 Subject: generic-loader: file: Only set a PC if a CPU is specified This patch fixes the generic-loader file loading to only set the program counter if a CPU is specified. This follows what is written in the documentation and was always part of the original intention. Signed-off-by: Alistair Francis Reviewed-by: Edgar E. Iglesias Message-id: 537bf4d08be7acf7a89b590cff69e19db7f0a6cd.1478908712.git.alistair.francis@xilinx.com Signed-off-by: Peter Maydell --- hw/core/generic-loader.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'hw/core/generic-loader.c') diff --git a/hw/core/generic-loader.c b/hw/core/generic-loader.c index 79ab6df357..208f549dff 100644 --- a/hw/core/generic-loader.c +++ b/hw/core/generic-loader.c @@ -93,7 +93,12 @@ static void generic_loader_realize(DeviceState *dev, Error **errp) "image"); return; } - s->set_pc = true; + /* The user specified a file, only set the PC if they also specified + * a CPU to use. + */ + if (s->cpu_num != CPU_NONE) { + s->set_pc = true; + } } else if (s->addr) { /* User is setting the PC */ if (s->data || s->data_len || s->data_be) { -- cgit v1.2.3