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

📄 setup.c

📁 Linux内核源代码 为压缩文件 是<<Linux内核>>一书中的源代码
💻 C
字号:
/* * * Copyright (C) 1999 Silicon Graphics, Inc. * Copyright (C) Vijay Chander(vijay@engr.sgi.com) */#include <linux/config.h>#include <linux/init.h>#include <linux/delay.h>#include <linux/kernel.h>#include <linux/kdev_t.h>#include <linux/string.h>#include <linux/tty.h>#include <linux/console.h>#include <linux/timex.h>#include <linux/sched.h>#include <linux/ioport.h>#include <linux/mm.h>#include <asm/sn/mmzone_sn1.h>#include <asm/io.h>#include <asm/machvec.h>#include <asm/system.h>#include <asm/processor.h>/* * The format of "screen_info" is strange, and due to early i386-setup * code. This is just enough to make the console code think we're on a * VGA color display. */struct screen_info sn1_screen_info = {	orig_x:			 0,	orig_y:			 0,	orig_video_mode:	 3,	orig_video_cols:	80,	orig_video_ega_bx:	 3,	orig_video_lines:	25,	orig_video_isVGA:	 1,	orig_video_points:	16};/* * This is here so we can use the CMOS detection in ide-probe.c to * determine what drives are present.  In theory, we don't need this * as the auto-detection could be done via ide-probe.c:do_probe() but * in practice that would be much slower, which is painful when * running in the simulator.  Note that passing zeroes in DRIVE_INFO * is sufficient (the IDE driver will autodetect the drive geometry). */char drive_info[4*16];unsigned longsn1_map_nr (unsigned long addr){#ifdef CONFIG_DISCONTIGMEM	return MAP_NR_SN1(addr);#else	return MAP_NR_DENSE(addr);#endif}void __initsn1_setup(char **cmdline_p){	extern void init_sn1_smp_config(void);	ROOT_DEV = to_kdev_t(0x0301);		/* default to first IDE drive */	init_sn1_smp_config();#ifdef ZZZ#if !defined (CONFIG_IA64_SOFTSDV_HACKS)        /*         * Program the timer to deliver timer ticks.  0x40 is the I/O port         * address of PIT counter 0, 0x43 is the I/O port address of the         * PIT control word.         */        request_region(0x40,0x20,"timer");        outb(0x34, 0x43);            /* Control word */        outb(LATCH & 0xff , 0x40);   /* LSB */        outb(LATCH >> 8, 0x40);      /* MSB */        printk("PIT: LATCH at 0x%x%x for %d HZ\n", LATCH >> 8, LATCH & 0xff, HZ);#endif#endif#ifdef CONFIG_SMP	init_smp_config();#endif	screen_info = sn1_screen_info;}intIS_RUNNING_ON_SIMULATOR(void){#ifdef CONFIG_IA64_SGI_SN1_SIM	long sn;	asm("mov %0=cpuid[%1]" : "=r"(sn) : "r"(2));	return(sn == SNMAGIC);#else	return(0);#endif}

⌨️ 快捷键说明

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