x86: Support jumping to a UPL image
authorSimon Glass <sjg@chromium.org>
Sat, 11 Jan 2025 00:00:21 +0000 (17:00 -0700)
committerTom Rini <trini@konsulko.com>
Wed, 22 Jan 2025 23:08:23 +0000 (17:08 -0600)
Add a function to allow x86 boards to jump to a UPL images. Currently
only 32-bit entry is supported.

Signed-off-by: Simon Glass <sjg@chromium.org>
arch/x86/lib/bootm.c

index b37f42f..0827a88 100644 (file)
@@ -259,3 +259,14 @@ int do_bootm_linux(int flag, struct bootm_info *bmi)
 
        return boot_jump_linux(images);
 }
+
+int arch_upl_jump(ulong entry, const struct abuf *buf)
+{
+       typedef EFIAPI void (*h_func)(void *hoff);
+       h_func func;
+
+       func = (h_func)(ulong)entry;
+       func(buf->data);
+
+       return -EFAULT;
+}