Implement load_image in terms of IO abstraction
The modified implementation uses the IO abstraction rather than
making direct semi-hosting calls. The semi-hosting driver is now
registered for the FVP platform during initialisation of each boot
stage where it is used. Additionally, the FVP platform includes a
straightforward implementation of 'plat_get_image_source' which
provides a generic means for the 'load_image' function to determine
how to access the image data.
Change-Id: Ia34457b471dbee990c7b3c79de7aee4ceea51aa6
diff --git a/plat/fvp/platform.mk b/plat/fvp/platform.mk
index 5da2acd..2efc7bc 100644
--- a/plat/fvp/platform.mk
+++ b/plat/fvp/platform.mk
@@ -35,14 +35,16 @@
PLAT_BL1_C_VPATH := drivers/arm/interconnect/cci-400 \
drivers/arm/peripherals/pl011 \
lib/semihosting \
- lib/stdlib
+ lib/stdlib \
+ drivers/io
PLAT_BL1_S_VPATH := lib/semihosting/${ARCH}
PLAT_BL2_C_VPATH := drivers/arm/interconnect/cci-400 \
drivers/arm/peripherals/pl011 \
lib/stdlib \
- lib/semihosting
+ lib/semihosting \
+ drivers/io
PLAT_BL2_S_VPATH := lib/semihosting/${ARCH}
@@ -50,7 +52,8 @@
drivers/arm/peripherals/pl011 \
lib/semihosting \
lib/stdlib \
- drivers/power
+ drivers/power \
+ drivers/io
PLAT_BL31_S_VPATH := lib/semihosting/${ARCH}
@@ -58,7 +61,9 @@
mmio.o \
pl011.o \
semihosting.o \
- sysreg_helpers.o
+ sysreg_helpers.o \
+ plat_io_storage.o \
+ io_semihosting.o
BL1_OBJS += bl1_plat_setup.o \
bl1_plat_helpers.o \