linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [2.6 patch] i386 KEXEC must depend on X86_CMPXCHG64
@ 2005-11-17 23:57 Adrian Bunk
  2005-11-18  1:47 ` Eric W. Biederman
  0 siblings, 1 reply; 3+ messages in thread
From: Adrian Bunk @ 2005-11-17 23:57 UTC (permalink / raw)
  To: ebiederm, rddunlap; +Cc: linux-kernel, fastboot

This patch fixes the following compile error with 
CONFIG_X86_CMPXCHG64=n:

<--  snip  -->

...
  CC      arch/i386/kernel/machine_kexec.o
arch/i386/kernel/machine_kexec.c: In function 'identity_map_page':
arch/i386/kernel/machine_kexec.c:78: error: implicit declaration of function 'set_64bit'
make[1]: *** [arch/i386/kernel/machine_kexec.o] Error 1

<--  snip  -->


Signed-off-by: Adrian Bunk <bunk@stusta.de>

--- linux-2.6.15-rc1-mm1-full/arch/i386/Kconfig.old	2005-11-18 00:44:29.000000000 +0100
+++ linux-2.6.15-rc1-mm1-full/arch/i386/Kconfig	2005-11-18 00:45:11.000000000 +0100
@@ -662,7 +662,7 @@
 
 config KEXEC
 	bool "kexec system call (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
+	depends on EXPERIMENTAL && X86_CMPXCHG64
 	help
 	  kexec is a system call that implements the ability to shutdown your
 	  current kernel, and to start another kernel.  It is like a reboot


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [2.6 patch] i386 KEXEC must depend on X86_CMPXCHG64
  2005-11-17 23:57 [2.6 patch] i386 KEXEC must depend on X86_CMPXCHG64 Adrian Bunk
@ 2005-11-18  1:47 ` Eric W. Biederman
  2006-01-28 16:49   ` [2.6 patch] i386: HIGHMEM64G " Adrian Bunk
  0 siblings, 1 reply; 3+ messages in thread
From: Eric W. Biederman @ 2005-11-18  1:47 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: rddunlap, linux-kernel, fastboot

Adrian Bunk <bunk@stusta.de> writes:

> This patch fixes the following compile error with 
> CONFIG_X86_CMPXCHG64=n:
>
> <--  snip  -->
>
> ...
>   CC      arch/i386/kernel/machine_kexec.o
> arch/i386/kernel/machine_kexec.c: In function 'identity_map_page':
> arch/i386/kernel/machine_kexec.c:78: error: implicit declaration of function
> 'set_64bit'
> make[1]: *** [arch/i386/kernel/machine_kexec.o] Error 1
>
> <--  snip  -->

Good catch but wrong fix.  This code works fine on a 386.  Or
it did last time I tried it.

This dependency only exists if 3 level page tables are configured.
CONFIG_X86_PAE

The call to set_64bit is a specialized version of set_pmd.
Which also uses set_64_bit.  So I don't see how your kernel can
even build without this.

The only way I can see this even being selected is building
a kernel for a 386 or 486 and wanting pae support.  Which won't
work on a 386 or a 486.  Making it a pointless exercise.

So I think either the pgtable-3level.h needs to fixed,
or we just make CONFIG_HIGHME64G depend on CONFIG_X86_CMPXCHG64.

Eric

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [2.6 patch] i386: HIGHMEM64G must depend on X86_CMPXCHG64
  2005-11-18  1:47 ` Eric W. Biederman
@ 2006-01-28 16:49   ` Adrian Bunk
  0 siblings, 0 replies; 3+ messages in thread
From: Adrian Bunk @ 2006-01-28 16:49 UTC (permalink / raw)
  To: Eric W. Biederman; +Cc: linux-kernel

On Thu, Nov 17, 2005 at 06:47:27PM -0700, Eric W. Biederman wrote:
>...
> So I think either the pgtable-3level.h needs to fixed,
> or we just make CONFIG_HIGHME64G depend on CONFIG_X86_CMPXCHG64.

Sounds reasonable (and sorry for the late answer).

Patch below.

> Eric

cu
Adrian


<--  snip  -->


Due to the usage of set_64bit in include/asm-i386/pgtable-3level.h, 
HIGHMEM64G must depend on X86_CMPXCHG64.


--- linux-2.6.16-rc1-mm3-386/arch/i386/Kconfig.old	2006-01-28 16:04:45.000000000 +0100
+++ linux-2.6.16-rc1-mm3-386/arch/i386/Kconfig	2006-01-28 16:05:25.000000000 +0100
@@ -442,6 +442,7 @@
 
 config HIGHMEM64G
 	bool "64GB"
+	depends on X86_CMPXCHG64
 	help
 	  Select this if you have a 32-bit processor and more than 4
 	  gigabytes of physical RAM.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-01-28 16:49 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-11-17 23:57 [2.6 patch] i386 KEXEC must depend on X86_CMPXCHG64 Adrian Bunk
2005-11-18  1:47 ` Eric W. Biederman
2006-01-28 16:49   ` [2.6 patch] i386: HIGHMEM64G " Adrian Bunk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).