[PATCH v5 04/16] lib: allow to build asn1 decoder and oid registry in SPL

Simon Glass sjg at chromium.org
Sat Feb 19 01:21:01 CET 2022


Hi Philippe,

On Wed, 9 Feb 2022 at 11:01, Philippe Reynes
<philippe.reynes at softathome.com> wrote:
>
> This commit adds the options:
> - SPL_ASN1_DECODER
> - SPL_OID_REGISTRY
>
> Signed-off-by: Philippe Reynes <philippe.reynes at softathome.com>
> ---
>  lib/Kconfig  | 19 +++++++++++++++++++
>  lib/Makefile |  7 +++++--
>  2 files changed, 24 insertions(+), 2 deletions(-)
>
> diff --git a/lib/Kconfig b/lib/Kconfig
> index e749826f22..effe735365 100644
> --- a/lib/Kconfig
> +++ b/lib/Kconfig
> @@ -809,6 +809,16 @@ config ASN1_DECODER
>           and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
>           This option enables the support of the asn1 decoder.
>
> +config SPL_ASN1_DECODER
> +       bool
> +       help
> +         ASN.1 (Abstract Syntax Notation One) is a standard interface
> +         description language for defining data structures that can be
> +         serialized and deserialized in a cross-platform way. It is
> +         broadly used in telecommunications and computer networking,
> +         and especially in cryptography (https://en.wikipedia.org/wiki/ASN.1).
> +         This option enables the support of the asn1 decoder in the SPL.
> +
>  config OID_REGISTRY
>         bool
>         help
> @@ -818,6 +828,15 @@ config OID_REGISTRY
>           unambiguous persistent name (https://en.wikipedia.org/wiki/Object_identifier).
>           Enable fast lookup object identifier registry.
>
> +config SPL_OID_REGISTRY
> +       bool
> +       help
> +         In computing, object identifiers or OIDs are an identifier mechanism
> +         standardized by the International Telecommunication Union (ITU) and
> +         ISO/IEC for naming any object, concept, or "thing" with a globally
> +         unambiguous persistent name (https://en.wikipedia.org/wiki/Object_identifier).
> +         Enable fast lookup object identifier registry in the SPL.
> +
>  config SMBIOS_PARSER
>         bool "SMBIOS parser"
>         help
> diff --git a/lib/Makefile b/lib/Makefile
> index 11b03d1cbe..fc284d68f8 100644
> --- a/lib/Makefile
> +++ b/lib/Makefile
> @@ -17,7 +17,6 @@ obj-$(CONFIG_OF_LIVE) += of_live.o
>  obj-$(CONFIG_CMD_DHRYSTONE) += dhry/
>  obj-$(CONFIG_ARCH_AT91) += at91/
>  obj-$(CONFIG_OPTEE_LIB) += optee/
> -obj-$(CONFIG_ASN1_DECODER) += asn1_decoder.o
>  obj-y += crypto/
>
>  obj-$(CONFIG_AES) += aes.o
> @@ -74,6 +73,7 @@ obj-$(CONFIG_SHA1) += sha1.o
>  obj-$(CONFIG_SHA256) += sha256.o
>  obj-$(CONFIG_SHA512) += sha512.o
>  obj-$(CONFIG_CRYPT_PW) += crypt/
> +obj-$(CONFIG_$(SPL_)ASN1_DECODER) += asn1_decoder.o
>
>  obj-$(CONFIG_$(SPL_)ZLIB) += zlib/
>  obj-$(CONFIG_$(SPL_)ZSTD) += zstd/
> @@ -135,9 +135,9 @@ obj-$(CONFIG_$(SPL_TPL_)STRTO) += strto.o
>  else
>  # Main U-Boot always uses the full printf support
>  obj-y += vsprintf.o strto.o
> -obj-$(CONFIG_OID_REGISTRY) += oid_registry.o
>  obj-$(CONFIG_SSCANF) += sscanf.o
>  endif
> +obj-$(CONFIG_$(SPL_)OID_REGISTRY) += oid_registry.o
>
>  obj-y += abuf.o
>  obj-y += date.o
> @@ -148,6 +148,9 @@ obj-$(CONFIG_LIB_ELF) += elf.o
>  # Build a fast OID lookup registry from include/linux/oid_registry.h
>  #
>  $(obj)/oid_registry.o: $(obj)/oid_registry_data.c
> +ifdef CONFIG_SPL_BUILD
> +CFLAGS_oid_registry.o += -I$(obj)

Do you know why this is needed? I don't see mention of it in the commit message.

> +endif
>
>  $(obj)/oid_registry_data.c: $(srctree)/include/linux/oid_registry.h \
>                             $(srctree)/scripts/build_OID_registry
> --
> 2.17.1
>

Regards,
Simon


More information about the U-Boot mailing list