lkml.org 
[lkml]   [2010]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patches in this message
/
Date
From
Subject[PATCH] x86: fix placement of FIX_OHCI1394_BASE
Ever for 32-bit with sufficiently high NR_CPUS, and starting with
commit 789d03f584484af85dbdc64935270c8e45f36ef7 also for 64-bit, the
statically allocated early fixmap page tables were not covering
FIX_OHCI1394_BASE, leading to a boot time crash when
"ohci1394_dma=early" was used. Despite this entry not being a
permanently used one, it needs to be moved into the permanent range
since it has to be close to FIX_DBGP_BASE and FIX_EARLYCON_MEM_BASE.

(A patch version applying to -tip is attached.)

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Cc: <stable@kernel.org>
Fixes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=14487
Reported-bisected-and-tested-by: Justin P. Mattock <justinmattock@gmail.com>

---
arch/x86/include/asm/fixmap.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

--- linux-2.6.33/arch/x86/include/asm/fixmap.h 2009-12-03 04:51:21.000000000 +0100
+++ 2.6.33-ohci1394-fixmap/arch/x86/include/asm/fixmap.h 2010-02-26 00:00:00.000000000 +0100
@@ -82,6 +82,9 @@ enum fixed_addresses {
#endif
FIX_DBGP_BASE,
FIX_EARLYCON_MEM_BASE,
+#ifdef CONFIG_PROVIDE_OHCI1394_DMA_INIT
+ FIX_OHCI1394_BASE,
+#endif
#ifdef CONFIG_X86_LOCAL_APIC
FIX_APIC_BASE, /* local (CPU) APIC) -- required for SMP or not */
#endif
@@ -126,9 +129,6 @@ enum fixed_addresses {
FIX_BTMAP_END = __end_of_permanent_fixed_addresses + 256 -
(__end_of_permanent_fixed_addresses & 255),
FIX_BTMAP_BEGIN = FIX_BTMAP_END + NR_FIX_BTMAPS*FIX_BTMAPS_SLOTS - 1,
-#ifdef CONFIG_PROVIDE_OHCI1394_DMA_INIT
- FIX_OHCI1394_BASE,
-#endif
#ifdef CONFIG_X86_32
FIX_WP_TEST,
#endif


Ever for 32-bit with sufficiently high NR_CPUS, and starting with
commit 789d03f584484af85dbdc64935270c8e45f36ef7 also for 64-bit, the
statically allocated early fixmap page tables were not covering
FIX_OHCI1394_BASE, leading to a boot time crash when
"ohci1394_dma=early" was used. Despite this entry not being a
permanently used one, it needs to be moved into the permanent range
since it has to be close to FIX_DBGP_BASE and FIX_EARLYCON_MEM_BASE.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Cc: <stable@kernel.org>
Fixes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=14487
Reported-bisected-and-tested-by: Justin P. Mattock <justinmattock@gmail.com>

---
arch/x86/include/asm/fixmap.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

--- a/arch/x86/include/asm/fixmap.h
+++ b/arch/x86/include/asm/fixmap.h
@@ -82,6 +82,9 @@ enum fixed_addresses {
#endif
FIX_DBGP_BASE,
FIX_EARLYCON_MEM_BASE,
+#ifdef CONFIG_PROVIDE_OHCI1394_DMA_INIT
+ FIX_OHCI1394_BASE,
+#endif
#ifdef CONFIG_X86_LOCAL_APIC
FIX_APIC_BASE, /* local (CPU) APIC) -- required for SMP or not */
#endif
@@ -132,9 +135,6 @@ enum fixed_addresses {
(__end_of_permanent_fixed_addresses & (TOTAL_FIX_BTMAPS - 1))
: __end_of_permanent_fixed_addresses,
FIX_BTMAP_BEGIN = FIX_BTMAP_END + TOTAL_FIX_BTMAPS - 1,
-#ifdef CONFIG_PROVIDE_OHCI1394_DMA_INIT
- FIX_OHCI1394_BASE,
-#endif
#ifdef CONFIG_X86_32
FIX_WP_TEST,
#endif
\
 
 \ /
  Last update: 2010-02-26 10:25    [W:0.031 / U:0.876 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site