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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fpmem.c

?? 根據添加了fs2410平臺的arch目錄
?? C
字號:
/*  * * This file is subject to the terms and conditions of the GNU General Public * License.  See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (C) 2000 Silicon Graphics, Inc. * Copyright (C) 2000 by Jack Steiner (steiner@sgi.com) *//* * FPROM EFI memory descriptor build routines * * 	- Routines to build the EFI memory descriptor map * 	- Should also be usable by the SGI SN1 prom to convert * 	  klconfig to efi_memmap */#include <asm/efi.h>#include "fpmem.h"/* * args points to a layout in memory like this * *		32 bit		32 bit * * 		numnodes	numcpus * *		16 bit   16 bit		   32 bit *		nasid0	cpuconf		membankdesc0 *		nasid1	cpuconf		membankdesc1 *			   . *			   . *			   . *			   . *			   . */sn_memmap_t	*sn_memmap ;sn_config_t	*sn_config ;/* * There is a hole in the node 0 address space. Dont put it * in the memory map */#define NODE0_HOLE_SIZE         (20*MB)#define NODE0_HOLE_END          (4UL*GB)#define	MB			(1024*1024)#define GB			(1024*MB)#define KERNEL_SIZE		(4*MB)#define PROMRESERVED_SIZE	(1*MB)#define MD_BANK_SHFT 30#define TO_NODE(_n, _x)		(((long)_n<<33L) | (long)_x)/* * For SN, this may not take an arg and gets the numnodes from  * the prom variable or by traversing klcfg or promcfg */intGetNumNodes(void){	return sn_config->nodes;}intGetNumCpus(void){	return sn_config->cpus;}/* For SN1, get the index th nasid */intGetNasid(int index){	return sn_memmap[index].nasid ;}node_memmap_tGetMemBankInfo(int index){	return sn_memmap[index].node_memmap ;}intIsCpuPresent(int cnode, int cpu){	return  sn_memmap[cnode].cpuconfig & (1<<cpu);}/* * Made this into an explicit case statement so that * we can assign specific properties to banks like bank0 * actually disabled etc. */intIsBankPresent(int index, node_memmap_t nmemmap){	switch (index) {		case 0:return nmemmap.b0;		case 1:return nmemmap.b1;		case 2:return nmemmap.b2;		case 3:return nmemmap.b3;		case 4:return nmemmap.b4;		case 5:return nmemmap.b5;		case 6:return nmemmap.b6;		case 7:return nmemmap.b7;		default:return -1 ;	}}intGetBankSize(int index, node_memmap_t nmemmap){        switch (index) {                case 0:                case 1:return nmemmap.b01size;                case 2:                case 3:return nmemmap.b23size;                case 4:                case 5:return nmemmap.b45size;                case 6:                case 7:return nmemmap.b67size;                default:return -1 ;        }}voidbuild_mem_desc(efi_memory_desc_t *md, int type, long paddr, long numbytes){        md->type = type;        md->phys_addr = paddr;        md->virt_addr = 0;        md->num_pages = numbytes >> 12;        md->attribute = EFI_MEMORY_WB;}intbuild_efi_memmap(void *md, int mdsize){	int		numnodes = GetNumNodes() ;	int		cnode,bank ;	int		nasid ;	node_memmap_t	membank_info ;	int		bsize;	int		count = 0 ;	long		paddr, hole, numbytes;	for (cnode=0;cnode<numnodes;cnode++) {		nasid = GetNasid(cnode) ;		membank_info = GetMemBankInfo(cnode) ;		for (bank=0;bank<SN1_MAX_BANK_PER_NODE;bank++) {			if (IsBankPresent(bank, membank_info)) {				bsize = GetBankSize(bank, membank_info) ;                                paddr = TO_NODE(nasid, (long)bank<<MD_BANK_SHFT);                                numbytes = BankSizeBytes(bsize);                                /*                                 * Check for the node 0 hole. Since banks cant                                 * span the hole, we only need to check if the end of                                 * the range is the end of the hole.                                 */                                if (paddr+numbytes == NODE0_HOLE_END)                                        numbytes -= NODE0_HOLE_SIZE;                                /*                                 * UGLY hack - we must skip overr the kernel and                                 * PROM runtime services but we dont exactly where it is.                                 * So lets just reserve 0-12MB.                                 */                                if (bank == 0) {					hole = (cnode == 0) ? KERNEL_SIZE : PROMRESERVED_SIZE;					numbytes -= hole;                                        build_mem_desc(md, EFI_RUNTIME_SERVICES_DATA, paddr, hole);                                        paddr += hole;			        	count++ ;                                        md += mdsize;                                }                                build_mem_desc(md, EFI_CONVENTIONAL_MEMORY, paddr, numbytes);			        md += mdsize ;			        count++ ;			}		}	}	return count ;}voidbuild_init(unsigned long args){	sn_config = (sn_config_t *) (args);		sn_memmap = (sn_memmap_t *)(args + 8) ; /* SN equiv for this is */						/* init to klconfig start */}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产欧美一区二区| 国产一区二区伦理| 国产精品夜夜嗨| 色久优优欧美色久优优| 精品国产伦一区二区三区观看方式 | 激情综合亚洲精品| 欧美最新大片在线看| 中文字幕免费不卡在线| 日本中文在线一区| 欧美亚洲国产一卡| 亚洲视频你懂的| 国产精品99久久久久久久vr| 日韩一区二区三区高清免费看看| 亚洲免费av网站| a亚洲天堂av| 中文字幕高清不卡| 国产美女视频一区| 26uuu久久天堂性欧美| 免费精品视频在线| 91精品国产综合久久精品麻豆| 中文字幕佐山爱一区二区免费| 国产91在线观看| 国产日韩欧美综合一区| 国产美女精品在线| 久久久精品中文字幕麻豆发布| 激情综合网av| 久久嫩草精品久久久久| 国产一区二区三区在线看麻豆 | 色综合色狠狠天天综合色| 中文字幕高清一区| 高清国产一区二区| 欧美国产成人精品| 99国产精品一区| 一区二区三区四区蜜桃| 欧美视频一区在线| 亚洲高清免费视频| 欧美日韩mp4| 久久国产精品99精品国产 | 色狠狠一区二区| 亚洲在线一区二区三区| 欧美日韩在线一区二区| 亚洲不卡av一区二区三区| 欧美日韩免费观看一区二区三区| 亚洲午夜久久久久久久久电影网| 欧美性色欧美a在线播放| 日韩和欧美一区二区三区| 欧美电影在线免费观看| 韩国女主播一区二区三区| 久久久精品日韩欧美| 99久久久久久| 亚洲午夜精品久久久久久久久| 欧美性欧美巨大黑白大战| 婷婷亚洲久悠悠色悠在线播放| 日韩情涩欧美日韩视频| 国产精一区二区三区| 亚洲天堂精品视频| 欧美理论在线播放| 国产一区二区三区在线观看精品| 国产精品二三区| 在线播放视频一区| 国产精品一区二区久久不卡| 亚洲精品自拍动漫在线| 3atv一区二区三区| 丰满少妇久久久久久久| 亚洲成a人片在线不卡一二三区| 日韩精品中文字幕一区| 99精品欧美一区二区三区综合在线| 亚洲一级二级三级在线免费观看| 欧美大片一区二区| 色噜噜狠狠一区二区三区果冻| 久久精品理论片| 亚洲欧美一区二区三区久本道91 | 日本网站在线观看一区二区三区| 久久久五月婷婷| 欧美主播一区二区三区美女| 国内精品嫩模私拍在线| 一区二区三区在线免费播放| 久久久另类综合| 欧美日韩一级大片网址| 不卡视频在线观看| 激情综合一区二区三区| 亚洲国产裸拍裸体视频在线观看乱了| 精品成人佐山爱一区二区| 欧美日韩在线不卡| aaa欧美大片| 国产麻豆成人传媒免费观看| 视频一区中文字幕国产| 成人免费小视频| 久久婷婷久久一区二区三区| 欧美日韩一区二区欧美激情| 99国产精品视频免费观看| 国产精品一线二线三线| 日本网站在线观看一区二区三区| 亚洲精品va在线观看| 国产精品进线69影院| 久久久综合九色合综国产精品| 91精品国产综合久久久久久久 | 一二三区精品视频| 中文字幕日韩精品一区| 国产欧美日产一区| 久久久久久久久久看片| 日韩精品专区在线| 91精品国产麻豆国产自产在线 | 久久亚洲私人国产精品va媚药| 欧美剧情片在线观看| 色综合久久九月婷婷色综合| 99精品欧美一区二区三区小说| 粉嫩嫩av羞羞动漫久久久| 国产精品白丝av| 国产a视频精品免费观看| 国产精品99久久久久久久vr| 国产精品一卡二| 粉嫩欧美一区二区三区高清影视| 国产成人自拍网| 懂色一区二区三区免费观看 | 免费成人结看片| 日本成人在线电影网| 日韩成人av影视| 男女激情视频一区| 久久国产综合精品| 国产资源在线一区| 丁香婷婷综合网| www.亚洲色图.com| 在线视频一区二区三| 欧美午夜片在线看| 在线综合亚洲欧美在线视频| 日韩天堂在线观看| 久久品道一品道久久精品| 中文字幕av一区二区三区免费看| 国产精品久久久99| 亚洲国产精品麻豆| 日本不卡视频一二三区| 激情久久久久久久久久久久久久久久| 久久精品国产亚洲aⅴ| 高清日韩电视剧大全免费| 91社区在线播放| 欧美精品三级日韩久久| 精品第一国产综合精品aⅴ| 国产精品丝袜黑色高跟| 尤物av一区二区| 看片的网站亚洲| 99re在线精品| 337p亚洲精品色噜噜| 国产日产欧美精品一区二区三区| 亚洲人成7777| 日本vs亚洲vs韩国一区三区| 国产成人av福利| 欧美亚洲动漫精品| 欧美不卡在线视频| 亚洲精品福利视频网站| 久久国产精品色| 91首页免费视频| 日韩三级视频在线观看| 一色屋精品亚洲香蕉网站| 日韩电影在线免费观看| 成人精品国产免费网站| 欧美三级中文字幕在线观看| 亚洲精品在线免费播放| 一区二区高清免费观看影视大全| 狠狠色伊人亚洲综合成人| 一本一道波多野结衣一区二区| 日韩精品中午字幕| 一区二区成人在线视频| 岛国精品在线播放| 欧美一级日韩免费不卡| 综合久久国产九一剧情麻豆| 美女视频黄久久| 欧美在线|欧美| 国产精品久久久久aaaa樱花| 精品午夜一区二区三区在线观看| 91久久国产最好的精华液| 国产亚洲美州欧州综合国| 日韩av电影免费观看高清完整版在线观看 | 久久综合成人精品亚洲另类欧美| 亚洲国产裸拍裸体视频在线观看乱了 | 在线免费观看日韩欧美| 日本一区二区电影| 国产一区二区精品久久91| 欧美人与性动xxxx| 曰韩精品一区二区| av亚洲精华国产精华精华| 国产片一区二区| 国产精品77777竹菊影视小说| 91精品免费观看| 婷婷久久综合九色国产成人| 欧美伊人久久大香线蕉综合69| 国产精品国产自产拍在线| 国产91精品入口| 国产视频一区二区在线观看| 国产一区二区伦理| 欧美精品一区在线观看| 激情小说欧美图片| 亚洲精品在线网站| 国产麻豆视频一区二区| 精品国产sm最大网站免费看| 奇米精品一区二区三区在线观看 | 日本色综合中文字幕| 欧美福利电影网| 日本中文字幕一区| 日韩欧美成人午夜|