[PATCH] sandbox: implement DEBUG_LL support
Sascha Hauer
sha at pengutronix.de
Tue Oct 4 23:36:12 PDT 2022
On Tue, Oct 04, 2022 at 05:48:00PM +0200, Ahmad Fatoum wrote:
> We can't currently debug malloc() or early parts of the driver model on
> sandbox, because we require both to allocate the sandbox console device.
>
> To make debugging such early startup easier in future, add some simple
> DEBUG_LL support.
>
> Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
> ---
> arch/sandbox/Kconfig | 1 +
> arch/sandbox/Makefile | 3 ++-
> arch/sandbox/include/asm/debug_ll.h | 16 ++++++++++++++++
> 3 files changed, 19 insertions(+), 1 deletion(-)
> create mode 100644 arch/sandbox/include/asm/debug_ll.h
Applied, thanks
Sascha
>
> diff --git a/arch/sandbox/Kconfig b/arch/sandbox/Kconfig
> index a8bca8757f28..d3889fcac03c 100644
> --- a/arch/sandbox/Kconfig
> +++ b/arch/sandbox/Kconfig
> @@ -16,6 +16,7 @@ config SANDBOX
> select ARCH_HAS_STACK_DUMP if ASAN
> select GENERIC_FIND_NEXT_BIT
> select HAS_ARCH_SJLJ
> + select HAS_ASM_DEBUG_LL
> default y
>
> config ARCH_TEXT_BASE
> diff --git a/arch/sandbox/Makefile b/arch/sandbox/Makefile
> index aee6bccc9c14..d5ba05ba866f 100644
> --- a/arch/sandbox/Makefile
> +++ b/arch/sandbox/Makefile
> @@ -30,7 +30,8 @@ KBUILD_CFLAGS += -Dmalloc=barebox_malloc -Dcalloc=barebox_calloc \
> -Dopendir=barebox_opendir -Dreaddir=barebox_readdir \
> -Dclosedir=barebox_closedir -Dreadlink=barebox_readlink \
> -Doptarg=barebox_optarg -Doptind=barebox_optind \
> - -Dsetjmp=barebox_setjmp -Dlongjmp=barebox_longjmp
> + -Dsetjmp=barebox_setjmp -Dlongjmp=barebox_longjmp \
> + -Dputchar=barebox_putchar
>
> machdirs := $(patsubst %,arch/sandbox/mach-%/,$(machine-y))
>
> diff --git a/arch/sandbox/include/asm/debug_ll.h b/arch/sandbox/include/asm/debug_ll.h
> new file mode 100644
> index 000000000000..7bef8710581e
> --- /dev/null
> +++ b/arch/sandbox/include/asm/debug_ll.h
> @@ -0,0 +1,16 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#ifndef __ASM_DEBUG_LL__
> +#define __ASM_DEBUG_LL__
> +
> +#undef putchar
> +
> +static inline void PUTC_LL(char ch)
> +{
> + int putchar(int c);
> + putchar(ch);
> +}
> +
> +#define putchar barebox_putchar
> +
> +#endif /* __ASM_DEBUG_LL__ */
> --
> 2.30.2
>
>
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list