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

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

?? linux.c

?? UBOOT源碼,希望能給大家一點(diǎn)幫助,費(fèi)了好大心思弄來(lái)的.
?? C
字號(hào):
/* * linux.c: support functions for booting a kernel * * Copyright (C) 2001  Erik Mouw (J.A.K.Mouw@its.tudelft.nl) * * 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 * */#ident "$Id: linux.c,v 1.8 2002/01/06 15:46:17 erikm Exp $"#ifdef HAVE_CONFIG_H# include <blob/config.h>#endif#include <blob/linux.h>#include <blob/arch.h>#include <blob/command.h>#include <blob/init.h>#include <blob/main.h>#include <blob/memory.h>#include <blob/util.h>#include <blob/serial.h>#include <asm-arm/setup.h>static void setup_start_tag(void);static void setup_memory_tags(void);static void setup_commandline_tag(int argc, char *argv[]);static void setup_ramdisk_tag(void);static void setup_initrd_tag(void);static void setup_end_tag(void);static struct tag *params;static int boot_linux(int argc, char *argv[]){	void (*theKernel)(int zero, int arch) = (void (*)(int, int))KERNEL_RAM_BASE;	setup_start_tag();	setup_memory_tags();	setup_commandline_tag(argc, argv);  	setup_initrd_tag();	setup_ramdisk_tag();	setup_end_tag();	/* we assume that the kernel is in place */	SerialOutputString("\nStarting kernel ...\n\n");	serial_flush_output();	/* disable subsystems that want to be disabled before kernel boot */	exit_subsystems();	/* start kernel */	theKernel(0, ARCH_NUMBER);	SerialOutputString("Hey, the kernel returned! This should not happen.\n");	return 0;}static char boothelp[] = "boot [kernel options]\n""Boot Linux with optional kernel options\n";__commandlist(boot_linux, "boot", boothelp);static void setup_start_tag(void){	params = (struct tag *)BOOT_PARAMS;	params->hdr.tag = ATAG_CORE;	params->hdr.size = tag_size(tag_core);	params->u.core.flags = 0;	params->u.core.pagesize = 0;	params->u.core.rootdev = 0;	params = tag_next(params);}static void setup_memory_tags(void){	int i;	for(i = 0; i < NUM_MEM_AREAS; i++) {		if(memory_map[i].used) {			params->hdr.tag = ATAG_MEM;			params->hdr.size = tag_size(tag_mem32);			params->u.mem.start = memory_map[i].start;			params->u.mem.size = memory_map[i].len;						params = tag_next(params);		}#if defined( NEPONSET )		/* When neponset board is present dont report		 * the 2nd ram area to the kernel. This area		 * is on the neponset board and would require		 * NUMA support in the kernel.*/		break;#endif	}}static void setup_commandline_tag(int argc, char *argv[]){	char *p;	int i;	/* initialise commandline */	params->u.cmdline.cmdline[0] = '\0';	/* copy default commandline from parameter block */	if(blob_status.cmdline[0] != '\0') 		strlcpy(params->u.cmdline.cmdline, blob_status.cmdline, 			COMMAND_LINE_SIZE);	/* copy commandline */	if(argc >= 2) {		p = params->u.cmdline.cmdline;		for(i = 1; i < argc; i++) {			strlcpy(p, argv[i], COMMAND_LINE_SIZE);			p += strlen(p);			*p++ = ' ';		}			p--;		*p = '\0';		/* technically spoken we should limit the length of		 * the kernel command line to COMMAND_LINE_SIZE		 * characters, but the kernel won't copy longer		 * strings anyway, so we don't care over here.		 */	}	if(strlen(params->u.cmdline.cmdline) > 0) {		params->hdr.tag = ATAG_CMDLINE;		params->hdr.size = (sizeof(struct tag_header) + 				    strlen(params->u.cmdline.cmdline) + 1 + 4) >> 2;				params = tag_next(params);	}}static void setup_initrd_tag(void){	/* an ATAG_INITRD node tells the kernel where the compressed         * ramdisk can be found. ATAG_RDIMG is a better name, actually.	 */	params->hdr.tag = ATAG_INITRD;	params->hdr.size = tag_size(tag_initrd);		params->u.initrd.start = RAMDISK_RAM_BASE;	params->u.initrd.size = RAMDISK_FLASH_LEN;		params = tag_next(params);}static void setup_ramdisk_tag(void){	/* an ATAG_RAMDISK node tells the kernel how large the         * decompressed ramdisk will become.	 */	params->hdr.tag = ATAG_RAMDISK;	params->hdr.size = tag_size(tag_ramdisk);		params->u.ramdisk.start = 0;	params->u.ramdisk.size = RAMDISK_SIZE;	params->u.ramdisk.flags = 1;	/* automatically load ramdisk */		params = tag_next(params);}static void setup_end_tag(void){	params->hdr.tag = ATAG_NONE;	params->hdr.size = 0;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品蜜臀在线观看| 久久精品亚洲精品国产欧美 | 久久99精品久久久| 日本一区二区免费在线| 欧美日韩国产综合草草| 成人性色生活片免费看爆迷你毛片| 亚洲成av人片在线观看| 中文字幕欧美三区| 欧美一区二区人人喊爽| 在线观看日韩电影| 高清视频一区二区| 激情综合色丁香一区二区| 亚洲午夜精品久久久久久久久| 日本一区二区三区视频视频| 欧美一级欧美一级在线播放| 男人的天堂亚洲一区| 99在线精品免费| 久久97超碰色| 亚洲第一成人在线| 中文字幕一区二区三区在线不卡| 日韩亚洲国产中文字幕欧美| 欧洲av一区二区嗯嗯嗯啊| 成人一区二区三区视频在线观看| 日本不卡不码高清免费观看| 亚洲国产日韩一级| 一区二区三区欧美日韩| 国产精品天干天干在线综合| 久久久三级国产网站| 欧美电影精品一区二区| 欧美一区二区在线看| 欧美网站一区二区| 欧美日韩一区二区不卡| 在线观看日韩高清av| 色哟哟一区二区三区| 91同城在线观看| 97aⅴ精品视频一二三区| av在线播放一区二区三区| 国产美女娇喘av呻吟久久| 国产自产v一区二区三区c| 麻豆国产欧美日韩综合精品二区| 免费观看在线综合色| 男女性色大片免费观看一区二区| 人人精品人人爱| 男人的天堂亚洲一区| 久久99精品国产麻豆不卡| 久久精品国产秦先生| 激情av综合网| 国产精品自拍网站| 91网站视频在线观看| 99久久国产综合精品色伊| 99re6这里只有精品视频在线观看| 成人国产精品免费观看动漫| 精品噜噜噜噜久久久久久久久试看 | 日韩精品一区二区在线| 日韩欧美国产小视频| 精品国产一区二区三区久久影院| 精品嫩草影院久久| 欧美韩国日本综合| 亚洲视频免费观看| 亚洲电影一级黄| 麻豆专区一区二区三区四区五区| 国产在线视视频有精品| 成人国产一区二区三区精品| 色偷偷久久一区二区三区| 欧美日韩在线不卡| 欧美mv日韩mv| 中文一区一区三区高中清不卡| 亚洲视频在线一区观看| 婷婷亚洲久悠悠色悠在线播放 | 五月婷婷激情综合网| 奇米精品一区二区三区在线观看| 国产精品一级片在线观看| 91麻豆蜜桃一区二区三区| 欧美丰满少妇xxxxx高潮对白| 欧美r级电影在线观看| 中文字幕制服丝袜一区二区三区| 亚洲一级二级在线| 狠狠色丁香婷婷综合| av不卡一区二区三区| 欧美日韩aaa| 欧美极品另类videosde| 亚洲综合久久久| 韩国一区二区三区| 91国产福利在线| 精品对白一区国产伦| 亚洲伦在线观看| 狠狠色丁香久久婷婷综| 日本大香伊一区二区三区| 精品欧美久久久| 亚洲图片欧美色图| 大美女一区二区三区| 69堂国产成人免费视频| 一区精品在线播放| 精品一区二区三区日韩| 欧美性大战久久久久久久蜜臀| 久久一区二区三区四区| 亚洲一区二区三区四区在线观看| 国产自产2019最新不卡| 欧美日韩aaa| 亚洲欧美一区二区三区久本道91| 久久99国产乱子伦精品免费| 欧美婷婷六月丁香综合色| 国产日韩欧美高清| 久久99热99| 欧美日高清视频| 亚洲欧美国产三级| 处破女av一区二区| 精品国产乱码久久久久久蜜臀| 亚洲五码中文字幕| 91丨九色porny丨蝌蚪| 久久精子c满五个校花| 毛片基地黄久久久久久天堂| 欧美日韩中文字幕一区| 亚洲色图.com| 成人污视频在线观看| 成人黄页毛片网站| 洋洋av久久久久久久一区| 韩国中文字幕2020精品| 欧美精品第1页| 一区二区不卡在线播放 | 亚洲一卡二卡三卡四卡| 成人h动漫精品一区二| 久久婷婷综合激情| 日本欧美一区二区| 69堂成人精品免费视频| 一区二区三区在线影院| 91麻豆免费看| 日韩理论片网站| aaa欧美日韩| 亚洲婷婷综合色高清在线| 不卡一卡二卡三乱码免费网站| 久久精品一区二区三区不卡 | 亚洲愉拍自拍另类高清精品| 色综合天天综合网国产成人综合天 | 精品欧美一区二区在线观看| 麻豆精品久久久| 欧美大片拔萝卜| 麻豆国产91在线播放| 日韩欧美国产综合| 久久成人综合网| 精品国产污污免费网站入口 | 色乱码一区二区三区88| 国产精品三级av| 97国产一区二区| 伊人婷婷欧美激情| 欧美日韩国产色站一区二区三区| 亚洲va欧美va天堂v国产综合| 欧美日韩国产片| 美女在线一区二区| 精品国产百合女同互慰| 国产成人在线视频免费播放| 中文字幕av资源一区| 91香蕉国产在线观看软件| 亚洲一区二区综合| 欧美精品一级二级| 紧缚捆绑精品一区二区| 国产欧美一区二区三区在线看蜜臀 | 久久精品av麻豆的观看方式| 久久久蜜臀国产一区二区| 丁香六月综合激情| 一区二区激情视频| 欧美一区二区精品在线| 国产精品1区2区3区在线观看| 国产精品美女久久久久aⅴ| 91传媒视频在线播放| 免费欧美日韩国产三级电影| 国产色综合一区| 日本福利一区二区| 麻豆成人av在线| 中文字幕日本乱码精品影院| 精品视频一区三区九区| 精品一区在线看| 成人欧美一区二区三区黑人麻豆 | 成年人网站91| 亚洲777理论| 国产视频一区在线观看| 欧美影院一区二区| 精品一区精品二区高清| 亚洲黄色免费网站| 久久一日本道色综合| 色噜噜狠狠成人中文综合| 免费看日韩a级影片| 亚洲婷婷综合色高清在线| 日韩欧美中文字幕公布| 91原创在线视频| 精一区二区三区| 亚洲精品乱码久久久久久| 精品成人一区二区三区| 一本色道亚洲精品aⅴ| 激情成人午夜视频| 亚洲成av人片在线观看| 国产精品久久久久影视| 日韩久久精品一区| 在线视频综合导航| 成人一区在线看| 久久狠狠亚洲综合| 五月婷婷激情综合| 日韩美女视频一区| 国产欧美中文在线| 日韩视频国产视频|