提交 edfd92f6 编写于 作者: G Geert Uytterhoeven 提交者: Linus Torvalds

m68k: Allow no CPU/platform type for allnoconfig

Allow no CPU/platform type for allnoconfig
  - Provide a dummy value for FPSTATESIZE if no CPU type was selected
  - Provide a dummy value for NR_IRQS if no platform type was selected
  - Warn the user if no CPU or platform type was selected

Note: you still cannot build an allnoconfig kernel, as CONFIG_SWAP=n doesn't
build and we cannot easily fix that
(http://groups.google.com/group/linux.kernel/browse_thread/thread/d430c78b07e1827b)
Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 97d26e73
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include <asm/bootinfo.h> #include <asm/bootinfo.h>
#include <asm/setup.h> #include <asm/setup.h>
#include <asm/fpu.h>
#include <asm/irq.h> #include <asm/irq.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/machdep.h> #include <asm/machdep.h>
...@@ -40,6 +41,11 @@ ...@@ -40,6 +41,11 @@
#include <asm/dvma.h> #include <asm/dvma.h>
#endif #endif
#if !FPSTATESIZE || !NR_IRQS
#warning No CPU/platform type selected, your kernel will not work!
#warning Are you building an allnoconfig kernel?
#endif
unsigned long m68k_machtype; unsigned long m68k_machtype;
EXPORT_SYMBOL(m68k_machtype); EXPORT_SYMBOL(m68k_machtype);
unsigned long m68k_cputype; unsigned long m68k_cputype;
......
...@@ -7,15 +7,15 @@ ...@@ -7,15 +7,15 @@
*/ */
#if defined(CONFIG_M68020) || defined(CONFIG_M68030) #if defined(CONFIG_M68020) || defined(CONFIG_M68030)
#define FPSTATESIZE (216/sizeof(unsigned char)) #define FPSTATESIZE (216)
#elif defined(CONFIG_M68040) #elif defined(CONFIG_M68040)
#define FPSTATESIZE (96/sizeof(unsigned char)) #define FPSTATESIZE (96)
#elif defined(CONFIG_M68KFPU_EMU) #elif defined(CONFIG_M68KFPU_EMU)
#define FPSTATESIZE (28/sizeof(unsigned char)) #define FPSTATESIZE (28)
#elif defined(CONFIG_M68060) #elif defined(CONFIG_M68060)
#define FPSTATESIZE (12/sizeof(unsigned char)) #define FPSTATESIZE (12)
#else #else
#define FPSTATESIZE error no_cpu_type_configured #define FPSTATESIZE (0)
#endif #endif
#endif /* __M68K_FPU_H */ #endif /* __M68K_FPU_H */
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
#elif defined(CONFIG_HP300) #elif defined(CONFIG_HP300)
#define NR_IRQS 8 #define NR_IRQS 8
#else #else
#error unknown nr of irqs #define NR_IRQS 0
#endif #endif
/* /*
......
...@@ -16,7 +16,7 @@ static inline void flush_tlb_kernel_page(void *addr) ...@@ -16,7 +16,7 @@ static inline void flush_tlb_kernel_page(void *addr)
".chip 68k" ".chip 68k"
: : "a" (addr)); : : "a" (addr));
set_fs(old_fs); set_fs(old_fs);
} else } else if (CPU_IS_020_OR_030)
__asm__ __volatile__("pflush #4,#4,(%0)" : : "a" (addr)); __asm__ __volatile__("pflush #4,#4,(%0)" : : "a" (addr));
} }
...@@ -29,7 +29,7 @@ static inline void __flush_tlb(void) ...@@ -29,7 +29,7 @@ static inline void __flush_tlb(void)
__asm__ __volatile__(".chip 68040\n\t" __asm__ __volatile__(".chip 68040\n\t"
"pflushan\n\t" "pflushan\n\t"
".chip 68k"); ".chip 68k");
else else if (CPU_IS_020_OR_030)
__asm__ __volatile__("pflush #0,#4"); __asm__ __volatile__("pflush #0,#4");
} }
...@@ -45,7 +45,7 @@ static inline void __flush_tlb_one(unsigned long addr) ...@@ -45,7 +45,7 @@ static inline void __flush_tlb_one(unsigned long addr)
{ {
if (CPU_IS_040_OR_060) if (CPU_IS_040_OR_060)
__flush_tlb040_one(addr); __flush_tlb040_one(addr);
else else if (CPU_IS_020_OR_030)
__asm__ __volatile__("pflush #0,#4,(%0)" : : "a" (addr)); __asm__ __volatile__("pflush #0,#4,(%0)" : : "a" (addr));
} }
...@@ -60,7 +60,7 @@ static inline void flush_tlb_all(void) ...@@ -60,7 +60,7 @@ static inline void flush_tlb_all(void)
__asm__ __volatile__(".chip 68040\n\t" __asm__ __volatile__(".chip 68040\n\t"
"pflusha\n\t" "pflusha\n\t"
".chip 68k"); ".chip 68k");
else else if (CPU_IS_020_OR_030)
__asm__ __volatile__("pflusha"); __asm__ __volatile__("pflusha");
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册