Hi Vivek, Sorry for not commenting on an earlier version.
On 11/18/06, Vivek Goyal <[EMAIL PROTECTED]> wrote:
I am about to add relocatable kernel support which has essentially no cost so there is no point in retaining CONFIG_PHYSICAL_START and retaining CONFIG_PHYSICAL_START makes implementation of and testing of a relocatable kernel more difficult. Signed-off-by: Eric W. Biederman <[EMAIL PROTECTED]> Signed-off-by: Vivek Goyal <[EMAIL PROTECTED]> --- arch/x86_64/Kconfig | 19 ------------------- arch/x86_64/boot/compressed/head.S | 6 +++--- arch/x86_64/boot/compressed/misc.c | 6 +++--- arch/x86_64/defconfig | 1 - arch/x86_64/kernel/vmlinux.lds.S | 2 +- arch/x86_64/mm/fault.c | 4 ++-- include/asm-x86_64/page.h | 2 -- 7 files changed, 9 insertions(+), 31 deletions(-)
[snip]
diff -puN arch/x86_64/mm/fault.c~x86_64-Remove-CONFIG_PHYSICAL_START arch/x86_64/mm/fault.c --- linux-2.6.19-rc6-reloc/arch/x86_64/mm/fault.c~x86_64-Remove-CONFIG_PHYSICAL_START 2006-11-17 00:12:50.000000000 -0500 +++ linux-2.6.19-rc6-reloc-root/arch/x86_64/mm/fault.c 2006-11-17 00:12:50.000000000 -0500 @@ -644,9 +644,9 @@ void vmalloc_sync_all(void) start = address + PGDIR_SIZE; } /* Check that there is no need to do the same for the modules area. */ - BUILD_BUG_ON(!(MODULES_VADDR > __START_KERNEL)); + BUILD_BUG_ON(!(MODULES_VADDR > __START_KERNEL_map)); BUILD_BUG_ON(!(((MODULES_END - 1) & PGDIR_MASK) == - (__START_KERNEL & PGDIR_MASK))); + (__START_KERNEL_map & PGDIR_MASK))); }
This code looks either like a bugfix or a bug. If it's a fix then maybe it should be broken out and submitted separately for the rc-kernels?
diff -puN include/asm-x86_64/page.h~x86_64-Remove-CONFIG_PHYSICAL_START include/asm-x86_64/page.h --- linux-2.6.19-rc6-reloc/include/asm-x86_64/page.h~x86_64-Remove-CONFIG_PHYSICAL_START 2006-11-17 00:12:50.000000000 -0500 +++ linux-2.6.19-rc6-reloc-root/include/asm-x86_64/page.h 2006-11-17 00:12:50.000000000 -0500 @@ -75,8 +75,6 @@ typedef struct { unsigned long pgprot; } #endif /* !__ASSEMBLY__ */ -#define __PHYSICAL_START _AC(CONFIG_PHYSICAL_START,UL) -#define __START_KERNEL (__START_KERNEL_map + __PHYSICAL_START) #define __START_KERNEL_map _AC(0xffffffff80000000,UL) #define __PAGE_OFFSET _AC(0xffff810000000000,UL)
I understand that you want to remove the Kconfig option CONFIG_PHYSICAL_START and that is fine with me. I don't however like the idea of replacing __PHYSICAL_START and __START_KERNEL with hardcoded values. Is there any special reason behind this? The code in page.h already has constants for __START_KERNEL_map and __PAGE_OFFSET (thank god) and none of them are adjustable via Kconfig. Why not change as little as possible and keep __PHYSICAL_START and __START_KERNEL in page.h and the places that use them but remove references to CONFIG_PHYSICAL_START in Kconfig, defconfig, and page.h? / magnus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/