Re: [PATCH 17/20] x86_64: Remove CONFIG_PHYSICAL_START

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux