forked from Minki/linux
MIPS: Sibyte: Remove standalone kernel support
CFE is the only supported and used bootloader on the SiByte boards, the standalone kernel support has been never used outside Broadcom. Remove it and make the kernel use CFE by default. Signed-off-by: Imre Kaloz <kaloz@openwrt.org> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
435f81f4a2
commit
05f94eebd5
@ -167,7 +167,6 @@ libs-$(CONFIG_ARC) += arch/mips/fw/arc/
|
||||
libs-$(CONFIG_CFE) += arch/mips/fw/cfe/
|
||||
libs-$(CONFIG_SNIPROM) += arch/mips/fw/sni/
|
||||
libs-y += arch/mips/fw/lib/
|
||||
libs-$(CONFIG_SIBYTE_CFE) += arch/mips/sibyte/cfe/
|
||||
|
||||
#
|
||||
# Board-dependent options and extra files
|
||||
|
@ -75,6 +75,8 @@ config SIBYTE_SB1xxx_SOC
|
||||
select SWAP_IO_SPACE
|
||||
select SYS_SUPPORTS_32BIT_KERNEL
|
||||
select SYS_SUPPORTS_64BIT_KERNEL
|
||||
select CFE
|
||||
select SYS_HAS_EARLY_PRINTK
|
||||
|
||||
choice
|
||||
prompt "SiByte SOC Stepping"
|
||||
@ -136,34 +138,14 @@ config SB1_CERR_STALL
|
||||
bool "Stall (rather than panic) on fatal cache error"
|
||||
depends on SIBYTE_SB1xxx_SOC
|
||||
|
||||
config SIBYTE_CFE
|
||||
bool "Booting from CFE"
|
||||
depends on SIBYTE_SB1xxx_SOC
|
||||
select CFE
|
||||
select SYS_HAS_EARLY_PRINTK
|
||||
help
|
||||
Make use of the CFE API for enumerating available memory,
|
||||
controlling secondary CPUs, and possibly console output.
|
||||
|
||||
config SIBYTE_CFE_CONSOLE
|
||||
bool "Use firmware console"
|
||||
depends on SIBYTE_CFE
|
||||
depends on SIBYTE_SB1xxx_SOC
|
||||
help
|
||||
Use the CFE API's console write routines during boot. Other console
|
||||
options (VT console, sb1250 duart console, etc.) should not be
|
||||
configured.
|
||||
|
||||
config SIBYTE_STANDALONE
|
||||
bool
|
||||
depends on SIBYTE_SB1xxx_SOC && !SIBYTE_CFE
|
||||
select SYS_HAS_EARLY_PRINTK
|
||||
default y
|
||||
|
||||
config SIBYTE_STANDALONE_RAM_SIZE
|
||||
int "Memory size (in megabytes)"
|
||||
depends on SIBYTE_STANDALONE
|
||||
default "32"
|
||||
|
||||
config SIBYTE_BUS_WATCHER
|
||||
bool "Support for Bus Watcher statistics"
|
||||
depends on SIBYTE_SB1xxx_SOC
|
||||
|
@ -1,2 +0,0 @@
|
||||
lib-y = setup.o
|
||||
lib-$(CONFIG_SIBYTE_CFE_CONSOLE) += console.o
|
@ -1,5 +1,5 @@
|
||||
obj-y :=
|
||||
|
||||
obj-y := cfe.o
|
||||
obj-$(CONFIG_SIBYTE_CFE_CONSOLE) += cfe_console.o
|
||||
obj-$(CONFIG_SIBYTE_TBPROF) += sb_tbprof.o
|
||||
|
||||
EXTRA_CFLAGS += -Werror
|
||||
|
@ -1,7 +1,6 @@
|
||||
obj-y := setup.o irq.o time.o
|
||||
|
||||
obj-$(CONFIG_SMP) += smp.o
|
||||
obj-$(CONFIG_SIBYTE_STANDALONE) += prom.o
|
||||
obj-$(CONFIG_SIBYTE_BUS_WATCHER) += bus_watcher.o
|
||||
|
||||
EXTRA_CFLAGS += -Werror
|
||||
|
@ -1,96 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2000, 2001 Broadcom Corporation
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/blkdev.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/initrd.h>
|
||||
#include <linux/pm.h>
|
||||
|
||||
#include <asm/bootinfo.h>
|
||||
#include <asm/reboot.h>
|
||||
|
||||
#define MAX_RAM_SIZE ((CONFIG_SIBYTE_STANDALONE_RAM_SIZE * 1024 * 1024) - 1)
|
||||
|
||||
static __init void prom_meminit(void)
|
||||
{
|
||||
#ifdef CONFIG_BLK_DEV_INITRD
|
||||
unsigned long initrd_pstart;
|
||||
unsigned long initrd_pend;
|
||||
|
||||
initrd_pstart = __pa(initrd_start);
|
||||
initrd_pend = __pa(initrd_end);
|
||||
if (initrd_start &&
|
||||
((initrd_pstart > MAX_RAM_SIZE)
|
||||
|| (initrd_pend > MAX_RAM_SIZE))) {
|
||||
panic("initrd out of addressable memory");
|
||||
}
|
||||
|
||||
add_memory_region(0, initrd_pstart,
|
||||
BOOT_MEM_RAM);
|
||||
add_memory_region(initrd_pstart, initrd_pend - initrd_pstart,
|
||||
BOOT_MEM_RESERVED);
|
||||
add_memory_region(initrd_pend,
|
||||
(CONFIG_SIBYTE_STANDALONE_RAM_SIZE * 1024 * 1024) - initrd_pend,
|
||||
BOOT_MEM_RAM);
|
||||
#else
|
||||
add_memory_region(0, CONFIG_SIBYTE_STANDALONE_RAM_SIZE * 1024 * 1024,
|
||||
BOOT_MEM_RAM);
|
||||
#endif
|
||||
}
|
||||
|
||||
void prom_cpu0_exit(void *unused)
|
||||
{
|
||||
while (1) ;
|
||||
}
|
||||
|
||||
static void prom_linux_exit(void)
|
||||
{
|
||||
#ifdef CONFIG_SMP
|
||||
if (smp_processor_id()) {
|
||||
smp_call_function(prom_cpu0_exit, NULL, 1);
|
||||
}
|
||||
#endif
|
||||
while(1);
|
||||
}
|
||||
|
||||
/*
|
||||
* prom_init is called just after the cpu type is determined, from setup_arch()
|
||||
*/
|
||||
void __init prom_init(void)
|
||||
{
|
||||
_machine_restart = (void (*)(char *))prom_linux_exit;
|
||||
_machine_halt = prom_linux_exit;
|
||||
pm_power_off = prom_linux_exit;
|
||||
|
||||
strcpy(arcs_cmdline, "root=/dev/ram0 ");
|
||||
|
||||
prom_meminit();
|
||||
}
|
||||
|
||||
void __init prom_free_prom_memory(void)
|
||||
{
|
||||
/* Not sure what I'm supposed to do here. Nothing, I think */
|
||||
}
|
||||
|
||||
void prom_putchar(char c)
|
||||
{
|
||||
}
|
@ -136,16 +136,6 @@ void __init plat_mem_setup(void)
|
||||
if (m41t81_probe())
|
||||
swarm_rtc_type = RTC_M4LT81;
|
||||
|
||||
printk("This kernel optimized for "
|
||||
"board"
|
||||
" runs "
|
||||
#ifdef CONFIG_SIBYTE_CFE
|
||||
"with"
|
||||
#else
|
||||
"without"
|
||||
#endif
|
||||
" CFE\n");
|
||||
|
||||
#ifdef CONFIG_VT
|
||||
screen_info = (struct screen_info) {
|
||||
0, 0, /* orig-x, orig-y */
|
||||
|
Loading…
Reference in New Issue
Block a user