+
+#define AO_BOOT_APPLICATION 0x5a5aa5a5
+#define AO_BOOT_APPLICATION_CHECK 0xc3c33c3c
+
+static uint32_t ao_boot_application;
+static uint32_t ao_boot_application_check;
+
+static void
+ao_boot_chain(void) {
+ uint32_t sp;
+ uint32_t pc;
+
+ sp = BOOT_FETCH(0);
+ pc = BOOT_FETCH(4);
+ asm ("mov sp, %0" : : "r" (sp));
+ asm ("mov lr, %0" : : "r" (pc));
+ asm ("bx lr");
+}
+
+void
+ao_reboot_application(void)
+{
+ ao_boot_application = AO_BOOT_APPLICATION;
+ ao_boot_application_check = AO_BOOT_APPLICATION_CHECK;
+ ao_arch_reboot();
+}
+