[target/(msm7627,qsd8250)]: Add support to boot into recovery mode and bootloader fastboot mode

Add recovery partition in page table entry for 7627_surf and 7627_ffa targets.
Add code support to boot into recovery mode using the Home_key.
Add code support to boot into recovery and bootloader (fastboot) mode using adb shell reboot commands.
diff --git a/target/msm7627_surf/init.c b/target/msm7627_surf/init.c
index 8a57d56..a860e07 100644
--- a/target/msm7627_surf/init.c
+++ b/target/msm7627_surf/init.c
@@ -35,6 +35,7 @@
 #include <dev/gpio_keypad.h>
 #include <lib/ptable.h>
 #include <dev/flash.h>
+#include <smem.h>
 
 #define LINUX_MACHTYPE  1007014
 
@@ -66,6 +67,11 @@
 	},
 	{
 		.start = 704,
+		.length = 40 /* 5MB */,
+		.name = "recovery",
+	},
+	{
+		.start = 744,
 		.length = 720 /* 90MB */,
 		.name = "userdata",
 	},
@@ -124,3 +130,19 @@
 {
     return LINUX_MACHTYPE;
 }
+
+unsigned check_reboot_mode(void)
+{
+    unsigned mode = 0;
+    unsigned int mode_len = sizeof(mode);
+    unsigned smem_status;
+
+    smem_status = smem_read_alloc_entry(SMEM_APPS_BOOT_MODE,
+					&mode, mode_len );
+    if(smem_status)
+    {
+      dprintf(CRITICAL, "ERROR: unable to read shared memory for reboot mode\n");
+      return 0;
+    }
+    return mode;
+}