Add locking for the hypervisor's page table.

Bug: 133217279

Change-Id: I04216838006b02b03a8f3f900d4dbd18521d5db2
diff --git a/src/plat.c b/src/plat.c
index 6a0ba54..d6c5a4a 100644
--- a/src/plat.c
+++ b/src/plat.c
@@ -38,8 +38,10 @@
  * by the loader.
  */
 #pragma weak plat_get_initrd_range
-void plat_get_initrd_range(paddr_t *begin, paddr_t *end, struct mpool *ppool)
+void plat_get_initrd_range(struct mm_stage1_locked stage1_locked,
+			   paddr_t *begin, paddr_t *end, struct mpool *ppool)
 {
+	(void)stage1_locked;
 	(void)ppool;
 
 	*begin = layout_initrd_begin();
@@ -63,17 +65,19 @@
  * initrd is provided separately.
  */
 #pragma weak plat_get_boot_params
-bool plat_get_boot_params(struct boot_params *p, struct mpool *ppool)
+bool plat_get_boot_params(struct mm_stage1_locked stage1_locked,
+			  struct boot_params *p, struct mpool *ppool)
 {
 	struct fdt_header *fdt;
 	struct fdt_node n;
 	bool ret = false;
 
-	plat_get_initrd_range(&p->initrd_begin, &p->initrd_end, ppool);
+	plat_get_initrd_range(stage1_locked, &p->initrd_begin, &p->initrd_end,
+			      ppool);
 	p->kernel_arg = plat_get_kernel_arg();
 
 	/* Get the memory map from the FDT. */
-	fdt = fdt_map(plat_get_fdt_addr(), &n, ppool);
+	fdt = fdt_map(stage1_locked, plat_get_fdt_addr(), &n, ppool);
 	if (!fdt) {
 		return false;
 	}
@@ -91,7 +95,7 @@
 	ret = true;
 
 out_unmap_fdt:
-	if (!fdt_unmap(fdt, ppool)) {
+	if (!fdt_unmap(stage1_locked, fdt, ppool)) {
 		dlog("Unable to unmap fdt.");
 		return false;
 	}
@@ -110,7 +114,8 @@
  * another loader can load the data for it.
  */
 #pragma weak plat_update_boot_params
-bool plat_update_boot_params(struct boot_params_update *p, struct mpool *ppool)
+bool plat_update_boot_params(struct mm_stage1_locked stage1_locked,
+			     struct boot_params_update *p, struct mpool *ppool)
 {
-	return fdt_patch(plat_get_fdt_addr(), p, ppool);
+	return fdt_patch(stage1_locked, plat_get_fdt_addr(), p, ppool);
 }