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

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

?? vxshow.c

?? vxwork源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* vxShow.c - Intel Architecture processor show routines *//* Copyright 1984-2002 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01g,12mar02,pai  Add an initialization routine for configuring the show                 routines into a build configuration (SPR 74103).  Added                 vxSseShow() routine and updated documentation.01f,07mar02,hdn  updated with AP485 rev-019 for HTT (spr 73359)01e,20nov01,hdn  doc clean up for 5.501d,07nov01,hdn  added header file vxI86Lib.h to shut off the warning01c,01nov01,hdn  added vxDrShow() to see the debug registers01b,11oct01,hdn  uncommented out the "Fast System Call" printing01a,14aug01,hdn  taken from T31 ver 01h, added PENTIUM4 support*//*DESCRIPTIONThis library contains routines for printing various types of informationon Intel Architecture CPUs.To use these routines, install the library using the vxShowInit()routine, which is called automatically when either of the followingconfiguration methods is employed:.iPINCLUDE_SHOW_ROUTINES is defined in a BSP config.h file forcommand-line builds..iPThe INCLUDE_SHOW_ROUTINES Component is selected for TornadoProject Facility builds..LPIncluded in this library is a routine for reporting details on IntelArchitecture 80x86 and Pentium generation processors and coprocessors.This vxCpuShow() routine is essentially a VxWorks implementation of thecode found in the Intel Application Note, "AP-485, Intel ProcessorIdentification and the CPUID Instruction".  The vxCpuShow() routine maybe useful for determining specific features found on the target processorupon which VxWorks is running.In addition to the vxCpuShow() routine, there are routines for showingprocesser register contents.  Some of these routines show certain processorregisters independent of any task context, while others show registervalues associated with a particular task context.There is a simple routine for showing the contents of the processor debugregisters.  The debug registers (DR0 through DR7) control, and allowmonitoring of, the processor's debugging operations.This library provides a routine for showing a task's optional StreamingSIMD Extension (SSE) register context.  Target-based task informationroutines, such as ti(), will display a task's SSE context, if any, whenthis library is built into a VxWorks system.SEE ALSO:.pG "Configuration"*//* includes */#include "vxWorks.h"#include "regs.h"#include "vxLib.h"#include "stdio.h"#include "string.h"#include "taskLib.h"#include "fioLib.h"#include "fppLib.h"#include "arch/i86/pentiumLib.h"#include "private/funcBindP.h"/* defines */#define FPU_FLAG	0x00000001	/* floating point unit on chip */#define VME_FLAG 	0x00000002	/* virtual mode extension */#define DE_FLAG 	0x00000004	/* debugging extension */#define PSE_FLAG 	0x00000008	/* page size extension */#define TSC_FLAG 	0x00000010	/* time stamp counter */#define MSR_FLAG 	0x00000020	/* model specific register */#define PAE_FLAG 	0x00000040	/* physical address extension */#define MCE_FLAG 	0x00000080	/* machine check exception */#define CX8_FLAG 	0x00000100	/* CMPXCHG8 instruction supported */#define APIC_FLAG 	0x00000200	/* on-chip APIC hardware support */#define SEP_FLAG 	0x00000800	/* fast system call */#define MTRR_FLAG 	0x00001000	/* memory type range registers */#define PGE_FLAG 	0x00002000	/* page global enable */#define MCA_FLAG 	0x00004000	/* machine check architecture */#define CMOV_FLAG 	0x00008000	/* conditional move instruction */#define PAT_FLAG 	0x00010000	/* page attribute table */#define PSE36_FLAG 	0x00020000	/* 36-bit page size extension */#define PSNUM_FLAG 	0x00040000	/* processor serial no is enabled */#define CLFLUSH_FLAG 	0x00080000	/* CLFLUSH instruction supported */#define DTS_FLAG 	0x00200000	/* Debug Trace Store */#define ACPI_FLAG 	0x00400000	/* ACPI registers in MSR space */#define MMX_FLAG 	0x00800000	/* IA MMX technology supported */#define FXSR_FLAG 	0x01000000	/* fast floating point save, restore */#define SSE_FLAG 	0x02000000	/* Streaming SIMD Extension */#define SSE2_FLAG 	0x04000000	/* Streaming SIMD Extension 2 */#define SS_FLAG 	0x08000000	/* Self Snoop */#define TM_FLAG 	0x20000000	/* Thermal Monitor */#define HTT_FLAG 	0x10000000	/* Hyper Threading Technology */#define BRAND_TABLE_SIZE	10	/* brand table size */typedef struct brand_entry		/* brand table entry */	{	long brand_value;		/* brand id */	char * brand_string;		/* corresponding brand name */	} BRAND_ENTRY;/* externals */IMPORT CPUID	sysCpuId;IMPORT int	sysProcessor;IMPORT int	sysCoprocessor;/* locals */#if	FALSE	/* Unlike AE, 5.5 does not have TSS per task */LOCAL const char * tssFmt0 = "\n\link : 0x%08x\n\esp0 : 0x%08x   ss0 : 0x%08x\n\esp1 : 0x%08x   ss1 : 0x%08x\n\esp2 : 0x%08x   ss2 : 0x%08x\n\ cr3 : 0x%08x   eip : 0x%08x eflags : 0x%08x\n\ eax : 0x%08x   ecx : 0x%08x    edx : 0x%08x    ebx : 0x%08x\n\ esp : 0x%08x   ebp : 0x%08x    esi : 0x%08x    edi : 0x%08x\n\  cs : 0x%08x    ds : 0x%08x     ss : 0x%08x\n\  es : 0x%08x    fs : 0x%08x     gs : 0x%08x\n\ ldt : 0x%08x tflag : 0x%08x iomapb : 0x%08x\n";#endifLOCAL char intelId[] = "GenuineIntel";LOCAL BRAND_ENTRY brand_table [BRAND_TABLE_SIZE] =	{	{0x01, " Genuine Intel Celeron(R) CPU"},	{0x02, " Genuine Intel Pentium(R) III CPU"},	{0x03, " Genuine Intel Pentium(R) III Xeon(TM) CPU"},	{0x04, " Genuine Intel Pentium(R) III CPU"},	{0x06, " Genuine Mobile Intel Pentium(R) III CPU-M"},	{0x07, " Genuine Mobile Intel Celeron(R) CPU"},	{0x08, " Genuine Intel Pentium(R) 4 CPU"},	{0x09, " Genuine Intel Pentium(R) 4 CPU"},	{0x0B, " Genuine Intel Xeon(TM) CPU"},	{0x0E, " Genuine Intel Xeon(TM) CPU"}	};LOCAL const char * const dregFmt = "\n\dr0 : 0x%08x   dr1 : 0x%08x    dr2 : 0x%08x    dr3 : 0x%08x\n\dr4 : 0x%08x   dr5 : 0x%08x    dr6 : 0x%08x    dr7 : 0x%08x\n";/* forward declarations */void vxCpuShow (void);void vxDrShow (void);void vxSseShow (int);/********************************************************************************* vxShowInit - initialize the Intel 80x86 and Pentium show routines** This routine links Intel 80x86 and Pentium family show routines into* the VxWorks system.  It is called automatically when the show facility* is configured into VxWorks using either of the following methods:** .iP* INCLUDE_SHOW_ROUTINES is defined in a BSP config.h file for* command-line builds.** .iP* The INCLUDE_SHOW_ROUTINES Component is selected for Tornado* Project Facility builds.* .LP** INTERNAL* This routine could be called before the RTOS is fully initialized.  The* routine is used primarilly as a linkage symbol to pull the library into* a build.  Other initialization should be very simple.  For example, set* the initial values for file-scope and global variables.  Do not try to* allocate memory in this routine.  Do not call VxWorks kernel routines.** The <sysCpuId> structure is populated by calling sysCpuProbe().  Thus,* sysCpuProbe() must be called if there is to be any hope of correctly* determining whether to bind <_func_sseTaskRegsShow> to the SSE show* routine.** RETURNS: N/A*/void vxShowInit (void)    {    const int features_edx = sysCpuId.featuresEdx;    /* Bind the Streaming SIMD register show routine ? */    if ((features_edx & SSE_FLAG) || (features_edx & SSE2_FLAG))        {        _func_sseTaskRegsShow = (FUNCPTR) vxSseShow;        }    }#if	FALSE	/* Unlike AE, 5.5 does not have TSS per task *//********************************************************************************* vxTssShow - show content of the TSS (Task State Segment)** This routine shows content of the TSS (Task State Segment)** RETURNS: N/A** NOMANUAL*/void vxTssShow    (    int  tid                    	/* task ID of task */    )    {    WIND_TCB * pTcb;			/* pointer to TCB */    TSS * pTss;				/* pointer to TSS */    if (tid == 0)	pTcb = taskIdCurrent;    else	pTcb = (WIND_TCB *) tid;    pTss = pTcb->tss;			/* get the address of TSS */    printf (tssFmt0,     pTss->link,   pTss->esp0,  pTss->ss0,	    pTss->esp1,  pTss->ss1,    pTss->esp2,  pTss->ss2,	    pTss->cr3,   pTss->eip,    pTss->eflags,	    pTss->eax,   pTss->ecx,    pTss->edx,   pTss->ebx,	    pTss->esp,   pTss->ebp,    pTss->esi,   pTss->edi,	    pTss->cs,    pTss->ds,     pTss->ss,	    pTss->es,    pTss->fs,     pTss->gs,	    pTss->ldt,   pTss->tflag,  pTss->iomapb);    }#endif/********************************************************************************* vxCpuShow - show CPU type, family, model, and supported features.** This routine prints information on Intel Architecture processors* and coprocessors, including CPU type, family, model, and supported* features.** INTERNAL* This source code came from Intel AP-485 and kept as is for ease of* future upgrade / maintenance.** RETURNS: N/A*/void vxCpuShow (void)    {    char cpu_type	= (sysCpuId.signature & CPUID_FAMILY) >> 8;     char fpu_type	= 0;    int  cpu_signature	= sysCpuId.signature;     int  features_ebx	= sysCpuId.featuresEbx;#if	FALSE    int  features_ecx	= sysCpuId.featuresEcx;#endif	/* FALSE */    int  features_edx	= sysCpuId.featuresEdx;    int  cache_eax	= sysCpuId.cacheEax;      int  cache_ebx	= sysCpuId.cacheEbx;    int  cache_ecx	= sysCpuId.cacheEcx;    int  cache_edx	= sysCpuId.cacheEdx;    char cpuid_flag	= (sysCpuId.highestValue != 0);     char intel_CPU	= FALSE;     char vendor_id[12];     int  cache_temp;     int  celeron_flag;    int  pentiumxeon_flag;    char brand_string[48];    int	 brand_index	= 0;    if (sysProcessor == NONE)        {	printf ("sysCpuProbe() is not executed.\n");	return;	}    if ((sysCoprocessor == X86FPU_387) || (sysCoprocessor == X86FPU_487))        fpu_type = 3;    bcopy ((char *)sysCpuId.vendorId, vendor_id, sizeof (vendor_id));    bcopy ((char *)sysCpuId.brandString, brand_string, sizeof (brand_string));    if (strncmp (intelId, (char *)sysCpuId.vendorId, sizeof (vendor_id)) == 0)	intel_CPU = TRUE;    printf ("This system has a");     if (cpuid_flag == 0)         {	switch (cpu_type) 	    { #if	FALSE	    case 0: 		printf ("n 8086/8088 CPU"); 		if (fpu_type) 		    printf (" and an 8087 math coCPU"); 		break; 	    case 2: 		printf ("n 80286 CPU"); 		if (fpu_type) 		    printf (" and an 80287 math coCPU"); 		break; #endif	/* FALSE */	    case 3: 		printf ("n 80386 CPU"); 		if (fpu_type == 2) 		    printf (" and an 80287 math coCPU"); 		else if (fpu_type) 		    printf (" and an 80387 math coCPU"); 		break; 	    case 4: 		if (fpu_type) 		    printf ("n 80486DX, 80486DX2 CPU or 80487SX math coCPU"); 		else 		    printf ("n 80486SX CPU"); 		break; 	    default: 		printf ("n unknown CPU"); 	    }        }     else         { 	/* using cpuid instruction */ 	if (brand_string[0])	    {	    brand_index = 0;	    while ((brand_string[brand_index] == ' ') && (brand_index < 48))		brand_index++;		/* remove leading Space */	    if (brand_index != 48)		printf ("%s", &brand_string[brand_index]);	    }	if (intel_CPU) 	    { 	    if (cpu_type == 4) 	        { 		switch ((cpu_signature >> 4) & 0xf) 		    { 		    case 0: 		    case 1: 			printf (" Genuine Intel486(TM) DX CPU");		        break; 		    case 2: 			printf (" Genuine Intel486(TM) SX CPU"); 			break; 		    case 3: 			printf (" Genuine IntelDX2(TM) CPU"); 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91老师国产黑色丝袜在线| 美国av一区二区| 91丨九色porny丨蝌蚪| 1024精品合集| 日本高清免费不卡视频| 性做久久久久久| 日韩一区二区高清| 国产剧情一区二区| 中文字幕va一区二区三区| 色狠狠色噜噜噜综合网| 亚洲va国产va欧美va观看| 欧美成人精品高清在线播放| 激情五月婷婷综合| 亚洲三级小视频| 欧美日韩亚洲另类| 精品无人区卡一卡二卡三乱码免费卡| 久久精品一区四区| 色婷婷av一区二区三区大白胸| 偷拍亚洲欧洲综合| 国产日韩欧美一区二区三区综合| 色综合久久久久综合99| 国产一区二区三区国产| 亚洲欧美综合色| 欧美人狂配大交3d怪物一区| 国产高清久久久久| 亚洲成av人综合在线观看| 久久久久久夜精品精品免费| 91国偷自产一区二区三区成为亚洲经典| 亚洲成av人片观看| 国产欧美精品国产国产专区 | 国产在线一区观看| 国产精品久久精品日日| 777午夜精品免费视频| 成人h精品动漫一区二区三区| 亚洲成人综合网站| 日本一区二区免费在线| 欧美性一二三区| 国产风韵犹存在线视精品| 首页亚洲欧美制服丝腿| 国产精品成人免费在线| 日韩欧美成人一区二区| 在线观看网站黄不卡| 国产黑丝在线一区二区三区| 亚洲成人免费av| 亚洲人成网站精品片在线观看| 欧美精品一区二区精品网| 91成人免费在线视频| 国产精品亚洲第一区在线暖暖韩国| 亚洲成人av免费| 亚洲免费在线观看视频| 久久久久久久电影| 欧美卡1卡2卡| 欧美在线|欧美| 色综合久久综合网欧美综合网 | 日欧美一区二区| 天堂av在线一区| 中文字幕一区二区三区四区 | 麻豆91免费看| 亚洲一区二区三区自拍| 亚洲欧洲成人av每日更新| 国产清纯在线一区二区www| 日韩欧美不卡在线观看视频| 欧美欧美欧美欧美首页| 欧美伊人精品成人久久综合97| 97se亚洲国产综合自在线观| 国产ts人妖一区二区| 国产一区二区精品久久| 另类小说欧美激情| 美日韩一区二区| 秋霞电影一区二区| 日本欧美在线观看| 日日夜夜免费精品| 七七婷婷婷婷精品国产| 日本欧美一区二区三区乱码| 男人的天堂久久精品| 日本91福利区| 精品一区二区在线视频| 黄一区二区三区| 国产精品一区二区91| 国产高清不卡一区| 成人一级视频在线观看| 成人国产精品免费网站| kk眼镜猥琐国模调教系列一区二区| av一区二区不卡| 在线看国产一区| 欧美疯狂做受xxxx富婆| 日韩欧美一二区| 国产欧美一区二区三区在线看蜜臀 | 欧美美女一区二区| 91精品久久久久久久91蜜桃 | 国产精品69久久久久水密桃| 激情伊人五月天久久综合| 国产不卡在线视频| 色婷婷激情一区二区三区| 欧美日本一道本在线视频| 91精品国产色综合久久不卡电影 | 亚洲人成在线观看一区二区| 亚洲欧美另类久久久精品2019| 亚洲永久精品国产| 琪琪一区二区三区| 成人性视频免费网站| 91免费观看视频在线| 欧美日本一道本| 久久精品欧美一区二区三区不卡| 国产精品成人在线观看| 亚洲最新视频在线观看| 美女视频一区在线观看| 成人午夜精品在线| 欧美日韩在线三级| 久久久国产精华| 亚洲最大成人综合| 激情文学综合丁香| 在线中文字幕一区| 亚洲精品一区二区精华| 亚洲男人天堂一区| 久久99九九99精品| 91在线小视频| 精品国产3级a| 亚洲自拍另类综合| 激情综合色综合久久综合| aa级大片欧美| 欧美一区二区黄色| 亚洲丝袜制服诱惑| 激情五月激情综合网| 欧美在线你懂的| 国产婷婷一区二区| 婷婷亚洲久悠悠色悠在线播放| 国产精品综合二区| 欧美日本一区二区三区四区| 国产精品国产精品国产专区不蜜| 午夜不卡av免费| 91视频你懂的| 欧美国产日韩在线观看| 久久精品99国产精品| 欧美午夜精品理论片a级按摩| 中文字幕不卡在线观看| 久久99热这里只有精品| 欧美日韩另类国产亚洲欧美一级| 中文字幕欧美国产| 九九热在线视频观看这里只有精品| 欧美伊人久久大香线蕉综合69| 国产精品伦一区二区三级视频| 老司机精品视频一区二区三区| 欧美日韩午夜影院| 一区二区三区中文字幕精品精品| 国产v日产∨综合v精品视频| 日韩欧美综合一区| 亚洲成人激情自拍| 欧美一区二区三区免费大片| 亚洲国产精品一区二区尤物区| gogogo免费视频观看亚洲一| 久久精品夜色噜噜亚洲a∨| 美女mm1313爽爽久久久蜜臀| 欧美日韩国产一二三| 亚洲综合一区二区三区| 91在线精品一区二区| 国产精品久久免费看| 国产成人综合网| 中文一区一区三区高中清不卡| 国产精一品亚洲二区在线视频| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 日韩精品一区二区三区中文不卡| 亚洲成人av免费| 9191久久久久久久久久久| 亚洲一区二区欧美激情| 欧美无砖砖区免费| 午夜精品爽啪视频| 欧美喷水一区二区| 美女任你摸久久 | 中文字幕精品一区二区三区精品 | www.欧美.com| 亚洲免费观看在线视频| 色系网站成人免费| 一二三四社区欧美黄| 91精品视频网| 久久精品国产亚洲a| 国产视频不卡一区| 波多野结衣中文字幕一区| 亚洲欧美综合网| 欧美日韩视频专区在线播放| 免费美女久久99| 久久久久久一级片| 91视频免费播放| 丝袜亚洲精品中文字幕一区| 91精品国产综合久久久久久漫画 | 中文字幕一区视频| 欧美午夜精品久久久久久孕妇| 日本欧美韩国一区三区| 亚洲精品一区在线观看| 99综合影院在线| 亚洲电影中文字幕在线观看| 日韩美女一区二区三区四区| 国产精品 欧美精品| 亚洲精品成人精品456| 在线播放视频一区| 在线观看www91| 久久99久久99| 亚洲免费在线观看| 日韩欧美视频一区| 91色在线porny|