Rework memory information passing to BL3-x images
The issues addressed in this patch are:
1. Remove meminfo_t from the common interfaces in BL3-x,
expecting that platform code will find a suitable mechanism
to determine the memory extents in these images and provide
it to the BL3-x images.
2. Remove meminfo_t and bl31_plat_params_t from all FVP BL3-x
code as the images use link-time information to determine
memory extents.
meminfo_t is still used by common interface in BL1/BL2 for
loading images
Change-Id: I4e825ebf6f515b59d84dc2bdddf6edbf15e2d60f
diff --git a/include/bl2/bl2.h b/include/bl2/bl2.h
index 5936d84..4cd3cee 100644
--- a/include/bl2/bl2.h
+++ b/include/bl2/bl2.h
@@ -55,11 +55,6 @@
******************************************************************************/
extern struct bl31_params *bl2_plat_get_bl31_params(void);
-/*******************************************************************************
- * This function returns a pointer to the shared memory that the platform has
- * kept aside to pass platform related information that BL3-1 could need
- ******************************************************************************/
-extern struct bl31_plat_params *bl2_plat_get_bl31_plat_params(void);
/*******************************************************************************
* This function returns a pointer to the shared memory that the platform
diff --git a/include/bl31/bl31.h b/include/bl31/bl31.h
index ad6e70e..e77c554 100644
--- a/include/bl31/bl31.h
+++ b/include/bl31/bl31.h
@@ -43,6 +43,7 @@
*****************************************/
struct meminfo;
struct entry_point_info;
+struct bl31_parms;
/*******************************************************************************
* Function prototypes
@@ -53,9 +54,9 @@
extern uint32_t bl31_get_next_image_type(void);
extern void bl31_prepare_next_image_entry();
extern struct entry_point_info *bl31_get_next_image_info(uint32_t type);
+extern void bl31_early_platform_setup(struct bl31_params *from_bl2,
+ void *plat_params_from_bl2);
extern void bl31_platform_setup(void);
-extern struct meminfo *bl31_plat_get_bl32_mem_layout(void);
-extern struct meminfo *bl31_plat_sec_mem_layout(void);
-extern void bl31_register_bl32_init(int32_t (*)(struct meminfo *));
+extern void bl31_register_bl32_init(int32_t (*)(void));
#endif /* __BL31_H__ */
diff --git a/include/common/bl_common.h b/include/common/bl_common.h
index e3e4a43..47b1e40e 100644
--- a/include/common/bl_common.h
+++ b/include/common/bl_common.h
@@ -173,18 +173,6 @@
} bl31_params_t;
-/***************************************************************************
- * This structure provides platform specific data that needs to be known to
- * BL31. Currently, The loader updates the memory information available for
- * each binary
- ***************************************************************************/
-typedef struct bl31_plat_params {
- meminfo_t bl31_meminfo;
- meminfo_t bl32_meminfo;
- meminfo_t bl33_meminfo;
-} bl31_plat_params_t;
-
-
/*
* Compile time assertions related to the 'entry_point_info' structure to
* ensure that the assembler and the compiler view of the offsets of