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

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

?? ruaxrpc.c

?? SigmDesign SMP8634 media decode chip development SDK
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
/* * * Copyright (c) Sigma Designs, Inc. 2002. All rights reserved. * *//*  Code is very similar to llad_xtest/xrpc.c  Only difference is that the place where xrpc's are dropped is compatible with running RUA memory managers.*/#include "sample_os.h"#define ALLOW_OS_CODE 1#include "../dcc/include/dcc.h"#include "common.h"#define ac_G3r (1<<31)#define ac_G3w (1<<30)#define ac_G2r (1<<29)#define ac_G2w (1<<28)#define ac_G1r (1<<27)#define ac_G1w (1<<26)#define ac_G0r (1<<25)#define ac_G0w (1<<24)#define ac_D3r (1<<23)#define ac_D3w (1<<22)#define ac_D2r (1<<21)#define ac_D2w (1<<20)#define ac_D1r (1<<19)#define ac_D1w (1<<18)#if (EM86XX_CHIP>=EM86XX_CHIPID_TANGO3)#error miss xpu dma prot 17, 16 above#endif/* shortcuts */#define ac_Gr   (ac_G3r|ac_G2r|ac_G1r|ac_G0r)#define ac_Grw  (ac_G3w|ac_G2w|ac_G1w|ac_G0w|ac_Gr)#define ac_Dr   (ac_D3r|ac_D2r|ac_D1r)#define ac_Drw  (ac_D3w|ac_D2w|ac_D1w|ac_Dr)/* memory protection */#define dc_mem_access_0 0xff80#define dc_mem_access_1 0xff84#define dc_mem_access_2 0xff88#define dc_mem_access_3 0xff8c#define dc_mem_access_4 0xff90 /* only for dram */#define dc_mem_access_5 0xff94 /* only for dram */#define dc_reg_access_0 0xffc0#define dc_reg_access_1 0xffc4#define dc_reg_access_2 0xffc8 /* only for dram controller regs and xpu regs */#define dc_reg_access_3 0xffcc /* only for xpu regs */#define dc_reg_access_4 0xffd0 /* only for xpu regs */#define PMEM_BASE_xpu_block 0x400000#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include "../xos/include/xos_xrpc.h"/* Default allocated size is huge (10MB), reduce here if needed */#define XRPC_ALLOC_SIZE (XRPC_MAXSIZE)#define RMasciiToUInt32(str,value) do { *(value)=strtoul(str,NULL,0); } while (0)#define xrpc_xload_pbusopen_ES4 xrpc_xload_pbusopen#define xrpc_xload_formatall_ES4 xrpc_xload_formatall#include "../llad_xtest/xrpc_xload_pbusopen_ES4.h"#include "../llad_xtest/xrpc_xload_formatall_ES4.h"int gbus_write_file(	RMuint8 *base,	char *filename);int gbus_write_file(	RMuint8 *base,	char *filename){	int fd,size=0,i=0;		fd=open(filename, O_RDONLY|O_LARGEFILE);	if (fd<0) {		perror("");		return -1;	}		// portable way to get a file's size	size=lseek(fd,0,SEEK_END);	if (size>XRPC_ALLOC_SIZE) {		fprintf(stderr,"exceeds usable memory range...\n");		return -1;	}		lseek(fd,0,SEEK_SET);		while (1) {		RMuint8 s[4];				if (read(fd,&s,4)!=4) {			perror("");			return -1;		}				*base=s[0];		base++;		*base=s[1];		base++;		*base=s[2];		base++;		*base=s[3];		base++;				i+=4;		if (i==size) break;	}		close(fd);		return size;}static void printprot(RMuint32 v){	RMint32 relevant=v&(ac_Grw|ac_Drw);		/* shortcuts */	if (relevant==0) {		printf(" denied\n"); // no one can access even xpu. Used for hw with looping effect (end of dram)		return;	}		if (relevant==(ac_Grw|ac_Drw)) {		printf(" noprot\n"); // not protected at all		return;	}		if (relevant==ac_Grw) {		printf(" nogprot\n"); // not protected from gbus access		return;	}	if (relevant==(ac_G0r|ac_G0w)) {		printf(" xpurwonly\n");		return;	}	/* in full... */	#undef DO#define DO(i)					\	do {					\		if (v&i) {			\			printf(" "#i);		\		}				\	} while (0)	DO(ac_G3r);	DO(ac_G3w);	DO(ac_G2r);	DO(ac_G2w);	DO(ac_G1r);	DO(ac_G1w);	DO(ac_G0r);	DO(ac_G0w);	DO(ac_D3r);	DO(ac_D3w);	DO(ac_D2r);	DO(ac_D2w);	DO(ac_D1r);	DO(ac_D1w);		printf("\n");}int main(int argc,char **argv) {	RMstatus rc=RM_ERROR;	struct RUA *pR = NULL;	RMuint32 chip_num=0;	if (argc==1) {		fprintf(stderr,"%s [-m board] <parameters>\n\n"			"<xrpc.bin>           Run provided xrpc\n"			"\n"			"xtask/ucode:\n"			" -xload <*.xload>\n"			" -xunload <image> <xload_size> <unload.xload>\n"		        "           (<xload_size> is ignored, only here for backward compatibility)\n"			"\n"			" -xstart <image> <a0> <a1> <a2> <a3>\n"			"                     Start an xtask instance from this image, returns pid\n"			" -xkill <tid> <val>  Signal a xtask. <val>=-1 causes immediate termination\n"			"\n"			" -ustart <image> <target>\n"			"                     Start ucode image <image> on dsp <target> (0 mpeg0 / 1 mpeg1 / 2 audio0 / 3 audio1 / 4 demux)\n"			" -ukill <tid> <val>  Signal a ucode. <val>=-1 causes immediate termination, other soft reset\n"			"\n"			"binding:\n"			" -xbind <*.xload>\n"			"\n"			"other:\n"		        " -bc                 Bonding comment (dev/prod)\n"			" -v                  Display xos SHA-1\n"		        " -V                  Display xos version (xos>=Mcc only)\n"			" -s                  Display serial#\n"			" -d                  Dump protection registers\n"		        " -b <certtype>       Dump certificate binding for type <certtype>\n"		        " -o <sector>         Dump sector owner\n"			" -e <ign> 22 21 0 0  Enhanced security mode (shown parameters are the xos defaults)\n"  		    	" -r                  Soft reboot\n"			" -c                  Cache dump (debug builds only)\n"			" -a <address>        Directly at address\n"			"sensitive ones:\n"			" -P                  pbusopen\n"			" -F                  formatall (blank all environment)\n"			"other helpers\n"			" -u                  unload irq handler\n"			" -z                  zero ih api block\n"			"\n"			,argv[0]);				return -1;	}		if (RMCompareAscii(argv[1], "-m")) {		RMasciiToUInt32(argv[2], &chip_num);		argv+=2;	}		if (RMFAILED(rc=RUACreateInstance(&pR, chip_num))) {		fprintf(stderr, "Error creating instance! %d\n",rc);		return -1;	}	#if 0	{		// test code for the different memory allocators				RMuint32 p0=RUAMalloc(pR,0,RUA_DRAM_UNPROTECTED,120);		RMuint32 p1=RUAMalloc(pR,1,RUA_DRAM_UNPROTECTED,130);		RMuint32 p2=RUAMalloc(pR,0,RUA_DRAM_PB,140); // picture buffers in dram0		RMuint32 p3=RUAMalloc(pR,1,RUA_DRAM_PB,150); // picture buffers in dram1		RMuint32 p4=RUAMalloc(pR,0,RUA_DRAM_BB,160); // bitstream buffers in dram0		RMuint32 p5=RUAMalloc(pR,1,RUA_DRAM_BB,170); // bitstream buffers in dram1		printf("p0=0x%08lx p1=0x%08lx p2=0x%08lx p3=0x%08lx p4=0x%08lx p5=0x%08lx\n",p0,p1,p2,p3,p4,p5);		if (p5)			RUAFree(pR,p5);		if (p4)			RUAFree(pR,p4);		if (p3)			RUAFree(pR,p3);		if (p2)			RUAFree(pR,p2);		if (p1)			RUAFree(pR,p1);		if (p0)			RUAFree(pR,p0);	}#else	{		RMuint32 p0=0, p=0;		RMuint8 *base_addr;		volatile struct xrpc_block_header *pB;				if (strcmp(argv[1],"-u")==0) {			printf("unload irq handler...\n");			rc=RUASetProperty(pR, XPUBlock, RMXPUBlockPropertyID_UnloadIrqHandler, &p0, sizeof(RMuint32), 0);			goto wayout2;		}				if (strcmp(argv[1],"-z")==0) {			printf("zero irq handler api...\n");			rc=RUASetProperty(pR, XPUBlock, RMXPUBlockPropertyID_ZeroIrqHandlerAPI, &p0, sizeof(RMuint32), 0);			goto wayout2;		}				p=RUAMalloc(pR,0,RUA_DRAM_UNPROTECTED,XRPC_ALLOC_SIZE);		if(p==0) {			fprintf(stderr,"cannot RUA allocate\n");			rc=RM_ERROR;			goto wayout2;		}				/* Aligned on cache line size */		p0=(p+16)&~0xF;				if (		    (RUALock(pR,p0,XRPC_ALLOC_SIZE-16)!=RM_OK)		    ||		    ((base_addr=RUAMap(pR,p0,XRPC_ALLOC_SIZE-16))==NULL)		    ) {			fprintf(stderr,"cannot map\n");			rc=RM_ERROR;			goto wayout2;		}				printf("[RUAXRPC map ok] dram_addr=0x%08lx base_addr=%p size=%d\n",p0,base_addr,XRPC_ALLOC_SIZE-16);				pB=(volatile struct xrpc_block_header *)base_addr; /* hack! endianness! e.m. */				if (argv[1][0]!='-') {			// FIXME: spaghettis 			if(gbus_write_file(base_addr, argv[1])<0)				goto wayout;						goto runit;		}		else {			pB->callerid=XRPC_CALLERID_IGNORED;			pB->headerandblocksize=(sizeof(struct xrpc_block_header)+63)&~63;			if (argc==3) { 				if ( (strcmp(argv[1],"-xload")==0) || (strcmp(argv[1],"-xbind")==0) ) { 					RMuint32 size; 					 					if((size=gbus_write_file( (RMuint8 *)(pB+1), argv[2]))<0) 						goto wayout;					 					if (strcmp(argv[1],"-xload")==0) 						pB->xrpcid=XRPC_ID_XLOAD;					else						pB->xrpcid=XRPC_ID_XBIND;					 					/* ! */ 					if (((*(RMuint32 *)(pB+1))>>24)==XLOAD_SEKID_CLEAR) 						pB->param0=size-XLOAD_CLEAR_HEADERSIZE; 					else 						pB->param0=size-XLOAD_CIPHERED_HEADERSIZE; 					 					pB->param1=0; // by putting garbage here, you can crash Maa. Fixed with Mac. 					pB->param2=0; 					pB->param3=0; 					pB->param4=0;					pB->headerandblocksize=sizeof(struct xrpc_block_header)+size; 					goto runit; 				}				if (strcmp(argv[1],"-o")==0) {					RMuint32 arg;					pB->xrpcid=XRPC_ID_GETOWNER;					RMasciiToUInt32(argv[2],&arg);					pB->param0=arg; 					pB->param1=0;  					pB->param2=0; 					pB->param3=0; 					pB->param4=0;										pB->headerandblocksize=sizeof(struct xrpc_block_header); 					goto runit;				}								if (strcmp(argv[1],"-b")==0) {					RMuint32 arg;					pB->xrpcid=XRPC_ID_GETBINDING;					RMasciiToUInt32(argv[2],&arg);					pB->param0=arg; 					pB->param1=0;  					pB->param2=0; 					pB->param3=0; 					pB->param4=0;										pB->headerandblocksize=sizeof(struct xrpc_block_header);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚欧色一区w666天堂| 一区在线播放视频| 日本aⅴ免费视频一区二区三区| 欧美在线综合视频| 亚洲国产一区二区三区青草影视| 在线观看www91| 国产成人精品一区二 | 亚洲午夜在线视频| 狠狠色狠狠色综合系列| 欧美影院精品一区| 中文字幕一区在线| 国产精品白丝jk黑袜喷水| 国产成人aaaa| 一个色综合av| 欧美日产国产精品| 美女脱光内衣内裤视频久久网站 | 欧美午夜一区二区三区| 五月婷婷欧美视频| 久久一区二区三区四区| 91视频一区二区| 午夜激情综合网| 国产亚洲欧洲997久久综合 | 成人av网站免费| 亚洲mv在线观看| 久久久99久久精品欧美| 色伊人久久综合中文字幕| 日本欧美一区二区三区| 日日夜夜精品视频天天综合网| 精品国产电影一区二区| 91看片淫黄大片一级在线观看| 免费人成网站在线观看欧美高清| 国产精品每日更新| 91精品国产欧美一区二区成人| 国产99久久久久| 日本伊人午夜精品| 亚洲免费在线看| 久久久久97国产精华液好用吗| 欧美性大战久久| 成人美女视频在线观看| 免费欧美在线视频| 悠悠色在线精品| 久久蜜桃av一区二区天堂| 乱中年女人伦av一区二区| 欧美日韩黄视频| 一区二区三区日韩精品视频| 一本色道综合亚洲| 26uuu国产一区二区三区| 国产精品久久久久久久久免费丝袜| 日本午夜一区二区| 欧美性生活大片视频| 国产精品护士白丝一区av| 欧美日免费三级在线| 精品亚洲porn| 天天综合天天综合色| 亚洲品质自拍视频| 久久精品一区二区三区av| 91精品国产综合久久精品| 色噜噜狠狠色综合欧洲selulu| 国产大片一区二区| 狠狠色丁香婷综合久久| 日本91福利区| 午夜国产精品一区| 一区二区三区欧美视频| 亚洲欧洲av在线| 中文字幕av资源一区| 精品国产亚洲在线| 欧美成人午夜电影| 91精品国产综合久久久久久久| 在线观看亚洲精品视频| 在线免费观看成人短视频| 色婷婷综合久久久中文一区二区| 99精品视频一区二区三区| 成+人+亚洲+综合天堂| 成人开心网精品视频| www.欧美精品一二区| 成人免费黄色在线| 成人一区在线看| 99精品久久只有精品| 色综合久久综合网| 欧美色图12p| 在线不卡免费欧美| 91精品国产高清一区二区三区 | 五月天亚洲精品| 日韩在线一二三区| 日本亚洲三级在线| 久久超级碰视频| 狠狠色综合色综合网络| 丁香啪啪综合成人亚洲小说| av日韩在线网站| 在线一区二区三区四区| 欧美日韩国产综合一区二区| 91精品国产一区二区人妖| 日韩三级伦理片妻子的秘密按摩| 26uuu精品一区二区三区四区在线| 久久蜜桃av一区精品变态类天堂| 亚洲欧美影音先锋| 亚洲制服丝袜在线| 日韩av电影天堂| 国产一区二区久久| 91在线无精精品入口| 色老综合老女人久久久| 6080日韩午夜伦伦午夜伦| 久久亚洲私人国产精品va媚药| 日本一区二区三级电影在线观看 | 亚洲精品国产成人久久av盗摄| 五月激情六月综合| 韩日av一区二区| 成人av在线一区二区| 色噜噜夜夜夜综合网| 日韩一区二区三区电影| 国产色产综合产在线视频| 亚洲一级二级三级| 国产在线播放一区| 在线区一区二视频| 久久综合色综合88| 亚洲线精品一区二区三区 | 日韩激情视频网站| 国产91精品在线观看| 欧美三片在线视频观看| 久久精品夜色噜噜亚洲aⅴ| 亚洲精品高清视频在线观看| 激情久久五月天| 欧洲亚洲国产日韩| 久久久精品国产99久久精品芒果| 亚洲蜜臀av乱码久久精品| 狠狠色丁香婷综合久久| 欧美午夜宅男影院| 国产精品区一区二区三区| 五月激情综合网| 一本到高清视频免费精品| 久久久久久久一区| 青青草原综合久久大伊人精品优势| 岛国av在线一区| 日韩欧美成人一区| 亚洲成va人在线观看| 成人综合婷婷国产精品久久| 欧美一区二区大片| 亚洲丶国产丶欧美一区二区三区| 成人午夜看片网址| 精品久久一二三区| 三级欧美韩日大片在线看| 91麻豆国产香蕉久久精品| 欧美国产精品中文字幕| 狠狠色狠狠色综合日日91app| 欧美丰满少妇xxxxx高潮对白| 亚洲精品视频在线看| 成人网页在线观看| 日本特黄久久久高潮| 欧美中文字幕一二三区视频| 国产精品成人免费在线| 国产盗摄一区二区三区| 久久综合一区二区| 极品瑜伽女神91| 日韩欧美一二三区| 日本强好片久久久久久aaa| 欧美日韩国产一级| 亚洲一级电影视频| 在线一区二区三区四区| 一区二区三区在线免费视频| 91污片在线观看| 亚洲欧美在线视频观看| 成人精品视频一区二区三区尤物| 国产亚洲精品bt天堂精选| 国产乱色国产精品免费视频| 久久久蜜桃精品| 国产白丝精品91爽爽久久| 国产精品素人一区二区| 国产成人综合网| 中文文精品字幕一区二区| 国产·精品毛片| 国产精品不卡在线观看| 91在线视频网址| 一卡二卡欧美日韩| 欧美三级中文字| 丝袜美腿亚洲综合| 日韩一区二区精品在线观看| 久久精品二区亚洲w码| 久久一留热品黄| 高清在线成人网| 亚洲视频一区在线| 欧美日韩一区二区不卡| 青青草原综合久久大伊人精品| 欧美精品一区二区久久久| 国产馆精品极品| 亚洲少妇最新在线视频| 欧美日韩国产一级片| 久久精品72免费观看| 日本一区二区三区电影| 色老汉av一区二区三区| 日韩国产成人精品| 久久先锋影音av鲁色资源网| 91在线精品一区二区| 亚洲成人av一区| 久久久久88色偷偷免费| 99精品欧美一区二区蜜桃免费| 午夜精品久久久久久久| 久久综合九色综合欧美98| 日韩一区二区在线播放| 成人高清免费观看| 五月综合激情日本mⅴ|