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

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

?? aperture.c

?? 該文件是rt_linux
?? C
字號:
/*  * Firmware replacement code. *  * Work around broken BIOSes that don't set an aperture.  * The IOMMU code needs an aperture even who no AGP is present in the system. * Map the aperture over some low memory.  This is cheaper than doing bounce  * buffering. The memory is lost. This is done at early boot because only * the bootmem allocator can allocate 32+MB.  *  * Copyright 2002 Andi Kleen, SuSE Labs. * $Id: aperture.c,v 1.2 2002/09/19 19:25:32 ak Exp $ */#include <linux/config.h>#include <linux/kernel.h>#include <linux/types.h>#include <linux/init.h>#include <linux/bootmem.h>#include <linux/mmzone.h>#include <linux/pci_ids.h>#include <asm/e820.h>#include <asm/io.h>#include <asm/proto.h>#include <asm/pci-direct.h>int fallback_aper_order __initdata = 1; /* 64MB */int fallback_aper_force __initdata = 0; extern int no_iommu, force_mmu;/* This code runs before the PCI subsystem is initialized, so just    access the northbridge directly. */#define NB_ID_3 (PCI_VENDOR_ID_AMD | (0x1103<<16))static u32 __init allocate_aperture(void) {#ifdef CONFIG_DISCONTIGMEM	pg_data_t *nd0 = NODE_DATA(0);#else	pg_data_t *nd0 = &contig_page_data;#endif		u32 aper_size;	void *p; 	if (fallback_aper_order > 7) 		fallback_aper_order = 7; 	aper_size = (32 * 1024 * 1024) << fallback_aper_order; 	/*          * Aperture has to be naturally aligned it seems. This means an	 * 2GB aperture won't have much changes to succeed in the lower 4GB of 	 * memory. Unfortunately we cannot move it up because that would make	 * the IOMMU useless.	 */	p = __alloc_bootmem_node(nd0, aper_size, aper_size, 0); 	if (!p || __pa(p)+aper_size > 0xffffffff) {		printk("Cannot allocate aperture memory hole (%p,%uK)\n",		       p, aper_size>>10);		if (p)			free_bootmem_generic((unsigned long)p, aper_size); 		return 0;	}	printk("Mapping aperture over %d KB of RAM @ %lx\n",  	       aper_size >> 10, __pa(p)); 	return (u32)__pa(p); }void __init iommu_hole_init(void) { 	int fix, num; 	u32 aper_size, aper_alloc, aper_order;	u64 aper_base; 	if (no_iommu)		return;	if (end_pfn < (0xffffffff>>PAGE_SHIFT) && !force_mmu) 		return;	printk("Checking aperture...\n"); 	fix = 0;	for (num = 24; num < 32; num++) {				if (read_pci_config(0, num, 3, 0x00) != NB_ID_3) 			continue;			aper_order = (read_pci_config(0, num, 3, 0x90) >> 1) & 7; 		aper_size = (32 * 1024 * 1024) << aper_order; 		aper_base = read_pci_config(0, num, 3, 0x94) & 0x7fff;		aper_base <<= 25; 		printk("CPU %d: aperture @ %Lx size %u KB\n", num-24, 		       aper_base, aper_size>>10);		if (!aper_base || aper_base + aper_size >= 0xffffffff) {			fix = 1; 			break; 		} 				if (e820_mapped(aper_base, aper_base + aper_size, E820_RAM)) {  			printk("Aperture pointing to e820 RAM. Ignoring.\n");			fix = 1; 			break; 		} 	} 	if (!fix && !fallback_aper_force) 		return; 	printk("Your BIOS is broken and doesn't leave a aperture memory hole\n");	aper_alloc = allocate_aperture(); 	if (!aper_alloc) 		return; 	for (num = 24; num < 32; num++) { 				if (read_pci_config(0, num, 3, 0x00) != NB_ID_3) 			continue;			/* Don't enable translation yet. That is done later. 		   Assume this BIOS didn't initialise the GART so 		   just overwrite all previous bits */ 		write_pci_config(0, num, 3, 0x90, fallback_aper_order<<1); 		write_pci_config(0, num, 3, 0x94, aper_alloc>>25); 	} } 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久国内精品视频| 欧美乱熟臀69xxxxxx| 国产精品电影一区二区| 97久久精品人人爽人人爽蜜臀| 国产日产精品1区| 91官网在线免费观看| 丝瓜av网站精品一区二区| 日韩免费视频一区| 91原创在线视频| 婷婷综合在线观看| 国产精品美日韩| 欧美精品久久久久久久多人混战| 喷白浆一区二区| 自拍偷拍亚洲综合| 欧美成人猛片aaaaaaa| 91日韩在线专区| 国产成人午夜高潮毛片| 亚洲一区二区三区中文字幕 | 国产精品女主播av| 337p亚洲精品色噜噜狠狠| 99久久精品国产网站| 国产乱妇无码大片在线观看| 亚洲第一主播视频| 一区二区三区不卡视频| 中文字幕日韩精品一区| 自拍偷拍亚洲欧美日韩| 欧美国产视频在线| 国产色综合一区| 国产亚洲视频系列| 国产偷v国产偷v亚洲高清 | 日韩亚洲欧美综合| 日韩一级免费一区| 日韩女同互慰一区二区| 26uuu亚洲| 国产精品电影院| 夜夜爽夜夜爽精品视频| 亚洲综合免费观看高清完整版| 一区二区在线观看免费| 亚洲一区二区视频在线观看| 亚洲成人1区2区| 国产麻豆9l精品三级站| 成人动漫在线一区| 欧美日韩国产精选| 国产三级三级三级精品8ⅰ区| 蜜桃av一区二区| 午夜久久久久久| 精品一区二区成人精品| 欧美日产国产精品| 欧美四级电影在线观看| 欧美videos大乳护士334| 久久五月婷婷丁香社区| 亚洲欧洲三级电影| 美日韩一区二区三区| 懂色av一区二区三区蜜臀| 色综合视频在线观看| 日韩欧美激情四射| 中文字幕人成不卡一区| 蜜臀av在线播放一区二区三区| 国产精品一二三区| 欧美高清视频不卡网| 综合久久综合久久| 国产成人在线免费观看| 精品日本一线二线三线不卡| 亚洲视频一二三| 成人黄色国产精品网站大全在线免费观看| 欧美视频自拍偷拍| 一区二区三区四区亚洲| 不卡的看片网站| 国产精品久久久久一区| 97久久久精品综合88久久| 久久久久久久久99精品| 国产精品资源站在线| 久久久www成人免费毛片麻豆 | 国产一区中文字幕| 精品国产成人系列| 久久se精品一区精品二区| 日韩女同互慰一区二区| 风流少妇一区二区| 亚洲激情在线播放| 777a∨成人精品桃花网| 久久精品免费看| 国产精品理论片| 欧美视频一区二区| 九九视频精品免费| 成人欧美一区二区三区| 欧美系列一区二区| 狠狠色丁香久久婷婷综合_中| 国产校园另类小说区| 92精品国产成人观看免费| 亚洲国产乱码最新视频| 亚洲国产精品精华液2区45| 99re这里只有精品6| 奇米一区二区三区| 亚洲美女免费在线| 国产片一区二区| 精品久久久久久无| 欧洲精品在线观看| 国产suv一区二区三区88区| 偷拍一区二区三区四区| 国产精品久久久久国产精品日日| 欧美日韩国产另类一区| 色综合久久久久久久久| 国产麻豆午夜三级精品| 一区二区三区中文免费| 久久久不卡网国产精品二区| 91成人在线免费观看| 韩国欧美一区二区| 五月婷婷激情综合网| 国产精品灌醉下药二区| 精品国产不卡一区二区三区| 欧美日韩国产色站一区二区三区| 青娱乐精品视频在线| 亚洲激情六月丁香| 中文字幕国产精品一区二区| 精品国产一区二区三区不卡 | 六月丁香综合在线视频| 国产精品人妖ts系列视频| 久久精品一级爱片| 91精品在线一区二区| 成人网男人的天堂| 国产超碰在线一区| 国产二区国产一区在线观看| 日韩电影在线免费看| 亚洲一区视频在线| 亚洲成va人在线观看| 亚洲精品美国一| 一区二区三区在线观看视频 | 国产精品123| 成人高清在线视频| 99re6这里只有精品视频在线观看| 99久久精品免费看国产免费软件| 成人app在线| 欧美亚洲综合网| 678五月天丁香亚洲综合网| 日韩欧美在线影院| 日韩一区二区三区观看| 国产日产精品1区| 亚洲欧洲日韩在线| 日韩成人免费在线| 97精品国产97久久久久久久久久久久| 9色porny自拍视频一区二区| 欧美日韩综合在线免费观看| 91网站最新地址| 国产嫩草影院久久久久| 亚洲欧美日韩久久| 国产成人自拍高清视频在线免费播放| 99这里只有精品| 欧美电影免费观看高清完整版在线观看 | 成人性生交大片免费看在线播放| 色综合久久中文字幕综合网| 日韩三级av在线播放| 国产女同性恋一区二区| 午夜国产不卡在线观看视频| 成人av午夜电影| 2014亚洲片线观看视频免费| 怡红院av一区二区三区| 成人手机在线视频| 久久影院午夜片一区| 亚洲a一区二区| 91国偷自产一区二区使用方法| 国产日韩三级在线| 国产a视频精品免费观看| 久久这里只精品最新地址| 日韩电影在线一区二区| 欧美视频在线观看一区二区| 一区二区三区四区中文字幕| 久久精品久久99精品久久| 欧美日韩三级在线| 免费人成网站在线观看欧美高清| 欧美日韩一区二区三区四区| 午夜国产精品影院在线观看| 成人aa视频在线观看| 亚洲一区二区三区四区不卡| 在线亚洲一区二区| 香蕉影视欧美成人| 国产清纯在线一区二区www| 激情五月婷婷综合| 中文字幕一区二区三中文字幕| 色综合久久综合| 日韩国产精品久久| 久久精品夜夜夜夜久久| 欧美中文字幕亚洲一区二区va在线| 亚洲国产日日夜夜| 精品美女在线观看| 欧美日韩一区视频| 国产永久精品大片wwwapp| 亚洲精品乱码久久久久久日本蜜臀| 欧美高清视频一二三区 | 日韩色视频在线观看| 成人av网站在线| 蜜臀av亚洲一区中文字幕| 亚洲欧洲在线观看av| 91在线一区二区| 精品欧美乱码久久久久久1区2区| 色婷婷av一区二区| 欧美日本韩国一区| 久久综合精品国产一区二区三区 | 视频一区欧美精品| 石原莉奈一区二区三区在线观看| 亚洲男女一区二区三区|