summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorCédric Le Goater <clg@kaod.org>2020-01-30 16:02:02 +0000
committerPeter Maydell <peter.maydell@linaro.org>2020-01-30 16:02:02 +0000
commit1a15311a12fa6a5c865e7f779e6e1b2557440626 (patch)
tree0d267758e85e7738280f1d463bf81a72cc944e14 /include
parent55efb365191635d9839600f1f44502769e66aabf (diff)
downloadqemu-1a15311a12fa6a5c865e7f779e6e1b2557440626.zip
hw/arm/aspeed: add a 'execute-in-place' property to boot directly from CE0
The overhead for the OpenBMC firmware images using the a custom U-Boot is around 2 seconds, which is fine, but with a U-Boot from mainline, it takes an extra 50 seconds or so to reach Linux. A quick survey on the number of reads performed on the flash memory region gives the following figures : OpenBMC U-Boot 922478 (~ 3.5 MBytes) Mainline U-Boot 20569977 (~ 80 MBytes) QEMU must be trashing the TCG TBs and reloading text very often. Some addresses are read more than 250.000 times. Until we find a solution to improve boot time, execution from MMIO is not activated by default. Setting this option also breaks migration compatibility. Signed-off-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-id: 20200114103433.30534-5-clg@kaod.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include')
-rw-r--r--include/hw/arm/aspeed.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/hw/arm/aspeed.h b/include/hw/arm/aspeed.h
index 4423cd0cda..18521484b9 100644
--- a/include/hw/arm/aspeed.h
+++ b/include/hw/arm/aspeed.h
@@ -19,6 +19,8 @@ typedef struct AspeedBoardState AspeedBoardState;
typedef struct AspeedMachine {
MachineState parent_obj;
+
+ bool mmio_exec;
} AspeedMachine;
#define ASPEED_MACHINE_CLASS(klass) \