* [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).