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

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

?? pg-sb1.c

?? 該文件是rt_linux
?? C
字號:
/* * Copyright (C) 1996 David S. Miller (dm@engr.sgi.com) * Copyright (C) 1997, 2001 Ralf Baechle (ralf@gnu.org) * Copyright (C) 2000 Sibyte * * Written by Justin Carlson (carlson@sibyte.com) * * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. */#include <linux/config.h>#include <asm/page.h>#ifdef CONFIG_SB1_PASS_1_WORKAROUNDS#define SB1_PREF_LOAD_STREAMED_HINT "0"#define SB1_PREF_STORE_STREAMED_HINT "1"#else#define SB1_PREF_LOAD_STREAMED_HINT "4"#define SB1_PREF_STORE_STREAMED_HINT "5"#endif/* These are the functions hooked by the memory management function pointers */void sb1_clear_page(void *page){	/* JDCXXX - This should be bottlenecked by the write buffer, but these	   things tend to be mildly unpredictable...should check this on the	   performance model */	/* We prefetch 4 lines ahead.  We're also "cheating" slightly here...	   since we know we're on an SB1, we force the assembler to take	   64-bit operands to speed things up */	__asm__ __volatile__(		".set push                  \n"		".set noreorder             \n"		".set noat                  \n"		".set mips4                 \n"		"     addiu     $1, %0, %2  \n"  /* Calculate the end of the page to clear */#ifdef CONFIG_CPU_HAS_PREFETCH		"     pref       " SB1_PREF_STORE_STREAMED_HINT ",  0(%0)  \n"  /* Prefetch the first 4 lines */		"     pref       " SB1_PREF_STORE_STREAMED_HINT ", 32(%0)  \n"		"     pref       " SB1_PREF_STORE_STREAMED_HINT ", 64(%0)  \n"		"     pref       " SB1_PREF_STORE_STREAMED_HINT ", 96(%0)  \n"#endif		"1:   sd        $0,  0(%0)  \n"  /* Throw out a cacheline of 0's */		"     sd        $0,  8(%0)  \n"		"     sd        $0, 16(%0)  \n"		"     sd        $0, 24(%0)  \n"#ifdef CONFIG_CPU_HAS_PREFETCH		"     pref       " SB1_PREF_STORE_STREAMED_HINT ",128(%0)  \n"  /* Prefetch 4 lines ahead     */#endif		"     bne       $1, %0, 1b  \n"		"     addiu     %0, %0, 32  \n"  /* Next cacheline (This instruction better be short piped!) */		".set pop                   \n"		:"=r" (page)		:"0" (page),		 "I" (PAGE_SIZE-32)		:"$1","memory");}void sb1_copy_page(void *to, void *from){	/* This should be optimized in assembly...can't use ld/sd, though,	 * because the top 32 bits could be nuked if we took an interrupt	 * during the routine.	And this is not a good place to be cli()'ing	 */	/* The pref's used here are using "streaming" hints, which cause the	 * copied data to be kicked out of the cache sooner.  A page copy often	 * ends up copying a lot more data than is commonly used, so this seems	 * to make sense in terms of reducing cache pollution, but I've no real	 * performance data to back this up	 */	__asm__ __volatile__(		".set push                  \n"		".set noreorder             \n"		".set noat                  \n"		".set mips4                 \n"		"     addiu     $1, %0, %4  \n"  /* Calculate the end of the page to copy */#ifdef CONFIG_CPU_HAS_PREFETCH		"     pref       " SB1_PREF_LOAD_STREAMED_HINT  ",  0(%0)  \n"  /* Prefetch the first 3 lines */		"     pref       " SB1_PREF_STORE_STREAMED_HINT ",  0(%1)  \n"		"     pref       " SB1_PREF_LOAD_STREAMED_HINT  ",  32(%0) \n"		"     pref       " SB1_PREF_STORE_STREAMED_HINT ",  32(%1) \n"		"     pref       " SB1_PREF_LOAD_STREAMED_HINT  ",  64(%0) \n"		"     pref       " SB1_PREF_STORE_STREAMED_HINT ",  64(%1) \n"#endif		"1:   lw        $2,  0(%0)  \n"  /* Block copy a cacheline */		"     lw        $3,  4(%0)  \n"		"     lw        $4,  8(%0)  \n"		"     lw        $5, 12(%0)  \n"		"     lw        $6, 16(%0)  \n"		"     lw        $7, 20(%0)  \n"		"     lw        $8, 24(%0)  \n"		"     lw        $9, 28(%0)  \n"#ifdef CONFIG_CPU_HAS_PREFETCH		"     pref       " SB1_PREF_LOAD_STREAMED_HINT  ", 96(%0)  \n"  /* Prefetch ahead         */		"     pref       " SB1_PREF_STORE_STREAMED_HINT ", 96(%1)  \n"#endif		"     sw        $2,  0(%1)  \n"		"     sw        $3,  4(%1)  \n"		"     sw        $4,  8(%1)  \n"		"     sw        $5, 12(%1)  \n"		"     sw        $6, 16(%1)  \n"		"     sw        $7, 20(%1)  \n"		"     sw        $8, 24(%1)  \n"		"     sw        $9, 28(%1)  \n"		"     addiu     %1, %1, 32  \n"  /* Next cacheline */		"     nop                   \n"  /* Force next add to short pipe */		"     nop                   \n"  /* Force next add to short pipe */		"     bne       $1, %0, 1b  \n"		"     addiu     %0, %0, 32  \n"  /* Next cacheline */		".set pop                   \n"		:"=r" (to),		"=r" (from)		:		"0" (from),		"1" (to),		"I" (PAGE_SIZE-32)		:"$1","$2","$3","$4","$5","$6","$7","$8","$9","memory");/*	unsigned long *src = from;	unsigned long *dest = to;	unsigned long *target = (unsigned long *) (((unsigned long)src) + PAGE_SIZE);	while (src != target) {		*dest++ = *src++;	}*/}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美一二区| 亚洲国产视频在线| 欧美日韩国产综合草草| 日韩国产欧美在线播放| 国产精品精品国产色婷婷| 精品欧美一区二区久久| 在线观看日韩一区| 成人app下载| 不卡免费追剧大全电视剧网站| 麻豆精品新av中文字幕| 亚洲v中文字幕| 亚洲福利视频一区二区| 亚洲成在线观看| 亚洲综合丝袜美腿| 亚洲激情网站免费观看| 亚洲欧美中日韩| 综合av第一页| 中文字幕av一区二区三区免费看 | 欧美主播一区二区三区| 91网上在线视频| 91玉足脚交白嫩脚丫在线播放| 成人精品电影在线观看| 99久久亚洲一区二区三区青草| 成人午夜在线播放| 国产一区二区三区精品欧美日韩一区二区三区 | 日韩—二三区免费观看av| 一区二区欧美精品| 亚洲女爱视频在线| 尤物视频一区二区| 婷婷综合另类小说色区| 亚洲精品美国一| 亚洲国产日韩综合久久精品| 秋霞影院一区二区| 亚洲一本大道在线| 轻轻草成人在线| 成人精品在线视频观看| 91麻豆精品国产91| 国产精品伦一区| 麻豆精品在线看| 色狠狠色狠狠综合| 欧美激情中文字幕| 日本视频免费一区| 偷窥国产亚洲免费视频| 成人高清视频免费观看| 日韩欧美第一区| 一区二区三区在线观看网站| 国产成a人无v码亚洲福利| 91精品黄色片免费大全| 亚洲一区二区中文在线| 成人高清视频在线观看| 久久久精品国产免费观看同学| 午夜精品久久久久久久99樱桃| 国产成人亚洲综合色影视| 5月丁香婷婷综合| 一区二区三区不卡视频在线观看| 国产麻豆视频一区二区| 精品日韩成人av| 亚洲成av人片在线| 欧美性猛交xxxxxxxx| 国产精品女人毛片| 成人黄色大片在线观看| 欧美国产精品久久| 国产风韵犹存在线视精品| 精品乱码亚洲一区二区不卡| 日韩高清在线一区| 欧美日产在线观看| 日韩成人一区二区三区在线观看| 91福利区一区二区三区| 亚洲另类春色校园小说| heyzo一本久久综合| 国产精品美女久久久久av爽李琼| 国产综合色在线视频区| 精品欧美久久久| 精油按摩中文字幕久久| 日韩你懂的在线播放| 久久电影网电视剧免费观看| 91麻豆精品国产91久久久更新时间| 亚洲成av人片一区二区梦乃| 这里是久久伊人| 精品一二三四区| 久久精品视频免费观看| 国产suv精品一区二区883| 国产精品视频一区二区三区不卡| 岛国av在线一区| 色乱码一区二区三区88| 成人欧美一区二区三区在线播放| 国产一区二区精品在线观看| 精品久久国产97色综合| 国产精品亚洲一区二区三区在线| www久久精品| 成人av在线影院| 亚洲摸摸操操av| 欧美精品丝袜中出| 麻豆专区一区二区三区四区五区| 久久久久久久性| 99久久婷婷国产综合精品| 一区二区三区日韩在线观看| 欧美日韩中文国产| 极品少妇xxxx偷拍精品少妇| 日本一区二区综合亚洲| 色综合中文字幕国产 | 久久久久久99久久久精品网站| 国产成人免费视频一区| 亚洲人成7777| 欧美一级在线观看| 丁香啪啪综合成人亚洲小说| 亚洲黄色免费电影| 精品免费日韩av| 色综合亚洲欧洲| 久久精品99久久久| 亚洲情趣在线观看| 欧美一区二区在线不卡| 成人av网站免费| 日本午夜一区二区| 亚洲男同性视频| 欧美精品一区二区三区很污很色的 | 亚洲国产一区二区三区| 久久综合999| 欧美日韩国产在线观看| 成人丝袜视频网| 香蕉成人啪国产精品视频综合网| 精品久久久久久久久久久院品网| 91免费版pro下载短视频| 美女在线观看视频一区二区| 亚洲天堂免费看| 国产亚洲一区二区在线观看| 欧美人与禽zozo性伦| 成人小视频免费在线观看| 视频一区视频二区中文| 亚洲丝袜另类动漫二区| 亚洲精品一区二区在线观看| 欧美日韩一区二区欧美激情| 成人动漫一区二区在线| 蜜臀av亚洲一区中文字幕| 一区二区三区四区蜜桃 | 亚洲日穴在线视频| 久久精品一区蜜桃臀影院| 777亚洲妇女| 欧美专区在线观看一区| jlzzjlzz欧美大全| www.视频一区| 国产999精品久久久久久绿帽| 日韩激情在线观看| 午夜精品久久久久影视| 夜色激情一区二区| 亚洲伦理在线免费看| 欧美极品另类videosde| 欧美成人bangbros| 精品国产一区二区亚洲人成毛片| 欧美三级三级三级| 欧美四级电影网| 在线免费亚洲电影| 欧美在线观看视频一区二区三区| 色系网站成人免费| 91精品1区2区| 欧美日韩一区在线| 欧美精品成人一区二区三区四区| 欧美又粗又大又爽| 欧美高清性hdvideosex| 日韩一区二区三区高清免费看看| 欧美一区二区三区视频在线观看 | 亚洲欧洲性图库| 自拍偷拍亚洲激情| 亚洲午夜精品网| 日韩1区2区3区| 国产综合色在线| 粉嫩av一区二区三区| 色吊一区二区三区| 欧美日韩中文精品| 日韩免费看网站| 久久久精品国产免大香伊| 中文字幕欧美一区| 午夜av电影一区| 久久er99精品| 国产东北露脸精品视频| 91在线免费看| 欧美丰满美乳xxx高潮www| 亚洲精品一区二区三区在线观看| 国产精品久久久久久一区二区三区| 亚洲欧美日韩在线| 日本色综合中文字幕| 成人的网站免费观看| 欧美日韩精品欧美日韩精品一| 日韩一区二区三区视频在线观看| 国产欧美久久久精品影院| 夜夜嗨av一区二区三区网页| 久久超级碰视频| 91黄色免费版| 精品国产精品网麻豆系列| 亚洲人成精品久久久久| 麻豆国产精品官网| 色婷婷狠狠综合| 久久久不卡网国产精品一区| 亚洲国产日产av| 波多野结衣精品在线| 日韩免费观看2025年上映的电影| 自拍偷拍欧美激情| 国产精品亚洲午夜一区二区三区| 欧美日韩一级片在线观看| 国产精品久久久久毛片软件|