summaryrefslogtreecommitdiff
path: root/payloads/libpayload/include/libpayload.h
diff options
context:
space:
mode:
authorMaximilian Brune <maximilian.brune@9elements.com>2023-09-16 19:49:39 +0200
committerLean Sheng Tan <sheng.tan@9elements.com>2024-03-15 10:09:43 +0000
commitb3e336c51d02c678a4d15573f4edb5834f39bb36 (patch)
treece9cfaa161472fa337f9ed46d1e701cb15692fb2 /payloads/libpayload/include/libpayload.h
parent8627112424796e37f4b20e176cc7524c0db828bc (diff)
treewide: Move stdlib.h to commonlib
This patch moves commonlib/stdlib.h -> commonlib/bsd/stdlib.h, since all code is BSD licensed anyway. It also moves some code from libpayloads stdlib.h to commonlib/bsd/stdlib.h so that it can be shared with coreboot. This is useful for a subsequent commit that adds devicetree.c into commonlib. Also we don't support DMA on arm platforms in coreboot (only libpayload) therefore `dma_malloc()` has been removed and `dma_coherent()` has been moved to architecture specific functions. Any architecture that tries to use `dma_coherent()` now will get a compile time error. In order to not break current platforms like mb/google/herobrine which make use of the commonlib/storage/sdhci.c controller which in turn uses `dma_coherent` a stub has been added to arch/arm64/dma.c. Signed-off-by: Maximilian Brune <maximilian.brune@9elements.com> Change-Id: I3a7ab0d1ddcc7ce9af121a61b4d4eafc9e563a8a Reviewed-on: https://review.coreboot.org/c/coreboot/+/77969 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'payloads/libpayload/include/libpayload.h')
-rw-r--r--payloads/libpayload/include/libpayload.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/payloads/libpayload/include/libpayload.h b/payloads/libpayload/include/libpayload.h
index 05164e5da9..c6d2fc629b 100644
--- a/payloads/libpayload/include/libpayload.h
+++ b/payloads/libpayload/include/libpayload.h
@@ -525,4 +525,15 @@ int getline(char *buffer, int len);
/* Defined in arch/${ARCH}/selfboot.c */
void selfboot(void *entry);
+/* Enter remote GDB mode. Will initialize connection if not already up. */
+void gdb_enter(void);
+/* Disconnect existing GDB connection if one exists. */
+void gdb_exit(s8 exit_status);
+
+void __noreturn halt(void);
+#if CONFIG(LP_REMOTEGDB)
+/* Override abort()/halt() to trap into GDB if it is enabled. */
+#define halt() do { gdb_enter(); halt(); } while (0)
+#endif
+
#endif