From mboxrd@z Thu Jan 1 00:00:00 1970 From: chandanrmail@gmail.com (chandan r) Date: Tue, 20 Dec 2011 19:04:59 +0530 Subject: MAX_PHYSADDR_BITS v/s MAX_PHYSMEM_BITS Message-ID: <20111220133459.GA1831@archlinux> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org Hi all, Consider the following code snippet (for x86_64 arch) from arch/x86/include/asm/sparsemem.h: # define SECTION_SIZE_BITS 27 /* matt - 128 is convenient right now */ # define MAX_PHYSADDR_BITS 44 # define MAX_PHYSMEM_BITS 46 Also, consider the following comments (obtained from the same file), MAX_PHYSADDR_BITS 2^n: max size of physical address space MAX_PHYSMEM_BITS 2^n: how much memory we can have in that space According to my understanding MAX_PHYSMEM_BITS has to have a value less than or equal to MAX_PHYSADDR_BITS. But this is not the case for x86_64. Can someone explain what these macros really mean? Thanks, chandan r