From: Chen Pei Date: Wed, 18 Oct 2023 02:42:05 +0000 (+0800) Subject: lib: utils/serial: Optimize semihosting_putc implementation X-Git-Tag: v1.4~64 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=07f2ccd990de5f55ce7d194846fff91b6c3aedf6;p=platform%2Fkernel%2Fopensbi.git lib: utils/serial: Optimize semihosting_putc implementation For some debuggers that do not implement SYSWRITEC and SYSREADC operations, we can use SYSWRITE and SYSREAD instead like the implementation of semihosting_getc(). Signed-off-by: Chen Pei Reviewed-by: Xiang W Reviewed-by: Anup Patel --- diff --git a/lib/utils/serial/semihosting.c b/lib/utils/serial/semihosting.c index ce65887..a27c69e 100644 --- a/lib/utils/serial/semihosting.c +++ b/lib/utils/serial/semihosting.c @@ -160,11 +160,6 @@ static long semihosting_write(long fd, const void *memp, size_t len) /* clang-format on */ -static void semihosting_putc(char ch) -{ - semihosting_trap(SYSWRITEC, &ch); -} - static unsigned long semihosting_puts(const char *str, unsigned long len) { char ch; @@ -183,6 +178,11 @@ static unsigned long semihosting_puts(const char *str, unsigned long len) return (ret < 0) ? 0 : ret; } +static void semihosting_putc(char ch) +{ + semihosting_puts(&ch, 1); +} + static int semihosting_getc(void) { char ch = 0;