Re: [PATCH 4/4] x86/efi: print size and base in binary units in efi_print_memmap

From: Matt Fleming
Date: Fri Jan 08 2016 - 07:19:31 EST


On Sun, 27 Dec, at 04:35:12PM, Andy Shevchenko wrote:
> On Mon, Dec 21, 2015 at 6:16 PM, Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> wrote:
> >> diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
> >> index 635a955..030ba91 100644
> >> --- a/arch/x86/platform/efi/efi.c
> >> +++ b/arch/x86/platform/efi/efi.c
> >> @@ -222,6 +222,25 @@ int __init efi_memblock_x86_reserve_range(void)
> >> return 0;
> >> }
> >>
> >> +char * __init efi_size_format(char *buf, size_t size, u64 bytes)
> >> +{
> >> + if (!bytes || (bytes & 0x3ff))
> >> + snprintf(buf, size, "%llu B", bytes);
> >> + else if (bytes & 0xfffff)
> >> + snprintf(buf, size, "%llu KiB", bytes >> 10);
> >> + else if (bytes & 0x3fffffff)
> >> + snprintf(buf, size, "%llu MiB", bytes >> 20);
> >> + else if (bytes & 0xffffffffff)
> >> + snprintf(buf, size, "%llu GiB", bytes >> 30);
> >> + else if (bytes & 0x3ffffffffffff)
> >> + snprintf(buf, size, "%llu TiB", bytes >> 40);
> >> + else if (bytes & 0xfffffffffffffff)
> >> + snprintf(buf, size, "%llu PiB", bytes >> 50);
> >> + else
> >> + snprintf(buf, size, "%llu EiB", bytes >> 60);
> >> + return buf;
>
> For me it looks like ffs with name in the table can be used.

Could you provide a patch?