Re: [PATCH 1/2] x86/efi: Correct a tiny mistake in code comment

From: Bhupesh Sharma
Date: Wed Mar 08 2017 - 15:05:47 EST

On Wed, Mar 8, 2017 at 3:05 PM, Borislav Petkov <bp@xxxxxxxxx> wrote:
> On Wed, Mar 08, 2017 at 05:09:55PM +0800, Baoquan He wrote:
>> Yes, it looks better. I can repost with this change. Thanks.
> No it doesn't:
> #define EFI_VA_START ( -4 * (_AC(1, UL) << 30))
> #define EFI_VA_END (-68 * (_AC(1, UL) << 30))
> That's -4G (the shift by 30) and -68G, respectively.
>> > #define EFI_VA_START _AC(0xfffffffeffffffff, UL)
>> > #define EFI_VA_END _AC(0xffffffef00000000, UL)
> That is something which I need to type into a calculator first.

Right, my point was that this -4G convention stands out, as compared
to the rest of the addressing convention used throughout

For e.g.:

#define __VMALLOC_BASE _AC(0xffffc90000000000, UL)
#define __VMEMMAP_BASE _AC(0xffffea0000000000, UL)
#define MODULES_END _AC(0xffffffffff000000, UL)
and so on.

Also it seems inconsistent to the convention used in

As you noted in one of your other comments in this thread, this causes
a confusion as to whether the EFI_VA_END and EFI_VA_START macros need
to be swapped or the comments elsewhere in the x86 code which use
these MACROS are incorrect.

However, I think it is more a matter of code readability and each of
these styles have their own advantages.

I would be happy to cook up a patch to have uniformity in the
addressing conventions used across pgtable_64_types.h (if it is
required at all), but it would be a different topic and not related to
this patch.