Messages in this thread | | | From | Bhupesh Sharma <> | Date | Thu, 9 Mar 2017 01:35:00 +0530 | Subject | Re: [PATCH 1/2] x86/efi: Correct a tiny mistake in code comment |
| |
On Wed, Mar 8, 2017 at 3:05 PM, Borislav Petkov <bp@alien8.de> 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
| |