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

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

?? xswitch.c

?? 根據(jù)添加了fs2410平臺(tái)的arch目錄
?? C
字號(hào):
/* $Id$ * * 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) 1992 - 1997, 2000 Silicon Graphics, Inc. * Copyright (C) 2000 by Colin Ngam */#include <linux/types.h>#include <linux/slab.h>#include <asm/sn/sgi.h>#include <asm/sn/iobus.h>#include <asm/sn/iograph.h>#include <asm/sn/invent.h>#include <asm/sn/hcl.h>#include <asm/sn/labelcl.h>#include <asm/sn/xtalk/xtalk.h>#include <asm/sn/xtalk/xswitch.h>#include <asm/sn/xtalk/xwidget.h>#include <asm/sn/xtalk/xtalk_private.h>#define	NEW(ptr)	(ptr = kmalloc(sizeof (*(ptr)), GFP_KERNEL))#define	DEL(ptr)	(kfree(ptr))int                     xswitch_devflag = D_MP;/* * This file provides generic support for Crosstalk * Switches, in a way that insulates crosstalk providers * from specifics about the switch chips being used. */#include <asm/sn/xtalk/xbow.h>#define DEV_FUNC(dev,func)      xbow_##func#if !defined(DEV_FUNC)/* * There is more than one possible provider * for this platform. We need to examine the * master vertex of the current vertex for * a provider function structure, and indirect * through the appropriately named member. */#define	DEV_FUNC(dev,func)	xwidget_to_provider_fns(dev)->funcstatic xswitch_provider_t *xwidget_to_provider_fns(devfs_handle_t xconn){    devfs_handle_t            busv;    xswitch_info_t          xswitch_info;    xswitch_provider_t      provider_fns;    busv = hwgraph_connectpt_get(xconn_vhdl);    ASSERT(busv != GRAPH_VERTEX_NONE);    xswitch_info = xswitch_info_get(busv);    ASSERT(xswitch_info != NULL);    provider_fns = xswitch_info->xswitch_fns;    ASSERT(provider_fns != NULL);    return provider_fns;}#endif#define	XSWITCH_CENSUS_BIT(port)		(1<<(port))#define	XSWITCH_CENSUS_PORT_MIN			(0x0)#define	XSWITCH_CENSUS_PORT_MAX			(0xF)#define	XSWITCH_CENSUS_PORTS			(0x10)#define	XSWITCH_WIDGET_PRESENT(infop,port)	((infop)->census & XSWITCH_CENSUS_BIT(port))static char             xswitch_info_fingerprint[] = "xswitch_info";struct xswitch_info_s {    char                   *fingerprint;    unsigned                census;    devfs_handle_t            vhdl[XSWITCH_CENSUS_PORTS];    devfs_handle_t            master_vhdl[XSWITCH_CENSUS_PORTS];    xswitch_provider_t     *xswitch_fns;};xswitch_info_txswitch_info_get(devfs_handle_t xwidget){    xswitch_info_t          xswitch_info;    xswitch_info = (xswitch_info_t)	hwgraph_fastinfo_get(xwidget);#ifdef	LATER    if ((xswitch_info != NULL) &&	(xswitch_info->fingerprint != xswitch_info_fingerprint))#ifdef SUPPORT_PRINTING_V_FORMAT	PRINT_PANIC("%v xswitch_info_get bad fingerprint", xwidget);#else	PRINT_PANIC("%x xswitch_info_get bad fingerprint", xwidget);#endif#endif	/* LATER */    return (xswitch_info);}voidxswitch_info_vhdl_set(xswitch_info_t xswitch_info,		      xwidgetnum_t port,		      devfs_handle_t xwidget){#if XSWITCH_CENSUS_PORT_MIN    if (port < XSWITCH_CENSUS_PORT_MIN)	return;#endif    if (port > XSWITCH_CENSUS_PORT_MAX)	return;    xswitch_info->vhdl[port - XSWITCH_CENSUS_PORT_MIN] = xwidget;}devfs_handle_txswitch_info_vhdl_get(xswitch_info_t xswitch_info,		      xwidgetnum_t port){#ifdef	LATER    if (xswitch_info == NULL)	PRINT_PANIC("xswitch_info_vhdl_get: null xswitch_info");#endif#if XSWITCH_CENSUS_PORT_MIN    if (port < XSWITCH_CENSUS_PORT_MIN)	return GRAPH_VERTEX_NONE;#endif    if (port > XSWITCH_CENSUS_PORT_MAX)	return GRAPH_VERTEX_NONE;    return xswitch_info->vhdl[port - XSWITCH_CENSUS_PORT_MIN];}/* * Some systems may allow for multiple switch masters.  On such systems, * we assign a master for each port on the switch.  These interfaces * establish and retrieve that assignment. */voidxswitch_info_master_assignment_set(xswitch_info_t xswitch_info,				   xwidgetnum_t port,				   devfs_handle_t master_vhdl){#if XSWITCH_CENSUS_PORT_MIN    if (port < XSWITCH_CENSUS_PORT_MIN)	return;#endif    if (port > XSWITCH_CENSUS_PORT_MAX)	return;    xswitch_info->master_vhdl[port - XSWITCH_CENSUS_PORT_MIN] = master_vhdl;}devfs_handle_txswitch_info_master_assignment_get(xswitch_info_t xswitch_info,				   xwidgetnum_t port){#if XSWITCH_CENSUS_PORT_MIN    if (port < XSWITCH_CENSUS_PORT_MIN)	return GRAPH_VERTEX_NONE;#endif    if (port > XSWITCH_CENSUS_PORT_MAX)	return GRAPH_VERTEX_NONE;    return xswitch_info->master_vhdl[port - XSWITCH_CENSUS_PORT_MIN];}voidxswitch_info_set(devfs_handle_t xwidget, xswitch_info_t xswitch_info){    xswitch_info->fingerprint = xswitch_info_fingerprint;    hwgraph_fastinfo_set(xwidget, (arbitrary_info_t) xswitch_info);}xswitch_info_txswitch_info_new(devfs_handle_t xwidget){    xswitch_info_t          xswitch_info;    xswitch_info = xswitch_info_get(xwidget);    if (xswitch_info == NULL) {	int                     port;	NEW(xswitch_info);	xswitch_info->census = 0;	for (port = XSWITCH_CENSUS_PORT_MIN;	     port <= XSWITCH_CENSUS_PORT_MAX;	     port++) {	    xswitch_info_vhdl_set(xswitch_info, port,				  GRAPH_VERTEX_NONE);	    xswitch_info_master_assignment_set(xswitch_info,					       port,					       GRAPH_VERTEX_NONE);	}	xswitch_info_set(xwidget, xswitch_info);    }    return xswitch_info;}voidxswitch_provider_register(devfs_handle_t busv,			  xswitch_provider_t * xswitch_fns){    xswitch_info_t          xswitch_info = xswitch_info_get(busv);    ASSERT(xswitch_info);    xswitch_info->xswitch_fns = xswitch_fns;}voidxswitch_info_link_is_ok(xswitch_info_t xswitch_info, xwidgetnum_t port){    xswitch_info->census |= XSWITCH_CENSUS_BIT(port);}intxswitch_info_link_ok(xswitch_info_t xswitch_info, xwidgetnum_t port){#if XSWITCH_CENSUS_PORT_MIN    if (port < XSWITCH_CENSUS_PORT_MIN)	return 0;#endif    if (port > XSWITCH_CENSUS_PORT_MAX)	return 0;    return (xswitch_info->census & XSWITCH_CENSUS_BIT(port));}intxswitch_reset_link(devfs_handle_t xconn_vhdl){    return DEV_FUNC(xconn_vhdl, reset_link)	(xconn_vhdl);}/* Given a vertex handle to the xswitch get its logical * id. */intxswitch_id_get(devfs_handle_t	xconn_vhdl){    arbitrary_info_t 	xbow_num;    graph_error_t	rv;    rv = hwgraph_info_get_LBL(xconn_vhdl,INFO_LBL_XSWITCH_ID,&xbow_num);    ASSERT(rv == GRAPH_SUCCESS);    return(xbow_num);}/* Given a vertex handle to the xswitch set its logical * id. */voidxswitch_id_set(devfs_handle_t	xconn_vhdl,int xbow_num){    graph_error_t	rv;    rv = hwgraph_info_add_LBL(xconn_vhdl,INFO_LBL_XSWITCH_ID,			      (arbitrary_info_t)xbow_num);    ASSERT(rv == GRAPH_SUCCESS);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久综合网| 久久久精品免费免费| 成人性生交大片免费看在线播放 | 日韩欧美色电影| 日本黄色一区二区| 99久久综合国产精品| 国产一区二区精品久久91| 日产欧产美韩系列久久99| 亚洲综合免费观看高清在线观看| 国产人伦精品一区二区| 91精品视频网| 欧美美女喷水视频| 欧美日韩在线播| 精品视频在线视频| 欧美综合视频在线观看| 91官网在线免费观看| 色哟哟亚洲精品| 一本大道久久a久久综合| 99久久精品国产观看| www.激情成人| 99久久久无码国产精品| 99re成人在线| 91久久香蕉国产日韩欧美9色| 91丝袜美女网| 粉嫩蜜臀av国产精品网站| 久久电影网站中文字幕| 午夜亚洲国产au精品一区二区| 亚洲电影一区二区| 水蜜桃久久夜色精品一区的特点| 性做久久久久久免费观看欧美| 亚洲一二三区在线观看| 五月婷婷激情综合| 日本欧美肥老太交大片| 久久精品久久精品| 国产精品一区二区不卡| 成人午夜在线视频| 91亚洲精品久久久蜜桃网站| 不卡一区二区三区四区| 色悠悠亚洲一区二区| 欧美日韩一区二区三区视频| 日韩一区二区在线观看视频| 久久久久久久综合色一本| 国产精品久久久久永久免费观看 | 午夜精品免费在线| 男女男精品视频| 国产麻豆91精品| 91在线观看地址| 7777精品伊人久久久大香线蕉最新版| 日韩欧美自拍偷拍| 国产蜜臀97一区二区三区| 亚洲欧洲性图库| 亚洲成人黄色影院| 国产精品影音先锋| 色综合 综合色| 日韩免费观看2025年上映的电影| 久久久精品免费网站| 亚洲欧美另类综合偷拍| 三级久久三级久久久| 高清不卡一区二区在线| 91豆麻精品91久久久久久| 成人毛片视频在线观看| 久久99精品久久久久久国产越南| 亚洲人成影院在线观看| 无码av中文一区二区三区桃花岛| 亚洲狠狠爱一区二区三区| 经典三级在线一区| 91极品美女在线| 欧美成人vps| 亚洲精品国久久99热| 美女视频免费一区| eeuss影院一区二区三区| 欧美日韩国产片| 国产精品女人毛片| 亚洲.国产.中文慕字在线| 国产ts人妖一区二区| 在线观看www91| 欧美sm极限捆绑bd| 亚洲与欧洲av电影| 国产99一区视频免费| 欧美巨大另类极品videosbest | 日韩一级高清毛片| 亚洲激情av在线| 久久精品国产精品亚洲综合| 91美女在线看| 欧美精品一区在线观看| 亚洲午夜私人影院| 成人久久视频在线观看| 日韩欧美亚洲另类制服综合在线| 亚洲免费观看高清完整版在线观看| 黑人精品欧美一区二区蜜桃 | av资源站一区| 日韩欧美成人一区二区| 亚洲国产美女搞黄色| 不卡的看片网站| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲精品在线观看网站| 亚洲成人动漫在线免费观看| 91蝌蚪porny成人天涯| 国产日韩欧美精品一区| 韩国精品主播一区二区在线观看| 欧美影视一区二区三区| 欧美国产日产图区| 久久激情综合网| 欧美日韩一级黄| 亚洲一区二区视频在线观看| 成人精品小蝌蚪| 国产日韩精品一区二区三区| 精品一区精品二区高清| 日韩天堂在线观看| 视频一区二区三区中文字幕| 欧美在线制服丝袜| 国产精品国产三级国产三级人妇| 国内精品免费**视频| 日韩精品最新网址| 男人的天堂亚洲一区| 欧美浪妇xxxx高跟鞋交| 亚洲成人精品影院| 欧美日韩激情一区| 香蕉成人啪国产精品视频综合网 | 国模套图日韩精品一区二区| 精品少妇一区二区三区日产乱码| 日韩中文字幕麻豆| 欧美午夜精品久久久久久超碰| 亚洲欧美精品午睡沙发| 岛国精品在线观看| 中文一区二区完整视频在线观看| 国产不卡视频在线播放| 久久精品夜色噜噜亚洲a∨| 国产精品99久久久久久宅男| 久久精品欧美一区二区三区不卡| 国产精品一区二区91| 亚洲精品一区二区三区福利| 国产乱子轮精品视频| 国产精品丝袜黑色高跟| 99精品视频免费在线观看| 亚洲女厕所小便bbb| 欧美午夜片在线看| 日日夜夜精品视频天天综合网| 欧美久久久影院| 久久99精品国产.久久久久久 | 亚洲日本韩国一区| 欧美午夜一区二区三区免费大片| 亚洲精品福利视频网站| 69av一区二区三区| 国产一区二区剧情av在线| 国产精品日产欧美久久久久| 亚洲成人一区二区在线观看| 欧美不卡一区二区三区| 成人av电影在线观看| 日韩精品91亚洲二区在线观看| 国产午夜精品久久| 欧美精品欧美精品系列| 成人av片在线观看| 日本人妖一区二区| 亚洲三级理论片| 精品国产91亚洲一区二区三区婷婷| 91丨porny丨在线| 久久精品国产亚洲高清剧情介绍| 中文字幕一区二区三区不卡| 欧美成人精品二区三区99精品| 99久久精品国产观看| 精品一区二区三区在线视频| 亚洲免费资源在线播放| 337p日本欧洲亚洲大胆精品| 欧美怡红院视频| 成人免费视频一区二区| 麻豆精品蜜桃视频网站| 综合久久综合久久| 久久久久国产精品人| 制服丝袜亚洲色图| 91成人在线观看喷潮| 成人黄色小视频在线观看| 麻豆专区一区二区三区四区五区| 一区二区三区欧美激情| 国产精品麻豆一区二区| 精品区一区二区| 51精品秘密在线观看| 91网站最新地址| 成人av一区二区三区| 国产一区二区不卡| 久久国产精品72免费观看| 午夜欧美一区二区三区在线播放| 亚洲欧美日韩国产综合在线| 国产女主播视频一区二区| 精品久久久久久久人人人人传媒 | 中文字幕精品—区二区四季| 精品福利在线导航| 日韩免费成人网| 91麻豆精品国产91| 欧美日韩在线亚洲一区蜜芽| 91福利精品视频| 色94色欧美sute亚洲线路一久 | 欧美精品一区二区三区很污很色的| 欧美美女喷水视频| 欧美日韩国产另类不卡| 欧美亚洲国产一区二区三区va| 91丨porny丨国产入口| zzijzzij亚洲日本少妇熟睡| 波多野结衣在线一区| 成人网在线播放|