All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v2 00/17][RESENT] efi_loader: EFI_UNICODE_COLLATION_PROTOCOL
@ 2018-08-31 19:31 Heinrich Schuchardt
  2018-08-31 19:31 ` [U-Boot] [PATCH v2 01/17] vsprintf.c: use #if CONFIG_IS_ENABLED(EFI_LOADER) Heinrich Schuchardt
                   ` (16 more replies)
  0 siblings, 17 replies; 22+ messages in thread
From: Heinrich Schuchardt @ 2018-08-31 19:31 UTC (permalink / raw)
  To: u-boot

This patchset implements the EFI_UNICODE_COLLATION_PROTOCOL and provides
unit tests.

Additionally some errors when handling Unicode strings are fixed.
* possible stack overflow
* incorrect handling of precision attribute in printf()
* incorrect limit on variable length

Some old Unicode functions are replaced.

An error in Unicode handling in the FAT file system shall be fixed after
merging Takahiro's FAT patches. Until then some redundancy between old and
new Unicode functions remains.

v2:
	use CONFIG_IS_ENABLED(EFI_LOADER) instead of
	defined(CONFIG_EFI_LOADER) && !defined(CONFIG_SPL_BUILD)
	add configuration option EFI_UNICODE_CAPITALIZATION
	use ut_assert*() for testing
	test illegal Unicode sequences
	add more comments

Heinrich Schuchardt (17):
  vsprintf.c: use #if CONFIG_IS_ENABLED(EFI_LOADER)
  test: print_ut.c use #if CONFIG_IS_ENABLED(EFI_LOADER)
  lib: build charset.o only if needed
  efi_loader: rename utf16_strlen, utf16_strnlen
  lib: charset: utility functions for Unicode
  test: unit tests for Unicode functions
  lib: vsprintf: correct printing of Unicode strings
  test: test printing Unicode
  efi_loader: remove limit on variable length
  efi_loader: don't use unlimited stack as buffer
  efi_loader: buffer size for load options
  lib: charset: remove obsolete functions
  efi_loader: capitalization table
  lib: charset: upper/lower case conversion
  test: tests for utf_to_lower() utf_to_upper().
  efi_loader: EFI_UNICODE_COLLATION_PROTOCOL
  efi_selftest: EFI_UNICODE_COLLATION_PROTOCOL

 MAINTAINERS                                   |    4 +
 cmd/bootefi.c                                 |    6 +-
 include/capitalization.h                      | 2028 +++++++++++++++++
 include/charset.h                             |  187 +-
 include/cp1250.h                              |   40 +
 include/cp437.h                               |   40 +
 include/efi_api.h                             |   21 +
 include/efi_loader.h                          |    5 +
 include/test/suites.h                         |    3 +-
 lib/Makefile                                  |    5 +
 lib/charset.c                                 |  359 ++-
 lib/efi_loader/Kconfig                        |   10 +
 lib/efi_loader/Makefile                       |   18 +-
 lib/efi_loader/efi_bootmgr.c                  |    2 +-
 lib/efi_loader/efi_boottime.c                 |    6 +
 lib/efi_loader/efi_console.c                  |   20 +-
 lib/efi_loader/efi_file.c                     |    2 +-
 lib/efi_loader/efi_unicode_collation.c        |  329 +++
 lib/efi_loader/efi_variable.c                 |   52 +-
 lib/efi_selftest/Makefile                     |    1 +
 .../efi_selftest_unicode_collation.c          |  260 +++
 lib/vsprintf.c                                |   29 +-
 test/Kconfig                                  |    8 +
 test/Makefile                                 |    1 +
 test/cmd_ut.c                                 |   13 +-
 test/print_ut.c                               |    6 +-
 test/unicode_ut.c                             |  539 +++++
 27 files changed, 3824 insertions(+), 170 deletions(-)
 create mode 100644 include/capitalization.h
 create mode 100644 include/cp1250.h
 create mode 100644 include/cp437.h
 create mode 100644 lib/efi_loader/efi_unicode_collation.c
 create mode 100644 lib/efi_selftest/efi_selftest_unicode_collation.c
 create mode 100644 test/unicode_ut.c

-- 
2.18.0

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2018-09-01  9:50 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-31 19:31 [U-Boot] [PATCH v2 00/17][RESENT] efi_loader: EFI_UNICODE_COLLATION_PROTOCOL Heinrich Schuchardt
2018-08-31 19:31 ` [U-Boot] [PATCH v2 01/17] vsprintf.c: use #if CONFIG_IS_ENABLED(EFI_LOADER) Heinrich Schuchardt
2018-08-31 19:31 ` [U-Boot] [PATCH v2 02/17] test: print_ut.c " Heinrich Schuchardt
2018-08-31 19:31 ` [U-Boot] [PATCH v2 03/17] lib: build charset.o only if needed Heinrich Schuchardt
2018-08-31 19:31 ` [U-Boot] [PATCH v2 04/17] efi_loader: rename utf16_strlen, utf16_strnlen Heinrich Schuchardt
2018-08-31 19:31 ` [U-Boot] [PATCH v2 05/17] lib: charset: utility functions for Unicode Heinrich Schuchardt
2018-08-31 19:31 ` [U-Boot] [PATCH v2 06/17] test: unit tests for Unicode functions Heinrich Schuchardt
2018-08-31 19:31 ` [U-Boot] [PATCH v2 07/17] lib: vsprintf: correct printing of Unicode strings Heinrich Schuchardt
2018-09-01  9:31   ` Alexander Graf
2018-08-31 19:31 ` [U-Boot] [PATCH v2 08/17] test: test printing Unicode Heinrich Schuchardt
2018-08-31 19:31 ` [U-Boot] [PATCH v2 09/17] efi_loader: remove limit on variable length Heinrich Schuchardt
2018-08-31 19:31 ` [U-Boot] [PATCH v2 10/17] efi_loader: don't use unlimited stack as buffer Heinrich Schuchardt
2018-08-31 19:31 ` [U-Boot] [PATCH v2 11/17] efi_loader: buffer size for load options Heinrich Schuchardt
2018-08-31 19:31 ` [U-Boot] [PATCH v2 12/17] lib: charset: remove obsolete functions Heinrich Schuchardt
2018-08-31 19:31 ` [U-Boot] [PATCH v2 13/17] efi_loader: capitalization table Heinrich Schuchardt
2018-09-01  9:43   ` Alexander Graf
2018-09-01  9:50     ` Alexander Graf
2018-08-31 19:31 ` [U-Boot] [PATCH 14/17] lib: charset: upper/lower case conversion Heinrich Schuchardt
2018-08-31 19:31 ` [U-Boot] [PATCH v2 15/17] test: tests for utf_to_lower() utf_to_upper() Heinrich Schuchardt
2018-09-01  9:47   ` Alexander Graf
2018-08-31 19:31 ` [U-Boot] [PATCH v2 16/17] efi_loader: EFI_UNICODE_COLLATION_PROTOCOL Heinrich Schuchardt
2018-08-31 19:31 ` [U-Boot] [PATCH v2 17/17] efi_selftest: EFI_UNICODE_COLLATION_PROTOCOL Heinrich Schuchardt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.