亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? setup.c

?? 優(yōu)龍2410linux2.6.8內(nèi)核源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* *  arch/s390/kernel/setup.c * *  S390 version *    Copyright (C) 1999,2000 IBM Deutschland Entwicklung GmbH, IBM Corporation *    Author(s): Hartmut Penner (hp@de.ibm.com), *               Martin Schwidefsky (schwidefsky@de.ibm.com) * *  Derived from "arch/i386/kernel/setup.c" *    Copyright (C) 1995, Linus Torvalds *//* * This file handles the architecture-dependent parts of initialization */#include <linux/errno.h>#include <linux/module.h>#include <linux/sched.h>#include <linux/kernel.h>#include <linux/mm.h>#include <linux/stddef.h>#include <linux/unistd.h>#include <linux/ptrace.h>#include <linux/slab.h>#include <linux/user.h>#include <linux/a.out.h>#include <linux/tty.h>#include <linux/ioport.h>#include <linux/delay.h>#include <linux/config.h>#include <linux/init.h>#include <linux/initrd.h>#include <linux/bootmem.h>#include <linux/root_dev.h>#include <linux/console.h>#include <linux/seq_file.h>#include <linux/kernel_stat.h>#include <asm/uaccess.h>#include <asm/system.h>#include <asm/smp.h>#include <asm/mmu_context.h>#include <asm/cpcmd.h>#include <asm/lowcore.h>#include <asm/irq.h>/* * Machine setup.. */unsigned int console_mode = 0;unsigned int console_devno = -1;unsigned int console_irq = -1;unsigned long memory_size = 0;unsigned long machine_flags = 0;struct {	unsigned long addr, size, type;} memory_chunk[MEMORY_CHUNKS] = { { 0 } };#define CHUNK_READ_WRITE 0#define CHUNK_READ_ONLY 1volatile int __cpu_logical_map[NR_CPUS]; /* logical cpu to cpu address *//* * Setup options */extern int _text,_etext, _edata, _end;/* * This is set up by the setup-routine at boot-time * for S390 need to find out, what we have to setup * using address 0x10400 ... */#include <asm/setup.h>static char command_line[COMMAND_LINE_SIZE] = { 0, };static struct resource code_resource = { "Kernel code", 0x100000, 0 };static struct resource data_resource = { "Kernel data", 0, 0 };/* * cpu_init() initializes state that is per-CPU. */void __devinit cpu_init (void){        int addr = hard_smp_processor_id();        /*         * Store processor id in lowcore (used e.g. in timer_interrupt)         */        asm volatile ("stidp %0": "=m" (S390_lowcore.cpu_data.cpu_id));        S390_lowcore.cpu_data.cpu_addr = addr;        /*         * Force FPU initialization:         */        clear_thread_flag(TIF_USEDFPU);        current->used_math = 0;        /* Setup active_mm for idle_task  */        atomic_inc(&init_mm.mm_count);        current->active_mm = &init_mm;        if (current->mm)                BUG();        enter_lazy_tlb(&init_mm, current);}/* * VM halt and poweroff setup routines */char vmhalt_cmd[128] = "";char vmpoff_cmd[128] = "";static inline void strncpy_skip_quote(char *dst, char *src, int n){        int sx, dx;        dx = 0;        for (sx = 0; src[sx] != 0; sx++) {                if (src[sx] == '"') continue;                dst[dx++] = src[sx];                if (dx >= n) break;        }}static int __init vmhalt_setup(char *str){        strncpy_skip_quote(vmhalt_cmd, str, 127);        vmhalt_cmd[127] = 0;        return 1;}__setup("vmhalt=", vmhalt_setup);static int __init vmpoff_setup(char *str){        strncpy_skip_quote(vmpoff_cmd, str, 127);        vmpoff_cmd[127] = 0;        return 1;}__setup("vmpoff=", vmpoff_setup);/* * condev= and conmode= setup parameter. */static int __init condev_setup(char *str){	int vdev;	vdev = simple_strtoul(str, &str, 0);	if (vdev >= 0 && vdev < 65536) {		console_devno = vdev;		console_irq = -1;	}	return 1;}__setup("condev=", condev_setup);static int __init conmode_setup(char *str){#if defined(CONFIG_SCLP_CONSOLE)	if (strncmp(str, "hwc", 4) == 0 || strncmp(str, "sclp", 5) == 0)                SET_CONSOLE_SCLP;#endif#if defined(CONFIG_TN3215_CONSOLE)	if (strncmp(str, "3215", 5) == 0)		SET_CONSOLE_3215;#endif#if defined(CONFIG_TN3270_CONSOLE)	if (strncmp(str, "3270", 5) == 0)		SET_CONSOLE_3270;#endif        return 1;}__setup("conmode=", conmode_setup);static void __init conmode_default(void){	char query_buffer[1024];	char *ptr;        if (MACHINE_IS_VM) {		cpcmd("QUERY CONSOLE", query_buffer, 1024);		console_devno = simple_strtoul(query_buffer + 5, NULL, 16);		ptr = strstr(query_buffer, "SUBCHANNEL =");		console_irq = simple_strtoul(ptr + 13, NULL, 16);		cpcmd("QUERY TERM", query_buffer, 1024);		ptr = strstr(query_buffer, "CONMODE");		/*		 * Set the conmode to 3215 so that the device recognition 		 * will set the cu_type of the console to 3215. If the		 * conmode is 3270 and we don't set it back then both		 * 3215 and the 3270 driver will try to access the console		 * device (3215 as console and 3270 as normal tty).		 */		cpcmd("TERM CONMODE 3215", NULL, 0);		if (ptr == NULL) {#if defined(CONFIG_SCLP_CONSOLE)			SET_CONSOLE_SCLP;#endif			return;		}		if (strncmp(ptr + 8, "3270", 4) == 0) {#if defined(CONFIG_TN3270_CONSOLE)			SET_CONSOLE_3270;#elif defined(CONFIG_TN3215_CONSOLE)			SET_CONSOLE_3215;#elif defined(CONFIG_SCLP_CONSOLE)			SET_CONSOLE_SCLP;#endif		} else if (strncmp(ptr + 8, "3215", 4) == 0) {#if defined(CONFIG_TN3215_CONSOLE)			SET_CONSOLE_3215;#elif defined(CONFIG_TN3270_CONSOLE)			SET_CONSOLE_3270;#elif defined(CONFIG_SCLP_CONSOLE)			SET_CONSOLE_SCLP;#endif		}        } else if (MACHINE_IS_P390) {#if defined(CONFIG_TN3215_CONSOLE)		SET_CONSOLE_3215;#elif defined(CONFIG_TN3270_CONSOLE)		SET_CONSOLE_3270;#endif	} else {#if defined(CONFIG_SCLP_CONSOLE)		SET_CONSOLE_SCLP;#endif	}}#ifdef CONFIG_SMPextern void machine_restart_smp(char *);extern void machine_halt_smp(void);extern void machine_power_off_smp(void);void (*_machine_restart)(char *command) = machine_restart_smp;void (*_machine_halt)(void) = machine_halt_smp;void (*_machine_power_off)(void) = machine_power_off_smp;#else/* * Reboot, halt and power_off routines for non SMP. */extern void reipl(unsigned long devno);static void do_machine_restart_nonsmp(char * __unused){	if (MACHINE_IS_VM)		cpcmd ("IPL", NULL, 0);	else		reipl (0x10000 | S390_lowcore.ipl_device);}static void do_machine_halt_nonsmp(void){        if (MACHINE_IS_VM && strlen(vmhalt_cmd) > 0)                cpcmd(vmhalt_cmd, NULL, 0);        signal_processor(smp_processor_id(), sigp_stop_and_store_status);}static void do_machine_power_off_nonsmp(void){        if (MACHINE_IS_VM && strlen(vmpoff_cmd) > 0)                cpcmd(vmpoff_cmd, NULL, 0);        signal_processor(smp_processor_id(), sigp_stop_and_store_status);}void (*_machine_restart)(char *command) = do_machine_restart_nonsmp;void (*_machine_halt)(void) = do_machine_halt_nonsmp;void (*_machine_power_off)(void) = do_machine_power_off_nonsmp;#endif /* * Reboot, halt and power_off stubs. They just call _machine_restart, * _machine_halt or _machine_power_off.  */void machine_restart(char *command){	console_unblank();	_machine_restart(command);}EXPORT_SYMBOL(machine_restart);void machine_halt(void){	console_unblank();	_machine_halt();}EXPORT_SYMBOL(machine_halt);void machine_power_off(void){	console_unblank();	_machine_power_off();}EXPORT_SYMBOL(machine_power_off);/* * Setup function called from init/main.c just after the banner * was printed. */extern char _pstart, _pend, _stext;void __init setup_arch(char **cmdline_p){        unsigned long bootmap_size;        unsigned long memory_start, memory_end;        char c = ' ', cn, *to = command_line, *from = COMMAND_LINE;	struct resource *res;	unsigned long start_pfn, end_pfn;        static unsigned int smptrap=0;        unsigned long delay = 0;	struct _lowcore *lc;	int i;        if (smptrap)                return;        smptrap=1;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成a人片在线不卡一二三区| 精品久久久三级丝袜| 亚洲视频每日更新| 99久久久精品免费观看国产蜜| 国产精品看片你懂得| 99re这里只有精品视频首页| 亚洲人成在线播放网站岛国| 欧美午夜精品一区二区蜜桃| 日韩成人dvd| 久久久噜噜噜久久中文字幕色伊伊| 国产激情一区二区三区| 久久精品欧美日韩精品 | 97久久精品人人做人人爽50路| 精品国产第一区二区三区观看体验| 免费观看一级特黄欧美大片| 欧美一级高清片| 蜜桃视频第一区免费观看| 日韩一级二级三级精品视频| 美女在线观看视频一区二区| 欧美久久久久久久久中文字幕| 一卡二卡欧美日韩| 在线观看日韩一区| 一区二区三区四区高清精品免费观看| 欧美日韩一区小说| 性做久久久久久久免费看| 欧美一区二区三区系列电影| 日本在线观看不卡视频| 久久亚洲一区二区三区四区| 成人国产精品免费网站| 伊人一区二区三区| 欧美高清视频一二三区 | 91精品国产欧美日韩| 久久狠狠亚洲综合| 国产欧美精品一区二区色综合| 色综合天天狠狠| 五月天激情综合网| 欧美一级片在线| 91亚洲大成网污www| 三级一区在线视频先锋| 精品成人免费观看| 99国产精品久久久久| 日韩精品欧美精品| 久久久精品欧美丰满| 日本道精品一区二区三区| 天堂va蜜桃一区二区三区漫画版| 精品国产麻豆免费人成网站| www.亚洲色图.com| 日本美女一区二区三区视频| 久久久久久久网| 在线观看一区二区精品视频| 免费在线观看日韩欧美| 中文字幕一区二区三区四区不卡| 欧美日韩aaa| 成人蜜臀av电影| 日韩电影免费在线看| 国产精品国产三级国产aⅴ入口 | 中文字幕在线不卡一区二区三区 | 一本到不卡精品视频在线观看| 五月天国产精品| 国产精品女同互慰在线看| 欧美日韩性生活| 懂色av一区二区三区蜜臀| 天天色综合成人网| 国产精品久久久久久亚洲毛片| 717成人午夜免费福利电影| av高清不卡在线| 久久99在线观看| 亚洲国产一区二区三区| 亚洲精品一区二区三区香蕉| 在线精品亚洲一区二区不卡| 久久99久久久欧美国产| 亚洲视频小说图片| 久久伊99综合婷婷久久伊| 欧美日韩日本视频| 免费看日韩a级影片| 久久这里只有精品首页| 欧美日韩不卡一区二区| 在线观看91视频| 国产伦精品一区二区三区免费迷 | 日韩写真欧美这视频| 欧美性色黄大片手机版| 91麻豆免费视频| 成人夜色视频网站在线观看| 国产在线精品免费| 麻豆国产欧美一区二区三区| 五月激情六月综合| 亚洲一区二区视频在线观看| 亚洲视频免费观看| 国产精品萝li| 久久精品综合网| 精品国产欧美一区二区| 日韩一级高清毛片| 91精品国产入口在线| 日韩午夜中文字幕| 欧美不卡激情三级在线观看| 在线综合+亚洲+欧美中文字幕| 欧美视频第二页| 欧美日韩国产中文| 欧美日本在线看| 日韩亚洲欧美成人一区| 欧美一级在线免费| 精品蜜桃在线看| 久久综合狠狠综合久久激情| 久久综合资源网| 国产日产精品一区| 欧美极品另类videosde| 中文在线资源观看网站视频免费不卡| 久久久久久久久免费| 中文字幕乱码亚洲精品一区| 国产精品久久毛片a| 亚洲欧美另类在线| 亚洲一区二区三区美女| 日韩黄色免费网站| 久久99久久99小草精品免视看| 韩国女主播成人在线观看| 国产风韵犹存在线视精品| a在线播放不卡| 欧美特级限制片免费在线观看| 欧美日韩国产系列| 久久午夜羞羞影院免费观看| 国产精品污污网站在线观看| 亚洲人成网站在线| 日韩国产欧美视频| 日韩高清国产一区在线| 韩国av一区二区三区在线观看| 亚洲国产日韩a在线播放性色| 亚洲综合色在线| 日本大胆欧美人术艺术动态| 狠狠色综合日日| 不卡av在线网| 欧美肥大bbwbbw高潮| 久久午夜羞羞影院免费观看| 亚洲欧美日韩电影| 热久久一区二区| 成人午夜激情影院| 欧美日韩黄视频| 久久久青草青青国产亚洲免观| 亚洲老妇xxxxxx| 美女视频黄久久| 色综合咪咪久久| 精品处破学生在线二十三| 曰韩精品一区二区| 国产揄拍国内精品对白| 欧美影片第一页| 久久久国产一区二区三区四区小说| 亚洲猫色日本管| 国内精品伊人久久久久av一坑| 色久优优欧美色久优优| 精品久久久久久综合日本欧美| 亚洲图片你懂的| 久久99国内精品| 欧美又粗又大又爽| 亚洲国产成人午夜在线一区| 午夜成人免费电影| 91一区二区在线观看| 日韩视频国产视频| 亚洲国产婷婷综合在线精品| 成人美女视频在线观看| 欧美mv和日韩mv国产网站| 亚洲精品中文字幕乱码三区| 国产精品一区一区| 欧美一区二区三区人| 亚洲一区av在线| 国产精品亚洲视频| 欧美一区二区三区在线看| 亚洲国产精品一区二区尤物区| 久久精品国内一区二区三区 | 日韩av一区二区三区四区| 国产成人日日夜夜| 日韩一区二区高清| 一区二区三区日韩| 国产一区日韩二区欧美三区| 精品欧美乱码久久久久久1区2区| 亚洲主播在线观看| 国产精品一区二区视频| 日韩欧美中文字幕一区| 日韩经典一区二区| 欧美日韩在线电影| 亚洲国产精品麻豆| 在线观看亚洲一区| 亚洲成a人片在线观看中文| 91在线观看视频| 亚洲视频免费观看| 色婷婷国产精品综合在线观看| 国产精品热久久久久夜色精品三区| 国产九色精品成人porny| 精品国产制服丝袜高跟| 久久精品99国产精品日本| 欧美一级在线视频| 免费观看一级欧美片| 日韩女优毛片在线| 五月天激情综合网| 日韩免费看网站| 精品一区二区在线视频| 久久精品欧美日韩精品| 东方aⅴ免费观看久久av| 国产精品视频在线看| 99久久精品情趣| 国产精品网曝门| 91污在线观看|