libsel4platsupport: fix seL4_DebugPutChar detection
Serial console support can fall back to using seL4_DebugPutChar. But
it does this based on the kernel's CONFIG_DEBUG_BUILD config parameter
which is wrong--the support is actually based on CONFIG_PRINTING which
is implictly enabled when CONFIG_DEBUG_BUILD is set. This is confirmed
by the fact the actual usage of seL4_DebugPutChar is conditional on
CONFIG_PRINTING. Replace CONFIG_DEBUG_BUILD use with CONFIG_PRINTING.
This has the added benefit of fixing sel4test serial server test cases
when a release build is used.
Bug: 250071553
Change-Id: I50cc2c898be43ff95f4c8fa53c6ed7bb3446bca2
diff --git a/libsel4platsupport/src/common.c b/libsel4platsupport/src/common.c
index 38dfdca..3958d85 100644
--- a/libsel4platsupport/src/common.c
+++ b/libsel4platsupport/src/common.c
@@ -62,7 +62,7 @@
static seL4_CPtr device_cap = 0;
extern char __executable_start[];
-#if !(defined(CONFIG_LIB_SEL4_PLAT_SUPPORT_USE_SEL4_DEBUG_PUTCHAR) && defined(CONFIG_DEBUG_BUILD))
+#if !(defined(CONFIG_LIB_SEL4_PLAT_SUPPORT_USE_SEL4_DEBUG_PUTCHAR) && defined(CONFIG_PRINTING))
static void *__map_device_page(void *cookie, uintptr_t paddr, size_t size,
int cached, ps_mem_flags_t flags);
@@ -207,7 +207,7 @@
}
memset(&_simple_mem, 0, sizeof(simple_t));
memset(&_vka_mem, 0, sizeof(vka_t));
-#if defined(CONFIG_LIB_SEL4_PLAT_SUPPORT_USE_SEL4_DEBUG_PUTCHAR) && defined(CONFIG_DEBUG_BUILD)
+#if defined(CONFIG_LIB_SEL4_PLAT_SUPPORT_USE_SEL4_DEBUG_PUTCHAR) && defined(CONFIG_PRINTING)
/* only support putchar on a debug kernel */
setup_status = SETUP_COMPLETE;
#else
@@ -238,7 +238,7 @@
assert(!"You cannot recover");
return -1;
}
-#if defined(CONFIG_LIB_SEL4_PLAT_SUPPORT_USE_SEL4_DEBUG_PUTCHAR) && defined(CONFIG_DEBUG_BUILD)
+#if defined(CONFIG_LIB_SEL4_PLAT_SUPPORT_USE_SEL4_DEBUG_PUTCHAR) && defined(CONFIG_PRINTING)
/* only support putchar on a debug kernel */
setup_status = SETUP_COMPLETE;
#else