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

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

?? amd.c

?? 優(yōu)龍2410linux2.6.8內(nèi)核源代碼
?? C
字號:
#include <linux/init.h>#include <linux/bitops.h>#include <linux/mm.h>#include <asm/io.h>#include <asm/processor.h>#include "cpu.h"/* *	B step AMD K6 before B 9730xxxx have hardware bugs that can cause *	misexecution of code under Linux. Owners of such processors should *	contact AMD for precise details and a CPU swap. * *	See	http://www.multimania.com/poulot/k6bug.html *		http://www.amd.com/K6/k6docs/revgd.html * *	The following test is erm.. interesting. AMD neglected to up *	the chip setting when fixing the bug but they also tweaked some *	performance at the same time.. */ extern void vide(void);__asm__(".align 4\nvide: ret");static void __init init_amd(struct cpuinfo_x86 *c){	u32 l, h;	int mbytes = num_physpages >> (20-PAGE_SHIFT);	int r;	/*	 *	FIXME: We should handle the K5 here. Set up the write	 *	range and also turn on MSR 83 bits 4 and 31 (write alloc,	 *	no bus pipeline)	 */	/* Bit 31 in normal CPUID used for nonstandard 3DNow ID;	   3DNow is IDd by bit 31 in extended CPUID (1*32+31) anyway */	clear_bit(0*32+31, c->x86_capability);		r = get_model_name(c);	switch(c->x86)	{		case 4:		/*		 * General Systems BIOSen alias the cpu frequency registers		 * of the Elan at 0x000df000. Unfortuantly, one of the Linux		 * drivers subsequently pokes it, and changes the CPU speed.		 * Workaround : Remove the unneeded alias.		 */#define CBAR		(0xfffc) /* Configuration Base Address  (32-bit) */#define CBAR_ENB	(0x80000000)#define CBAR_KEY	(0X000000CB)			if (c->x86_model==9 || c->x86_model == 10) {				if (inl (CBAR) & CBAR_ENB)					outl (0 | CBAR_KEY, CBAR);			}			break;		case 5:			if( c->x86_model < 6 )			{				/* Based on AMD doc 20734R - June 2000 */				if ( c->x86_model == 0 ) {					clear_bit(X86_FEATURE_APIC, c->x86_capability);					set_bit(X86_FEATURE_PGE, c->x86_capability);				}				break;			}						if ( c->x86_model == 6 && c->x86_mask == 1 ) {				const int K6_BUG_LOOP = 1000000;				int n;				void (*f_vide)(void);				unsigned long d, d2;								printk(KERN_INFO "AMD K6 stepping B detected - ");								/*				 * It looks like AMD fixed the 2.6.2 bug and improved indirect 				 * calls at the same time.				 */				n = K6_BUG_LOOP;				f_vide = vide;				rdtscl(d);				while (n--) 					f_vide();				rdtscl(d2);				d = d2-d;								/* Knock these two lines out if it debugs out ok */				printk(KERN_INFO "AMD K6 stepping B detected - ");				/* -- cut here -- */				if (d > 20*K6_BUG_LOOP) 					printk("system stability may be impaired when more than 32 MB are used.\n");				else 					printk("probably OK (after B9730xxxx).\n");				printk(KERN_INFO "Please see http://membres.lycos.fr/poulot/k6bug.html\n");			}			/* K6 with old style WHCR */			if (c->x86_model < 8 ||			   (c->x86_model== 8 && c->x86_mask < 8)) {				/* We can only write allocate on the low 508Mb */				if(mbytes>508)					mbytes=508;				rdmsr(MSR_K6_WHCR, l, h);				if ((l&0x0000FFFF)==0) {					unsigned long flags;					l=(1<<0)|((mbytes/4)<<1);					local_irq_save(flags);					wbinvd();					wrmsr(MSR_K6_WHCR, l, h);					local_irq_restore(flags);					printk(KERN_INFO "Enabling old style K6 write allocation for %d Mb\n",						mbytes);				}				break;			}			if ((c->x86_model == 8 && c->x86_mask >7) ||			     c->x86_model == 9 || c->x86_model == 13) {				/* The more serious chips .. */				if(mbytes>4092)					mbytes=4092;				rdmsr(MSR_K6_WHCR, l, h);				if ((l&0xFFFF0000)==0) {					unsigned long flags;					l=((mbytes>>2)<<22)|(1<<16);					local_irq_save(flags);					wbinvd();					wrmsr(MSR_K6_WHCR, l, h);					local_irq_restore(flags);					printk(KERN_INFO "Enabling new style K6 write allocation for %d Mb\n",						mbytes);				}				/*  Set MTRR capability flag if appropriate */				if (c->x86_model == 13 || c->x86_model == 9 ||				   (c->x86_model == 8 && c->x86_mask >= 8))					set_bit(X86_FEATURE_K6_MTRR, c->x86_capability);				break;			}			break;		case 6: /* An Athlon/Duron */ 			/* Bit 15 of Athlon specific MSR 15, needs to be 0 			 * to enable SSE on Palomino/Morgan/Barton CPU's.			 * If the BIOS didn't enable it already, enable it here.			 */			if (c->x86_model >= 6 && c->x86_model <= 10) {				if (!cpu_has(c, X86_FEATURE_XMM)) {					printk(KERN_INFO "Enabling disabled K7/SSE Support.\n");					rdmsr(MSR_K7_HWCR, l, h);					l &= ~0x00008000;					wrmsr(MSR_K7_HWCR, l, h);					set_bit(X86_FEATURE_XMM, c->x86_capability);				}			}			/* It's been determined by AMD that Athlons since model 8 stepping 1			 * are more robust with CLK_CTL set to 200xxxxx instead of 600xxxxx			 * As per AMD technical note 27212 0.2			 */			if ((c->x86_model == 8 && c->x86_mask>=1) || (c->x86_model > 8)) {				rdmsr(MSR_K7_CLK_CTL, l, h);				if ((l & 0xfff00000) != 0x20000000) {					printk ("CPU: CLK_CTL MSR was %x. Reprogramming to %x\n", l,						((l & 0x000fffff)|0x20000000));					wrmsr(MSR_K7_CLK_CTL, (l & 0x000fffff)|0x20000000, h);				}			}			break;	}	switch (c->x86) {	case 15:		set_bit(X86_FEATURE_K8, c->x86_capability);		break;	case 6:		set_bit(X86_FEATURE_K7, c->x86_capability); 		break;	}	display_cacheinfo(c);}static unsigned int amd_size_cache(struct cpuinfo_x86 * c, unsigned int size){	/* AMD errata T13 (order #21922) */	if ((c->x86 == 6)) {		if (c->x86_model == 3 && c->x86_mask == 0)	/* Duron Rev A0 */			size = 64;		if (c->x86_model == 4 &&		    (c->x86_mask==0 || c->x86_mask==1))	/* Tbird rev A1/A2 */			size = 256;	}	return size;}static struct cpu_dev amd_cpu_dev __initdata = {	.c_vendor	= "AMD",	.c_ident 	= { "AuthenticAMD" },	.c_models = {		{ .vendor = X86_VENDOR_AMD, .family = 4, .model_names =		  {			  [3] = "486 DX/2",			  [7] = "486 DX/2-WB",			  [8] = "486 DX/4", 			  [9] = "486 DX/4-WB", 			  [14] = "Am5x86-WT",			  [15] = "Am5x86-WB" 		  }		},	},	.c_init		= init_amd,	.c_identify	= generic_identify,	.c_size_cache	= amd_size_cache,};int __init amd_init_cpu(void){	cpu_devs[X86_VENDOR_AMD] = &amd_cpu_dev;	return 0;}//early_arch_initcall(amd_init_cpu);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产xxx精品视频大全| 亚洲国产成人av网| 国产一区二区三区精品视频| 日韩免费视频一区二区| 韩国v欧美v日本v亚洲v| 欧美激情在线看| 不卡一区二区三区四区| 亚洲人成影院在线观看| 精品视频在线免费看| 秋霞午夜鲁丝一区二区老狼| 日韩美女在线视频| 成人午夜av在线| 亚洲免费在线电影| 91精品国产一区二区三区| 久久成人羞羞网站| 国产女人aaa级久久久级| 色香蕉成人二区免费| 天天av天天翘天天综合网色鬼国产 | 国产片一区二区三区| 92国产精品观看| 丝袜美腿成人在线| 国产欧美一区二区三区鸳鸯浴 | 久久99精品国产麻豆不卡| 久久久www成人免费无遮挡大片| heyzo一本久久综合| 香蕉av福利精品导航| 久久综合狠狠综合久久激情 | 色综合久久久久综合体| 五月开心婷婷久久| 国产欧美日韩在线看| 欧美午夜影院一区| 国产精品一卡二卡| 亚洲电影视频在线| 国产日韩在线不卡| 欧美高清精品3d| 成人黄色在线看| 日本午夜一本久久久综合| 国产精品国产馆在线真实露脸| 欧美人牲a欧美精品| 国产91在线观看| 日韩av一级片| 亚洲女人小视频在线观看| 欧美精品一区二区三区久久久 | 亚洲国产精品成人综合色在线婷婷| 色综合色综合色综合| 国内精品视频666| 亚洲最大成人综合| 国产精品美女久久久久久久网站| 91精品国产91热久久久做人人| 99久久精品一区二区| 国内精品伊人久久久久av一坑| 五月激情六月综合| 亚洲激情六月丁香| 中文字幕一区二区三区蜜月| 日韩免费高清av| 91麻豆精品国产无毒不卡在线观看| 99久久精品国产麻豆演员表| 国产一区二区美女诱惑| 日本亚洲三级在线| 日韩电影在线一区二区三区| 伊人夜夜躁av伊人久久| 18欧美乱大交hd1984| 2024国产精品| 亚洲精品在线电影| 日韩丝袜美女视频| 欧美一级二级三级乱码| 欧美日本乱大交xxxxx| 欧洲精品一区二区三区在线观看| av网站一区二区三区| 国产成+人+日韩+欧美+亚洲| 国产在线视频精品一区| 黄一区二区三区| 精品在线播放午夜| 久久69国产一区二区蜜臀| 美女视频免费一区| 日韩精品一区第一页| 三级亚洲高清视频| 免费在线视频一区| 久久99国产精品久久| 激情综合亚洲精品| 国产一本一道久久香蕉| 国产福利91精品一区| 国产91在线看| 97精品国产露脸对白| 91最新地址在线播放| 在线日韩av片| 欧美人与z0zoxxxx视频| 日韩一区二区影院| 久久婷婷一区二区三区| 中文字幕不卡的av| 亚洲免费观看高清完整版在线观看 | 日韩欧美在线影院| 欧美mv日韩mv亚洲| 欧美国产日韩亚洲一区| 中文字幕一区二区三区视频| 亚洲精品国产a| 日韩精品1区2区3区| 国产中文字幕一区| 成人国产在线观看| 欧美在线视频全部完| 日韩亚洲电影在线| 国产肉丝袜一区二区| 伊人婷婷欧美激情| 蜜臀精品久久久久久蜜臀| 国产成人三级在线观看| 一本一道综合狠狠老| 欧美一区二区私人影院日本| 国产亚洲成aⅴ人片在线观看 | 91色九色蝌蚪| 91精品办公室少妇高潮对白| 日韩一区二区在线观看| 国产精品网站在线观看| 亚洲狠狠爱一区二区三区| 久久精品免费看| 91麻豆文化传媒在线观看| 制服丝袜成人动漫| 国产精品久久久久永久免费观看 | 精品日韩欧美一区二区| 国产精品嫩草久久久久| 日韩在线一二三区| 丁香另类激情小说| 91精品国产福利| 亚洲天天做日日做天天谢日日欢 | 91成人看片片| 26uuu久久天堂性欧美| 亚洲精品视频观看| 狠狠色狠狠色综合| 欧美三级在线播放| 国产精品天干天干在线综合| 奇米影视一区二区三区| 97se亚洲国产综合自在线| 精品免费日韩av| 亚洲国产综合色| 成人国产一区二区三区精品| 日韩欧美国产综合在线一区二区三区| 中文字幕日韩一区| 国产一区二区三区av电影| 欧美日韩不卡视频| 一区二区三区加勒比av| 成人综合在线观看| 精品成人一区二区三区| 婷婷夜色潮精品综合在线| 91看片淫黄大片一级| 中文字幕 久热精品 视频在线 | 久久久美女毛片| 免费的国产精品| 欧美三级电影精品| 1区2区3区国产精品| 成人在线视频一区二区| 久久免费电影网| 久久国产精品99精品国产| 欧美日本一区二区三区| 亚洲线精品一区二区三区 | 在线免费观看日韩欧美| 国产精品久久三区| 成人午夜视频福利| 国产欧美日韩麻豆91| 国产二区国产一区在线观看 | 久久一区二区三区四区| 免费观看91视频大全| 在线综合+亚洲+欧美中文字幕| 亚洲成在线观看| 欧美日韩国产美| 亚洲电影一区二区| 欧美男生操女生| 日韩二区三区四区| 日韩欧美精品三级| 黄一区二区三区| 国产网站一区二区三区| 国产精品一区一区三区| 国产欧美综合在线| 波多野结衣在线aⅴ中文字幕不卡| 欧美高清在线精品一区| 成人a免费在线看| 中文字幕在线观看一区| 日韩欧美电影在线| 极品少妇一区二区三区精品视频| 久久免费国产精品| 成人黄色综合网站| 亚洲精品久久久蜜桃| 欧美视频你懂的| 日本亚洲电影天堂| 久久蜜桃av一区二区天堂| 成人国产一区二区三区精品| 亚洲视频一区二区在线| 欧美日韩国产综合一区二区 | 日韩激情一二三区| 精品久久人人做人人爱| 高清免费成人av| 亚洲美女区一区| 日韩亚洲欧美成人一区| 国产成人一级电影| 亚洲精品免费播放| 51精品视频一区二区三区| 国产美女av一区二区三区| 国产欧美日韩另类一区| 在线精品亚洲一区二区不卡| 蜜臀a∨国产成人精品| 亚洲国产高清在线观看视频| 91精品福利在线|