[U-Boot] [PATCH 11/15] efi_loader: capitalization table

Simon Glass sjg at chromium.org
Thu Aug 30 02:51:17 UTC 2018


Hi,

On 27 August 2018 at 02:37, Alexander Graf <agraf at suse.de> wrote:
>
>
>> Am 27.08.2018 um 10:30 schrieb Mike FABIAN <maiku.fabian at gmail.com>:
>>
>> Alexander Graf <agraf at suse.de> さんは書きました:
>>
>>>> On 26.08.18 21:00, Heinrich Schuchardt wrote:
>>>>> On 08/26/2018 08:22 PM, Alexander Graf wrote:
>>>>>
>>>>>
>>>>>> On 11.08.18 17:28, Heinrich Schuchardt wrote:
>>>>>> This patch provides a define to initialize a table that maps lower to
>>>>>> capital letters for Unicode code point 0x0000 - 0xffff.
>>>>>>
>>>>>> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
>>>>>> ---
>>>>>> MAINTAINERS              |    1 +
>>>>>> include/capitalization.h | 1909 ++++++++++++++++++++++++++++++++++++++
>>>>>> 2 files changed, 1910 insertions(+)
>>>>>> create mode 100644 include/capitalization.h
>>>>>>
>>>>>> diff --git a/MAINTAINERS b/MAINTAINERS
>>>>>> index a324139471..0a543309f2 100644
>>>>>> --- a/MAINTAINERS
>>>>>> +++ b/MAINTAINERS
>>>>>> @@ -368,6 +368,7 @@ F:    doc/DocBook/efi.tmpl
>>>>>> F:    doc/README.uefi
>>>>>> F:    doc/README.iscsi
>>>>>> F:    Documentation/efi.rst
>>>>>> +F:    include/capitalization.h
>>>>>> F:    include/efi*
>>>>>> F:    include/pe.h
>>>>>> F:    include/asm-generic/pe.h
>>>>>> diff --git a/include/capitalization.h b/include/capitalization.h
>>>>>> new file mode 100644
>>>>>> index 0000000000..50d5108f98
>>>>>> --- /dev/null
>>>>>> +++ b/include/capitalization.h
>>>>>> @@ -0,0 +1,1909 @@
>>>>>> +/* SPDX-License-Identifier: Unicode-DFS-2016 */
>>>>>> +/*
>>>>>> + * Correspondence table for small and capital Unicode letters in the range of
>>>>>> + * 0x0000 - 0xffff based on http://www.unicode.org/Public/UCA/11.0.0/allkeys.txt
>>>>>> + */
>>>>>> +
>>>>>> +struct capitalization_table {
>>>>>> +    u16 upper;
>>>>>> +    u16 lower;
>>>>>> +};
>>>>>> +
>>>>>> +#define UNICODE_CAPITALIZATION_TABLE { \
>>>>>
>>>>> Ugh, that is a *lot* of data. How much does the binary size grow with
>>>>> the table compiled in?
>>
>> That data is also in glibc. I don’t know whether you use glibc though
>> ...
>
> U-Boot is a standalone OS so to say, we do not use glibc (except for sandbox, but that's a special target).
>
> The main problem is that some times people cram U-Boot into very tight spaces, like small flash chips or even on-chip RAM. So we have to be very cautious on space requirements.

Indeed.

Most archs use a private glib so do not build with one that supports this table.

Wouldn't it be better to put this in a C file as a const struct?

If it is big that's OK, we just need to add a CONFIG option for it. If
we already have EFI enabled, perhaps it doesn't matter, since it is
pretty big.

Regards,
Simon


More information about the U-Boot mailing list