⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 atlas_setup.c

📁 上传linux-jx2410的源代码
💻 C
字号:
/* * Carsten Langgaard, carstenl@mips.com * Copyright (C) 1999,2000 MIPS Technologies, Inc.  All rights reserved. * *  This program is free software; you can distribute it and/or modify it *  under the terms of the GNU General Public License (Version 2) as *  published by the Free Software Foundation. * *  This program is distributed in the hope 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. * * Atlas specific setup. */#include <linux/config.h>#include <linux/init.h>#include <linux/sched.h>#include <linux/mc146818rtc.h>#include <linux/ioport.h>#include <asm/cpu.h>#include <asm/bootinfo.h>#include <asm/irq.h>#include <asm/mips-boards/generic.h>#include <asm/mips-boards/prom.h>#include <asm/gt64120.h>#include <asm/mips-boards/atlasint.h>#if defined(CONFIG_SERIAL_CONSOLE) || defined(CONFIG_PROM_CONSOLE)extern void console_setup(char *, int *);char serial_console[20];#endif#ifdef CONFIG_REMOTE_DEBUGextern void rs_kgdb_hook(int);extern void saa9730_kgdb_hook(void);extern void breakpoint(void);int remote_debug = 0;#endifextern struct rtc_ops atlas_rtc_ops;extern void mips_reboot_setup(void);void __init atlas_setup(void){#ifdef CONFIG_REMOTE_DEBUG	int rs_putDebugChar(char);	char rs_getDebugChar(void);	int saa9730_putDebugChar(char);	char saa9730_getDebugChar(void);	extern int (*generic_putDebugChar)(char);	extern char (*generic_getDebugChar)(void);#endif	char *argptr;	ioport_resource.end = 0x7fffffff;#ifdef CONFIG_SERIAL_CONSOLE	argptr = prom_getcmdline();	if ((argptr = strstr(argptr, "console=ttyS0")) == NULL) {		int i = 0;		char *s = prom_getenv("modetty0");		while(s[i] >= '0' && s[i] <= '9')			i++;		strcpy(serial_console, "ttyS0,");		strncpy(serial_console + 6, s, i);		prom_printf("Config serial console: %s\n", serial_console);		console_setup(serial_console, NULL);	}#endif	  #ifdef CONFIG_REMOTE_DEBUG	argptr = prom_getcmdline();	if ((argptr = strstr(argptr, "kgdb=ttyS")) != NULL) {		int line;		argptr += strlen("kgdb=ttyS");		if (*argptr != '0' && *argptr != '1')			printk("KGDB: Uknown serial line /dev/ttyS%c, "			       "falling back to /dev/ttyS1\n", *argptr);		line = *argptr == '0' ? 0 : 1;		printk("KGDB: Using serial line /dev/ttyS%d for session\n",		       line ? 1 : 0);		if(line == 0) {			rs_kgdb_hook(line);			generic_putDebugChar = rs_putDebugChar;			generic_getDebugChar = rs_getDebugChar;		} else {			saa9730_kgdb_hook();			generic_putDebugChar = saa9730_putDebugChar;			generic_getDebugChar = saa9730_getDebugChar;		}		prom_printf("KGDB: Using serial line /dev/ttyS%d for session, "			    "please connect your debugger\n", line ? 1 : 0);		remote_debug = 1;		/* Breakpoints and stuff are in atlas_irq_setup() */	}#endif	argptr = prom_getcmdline();	if ((argptr = strstr(argptr, "nofpu")) != NULL)		mips_cpu.options &= ~MIPS_CPU_FPU;	rtc_ops = &atlas_rtc_ops;	mips_reboot_setup();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -