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 'arch/x86/include/asm/pgtable_64_types.h'. 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 'Documentation/x86/x86_64/mm.txt' 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. Regards, Bhupesh -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html