Skip to content

Commit

Permalink
m68k: Allow no CPU/platform type for allnoconfig
Browse files Browse the repository at this point in the history
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: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Geert Uytterhoeven authored and Linus Torvalds committed Jul 21, 2008
1 parent 97d26e7 commit edfd92f
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 10 deletions.
6 changes: 6 additions & 0 deletions arch/m68k/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@

#include <asm/bootinfo.h>
#include <asm/setup.h>
#include <asm/fpu.h>
#include <asm/irq.h>
#include <asm/io.h>
#include <asm/machdep.h>
Expand All @@ -40,6 +41,11 @@
#include <asm/dvma.h>
#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;
EXPORT_SYMBOL(m68k_machtype);
unsigned long m68k_cputype;
Expand Down
10 changes: 5 additions & 5 deletions include/asm-m68k/fpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@
*/

#if defined(CONFIG_M68020) || defined(CONFIG_M68030)
#define FPSTATESIZE (216/sizeof(unsigned char))
#define FPSTATESIZE (216)
#elif defined(CONFIG_M68040)
#define FPSTATESIZE (96/sizeof(unsigned char))
#define FPSTATESIZE (96)
#elif defined(CONFIG_M68KFPU_EMU)
#define FPSTATESIZE (28/sizeof(unsigned char))
#define FPSTATESIZE (28)
#elif defined(CONFIG_M68060)
#define FPSTATESIZE (12/sizeof(unsigned char))
#define FPSTATESIZE (12)
#else
#define FPSTATESIZE error no_cpu_type_configured
#define FPSTATESIZE (0)
#endif

#endif /* __M68K_FPU_H */
2 changes: 1 addition & 1 deletion include/asm-m68k/irq.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#elif defined(CONFIG_HP300)
#define NR_IRQS 8
#else
#error unknown nr of irqs
#define NR_IRQS 0
#endif

/*
Expand Down
8 changes: 4 additions & 4 deletions include/asm-m68k/tlbflush.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ static inline void flush_tlb_kernel_page(void *addr)
".chip 68k"
: : "a" (addr));
set_fs(old_fs);
} else
} else if (CPU_IS_020_OR_030)
__asm__ __volatile__("pflush #4,#4,(%0)" : : "a" (addr));
}

Expand All @@ -29,7 +29,7 @@ static inline void __flush_tlb(void)
__asm__ __volatile__(".chip 68040\n\t"
"pflushan\n\t"
".chip 68k");
else
else if (CPU_IS_020_OR_030)
__asm__ __volatile__("pflush #0,#4");
}

Expand All @@ -45,7 +45,7 @@ static inline void __flush_tlb_one(unsigned long addr)
{
if (CPU_IS_040_OR_060)
__flush_tlb040_one(addr);
else
else if (CPU_IS_020_OR_030)
__asm__ __volatile__("pflush #0,#4,(%0)" : : "a" (addr));
}

Expand All @@ -60,7 +60,7 @@ static inline void flush_tlb_all(void)
__asm__ __volatile__(".chip 68040\n\t"
"pflusha\n\t"
".chip 68k");
else
else if (CPU_IS_020_OR_030)
__asm__ __volatile__("pflusha");
}

Expand Down

0 comments on commit edfd92f

Please sign in to comment.