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

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

?? atomic.h

?? 《嵌入式系統設計與實例開發實驗教材二源碼》Linux內核移植與編譯實驗
?? H
字號:
/* * Atomic operations that C can't guarantee us.  Useful for * resource counting etc.. * * But use these as seldom as possible since they are much more slower * than regular operations. * * 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) 1996, 1997, 1999, 2000 by Ralf Baechle */#ifndef _ASM_ATOMIC_H#define _ASM_ATOMIC_H#include <asm/sgidefs.h>typedef struct { volatile int counter; } atomic_t;#ifdef __KERNEL__#define ATOMIC_INIT(i)    { (i) }/* * atomic_read - read atomic variable * @v: pointer of type atomic_t * * Atomically reads the value of @v.  Note that the guaranteed * useful range of an atomic_t is only 24 bits. */#define atomic_read(v)	((v)->counter)/* * atomic_set - set atomic variable * @v: pointer of type atomic_t * @i: required value * * Atomically sets the value of @v to @i.  Note that the guaranteed * useful range of an atomic_t is only 24 bits. */#define atomic_set(v,i)	((v)->counter = (i))extern __inline__ void atomic_add(int i, volatile atomic_t * v){	unsigned long temp;	__asm__ __volatile__(		"1:\tll\t%0,%1\t\t\t# atomic_add\n\t"		"addu\t%0,%2\n\t"		"sc\t%0,%1\n\t"		"beqz\t%0,1b"		: "=&r" (temp), "=m" (v->counter)		: "Ir" (i), "m" (v->counter));}/* * atomic_sub - subtract the atomic variable * @i: integer value to subtract * @v: pointer of type atomic_t * * Atomically subtracts @i from @v.  Note that the guaranteed * useful range of an atomic_t is only 24 bits. */extern __inline__ void atomic_sub(int i, volatile atomic_t * v){	unsigned long temp;	__asm__ __volatile__(		"1:\tll\t%0,%1\t\t\t# atomic_sub\n\t"		"subu\t%0,%2\n\t"		"sc\t%0,%1\n\t"		"beqz\t%0,1b"		: "=&r" (temp), "=m" (v->counter)		: "Ir" (i), "m" (v->counter));}/* * Same as above, but return the result value */extern __inline__ int atomic_add_return(int i, atomic_t * v){	unsigned long temp, result;	__asm__ __volatile__(		".set\tnoreorder\t\t\t# atomic_add_return\n"		"1:\tll\t%1,%2\n\t"		"addu\t%0,%1,%3\n\t"		"sc\t%0,%2\n\t"		"beqz\t%0,1b\n\t"		"addu\t%0,%1,%3\n\t"		".set\treorder"		: "=&r" (result), "=&r" (temp), "=m" (v->counter)		: "Ir" (i), "m" (v->counter)		: "memory");	return result;}extern __inline__ int atomic_sub_return(int i, atomic_t * v){	unsigned long temp, result;	__asm__ __volatile__(		".set\tnoreorder\t\t\t# atomic_sub_return\n"		"1:\tll\t%1,%2\n\t"		"subu\t%0,%1,%3\n\t"		"sc\t%0,%2\n\t"		"beqz\t%0,1b\n\t"		"subu\t%0,%1,%3\n\t"		".set\treorder"		: "=&r" (result), "=&r" (temp), "=m" (v->counter)		: "Ir" (i), "m" (v->counter)		: "memory");	return result;}#define atomic_dec_return(v) atomic_sub_return(1,(v))#define atomic_inc_return(v) atomic_add_return(1,(v))/* * atomic_sub_and_test - subtract value from variable and test result * @i: integer value to subtract * @v: pointer of type atomic_t * * Atomically subtracts @i from @v and returns * true if the result is zero, or false for all * other cases.  Note that the guaranteed * useful range of an atomic_t is only 24 bits. */#define atomic_sub_and_test(i,v) (atomic_sub_return((i), (v)) == 0)/* * atomic_inc_and_test - increment and test * @v: pointer of type atomic_t * * Atomically increments @v by 1 * and returns true if the result is zero, or false for all * other cases.  Note that the guaranteed * useful range of an atomic_t is only 24 bits. * atomic_inc_and_test is currently not implemented for mips64. *//* * atomic_dec_and_test - decrement by 1 and test * @v: pointer of type atomic_t * * Atomically decrements @v by 1 and * returns true if the result is 0, or false for all other * cases.  Note that the guaranteed * useful range of an atomic_t is only 24 bits. */#define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0)/* * atomic_inc - increment atomic variable * @v: pointer of type atomic_t * * Atomically increments @v by 1.  Note that the guaranteed * useful range of an atomic_t is only 24 bits. */#define atomic_inc(v) atomic_add(1,(v))/* * atomic_dec - decrement and test * @v: pointer of type atomic_t * * Atomically decrements @v by 1.  Note that the guaranteed * useful range of an atomic_t is only 24 bits. */#define atomic_dec(v) atomic_sub(1,(v))/* * atomic_add_negative - add and test if negative * @v: pointer of type atomic_t * @i: integer value to add * * Atomically adds @i to @v and returns true * if the result is negative, or false when * result is greater than or equal to zero.  Note that the guaranteed * useful range of an atomic_t is only 24 bits. * * atomic_add_negative is currently not implemented for mips64. *//* Atomic operations are already serializing */#define smp_mb__before_atomic_dec()	barrier()#define smp_mb__after_atomic_dec()	barrier()#define smp_mb__before_atomic_inc()	barrier()#define smp_mb__after_atomic_inc()	barrier()#endif /* defined(__KERNEL__) */#endif /* _ASM_ATOMIC_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆精品国产91久久久久| 国产aⅴ综合色| 91精品国产福利| 免费久久99精品国产| 日韩午夜电影在线观看| 国内精品在线播放| 国产精品欧美极品| 日本韩国欧美在线| 亚洲3atv精品一区二区三区| 日韩写真欧美这视频| 国产一区二区三区久久久| 国产精品盗摄一区二区三区| 欧美体内she精高潮| 奇米777欧美一区二区| 国产校园另类小说区| 色综合天天综合狠狠| 日韩一区精品视频| 久久久不卡网国产精品二区| 91网站在线观看视频| 午夜影院在线观看欧美| 2023国产精品自拍| 欧美综合一区二区| 精品制服美女丁香| 亚洲三级理论片| 精品久久免费看| 91美女蜜桃在线| 久久精品国产精品亚洲综合| 综合在线观看色| 亚洲精品一区二区在线观看| 97久久精品人人做人人爽| 免费观看在线综合| 一区二区三区高清| 精品国精品自拍自在线| 在线看不卡av| 国产精品一二三区| 日韩国产在线一| **欧美大码日韩| 久久综合狠狠综合久久综合88| 欧美中文一区二区三区| 国产不卡视频在线观看| 麻豆久久一区二区| 亚洲最大色网站| 中文字幕av资源一区| 日韩精品最新网址| 欧美日韩一区二区三区不卡| 丰满白嫩尤物一区二区| 蜜臀久久99精品久久久久久9 | 日韩亚洲欧美一区| 色香色香欲天天天影视综合网| 黄色精品一二区| 丝袜a∨在线一区二区三区不卡| 最新高清无码专区| 久久精品男人天堂av| 欧美一区二区三区婷婷月色| 欧美优质美女网站| 97久久超碰国产精品| 国产激情一区二区三区| 久久99久久久久| 蜜臀av一区二区在线免费观看| 一区二区免费在线| 亚洲视频一区在线| 国产精品电影院| 国产亚洲精品aa| 久久久久久影视| 精品国产精品网麻豆系列| 91精品国产色综合久久不卡电影| 在线免费亚洲电影| 欧美午夜影院一区| 色94色欧美sute亚洲线路一久| 国产成人av一区二区三区在线| 国产美女娇喘av呻吟久久| 韩国精品在线观看| 国产一区视频导航| 国产一区二区伦理| 国产精品一区在线观看乱码| 国产99一区视频免费| 成人网页在线观看| 成人精品视频一区| 色综合久久综合网97色综合| 91在线观看高清| 在线免费亚洲电影| 欧美吞精做爰啪啪高潮| 欧美日韩中文国产| 日韩一区二区三区观看| 精品美女被调教视频大全网站| 26uuu国产电影一区二区| 久久久国产精品不卡| 国产免费观看久久| 亚洲免费观看视频| 亚洲va欧美va天堂v国产综合| 日韩激情av在线| 久久精品99久久久| 成人av综合在线| 精品视频999| 欧美一区二区三区白人| 久久亚洲精华国产精华液 | 色av综合在线| 欧美一区二区三区在线观看视频| 欧美哺乳videos| 欧美激情中文字幕| 亚洲色图第一区| 午夜精品一区二区三区免费视频| 青娱乐精品视频在线| 国产在线精品一区二区| aaa欧美大片| 日韩一级完整毛片| 国产精品网站在线| 日韩av一区二| 成人黄色国产精品网站大全在线免费观看| 99re免费视频精品全部| 3d动漫精品啪啪1区2区免费| 久久久精品欧美丰满| 一区二区三区欧美激情| 老司机免费视频一区二区| 成人av网站免费观看| 欧美女孩性生活视频| 国产亚洲精品bt天堂精选| 亚洲午夜视频在线| 国产激情一区二区三区| 欧美日韩一级大片网址| 国产欧美一区二区精品久导航| 亚洲午夜视频在线观看| 国产aⅴ综合色| 日韩午夜电影av| 亚洲美女电影在线| 国产精品中文字幕欧美| 欧美日韩精品综合在线| 中文字幕精品三区| 蜜臀精品一区二区三区在线观看| 91丨porny丨在线| 欧美大尺度电影在线| 夜夜嗨av一区二区三区网页| 国产福利一区二区| 日韩一级在线观看| 亚洲国产精品久久不卡毛片 | 91福利国产成人精品照片| 久久久青草青青国产亚洲免观| 午夜视黄欧洲亚洲| 97se狠狠狠综合亚洲狠狠| 久久精品欧美日韩| 麻豆成人免费电影| 精品1区2区3区| 亚洲欧美另类在线| 国产91清纯白嫩初高中在线观看| 日韩一级视频免费观看在线| 亚洲一区二区三区中文字幕| 不卡大黄网站免费看| 久久久久久免费| 国产一区激情在线| 欧美一级午夜免费电影| 亚洲www啪成人一区二区麻豆| 一道本成人在线| 椎名由奈av一区二区三区| 国产宾馆实践打屁股91| 精品久久人人做人人爰| 久久国内精品视频| 日韩午夜三级在线| 美女脱光内衣内裤视频久久网站 | 欧美videofree性高清杂交| 亚洲高清在线精品| 欧美性猛交xxxx黑人交| 亚洲激情在线激情| 91色乱码一区二区三区| 亚洲欧洲国产专区| 99re视频精品| 一个色妞综合视频在线观看| 欧美综合一区二区| 亚洲一区二区视频在线观看| 欧美天天综合网| 丝袜美腿亚洲色图| 日韩一区二区三区在线视频| 毛片av一区二区| 精品国产电影一区二区| 精品一区二区三区av| 精品国产青草久久久久福利| 国产一区二区三区在线观看精品 | 中文字幕制服丝袜成人av| 丰满少妇久久久久久久| 国产精品久久毛片| 色噜噜狠狠成人中文综合| 亚洲444eee在线观看| 日韩精品中文字幕一区二区三区 | 亚洲国产经典视频| 波多野结衣欧美| 一卡二卡欧美日韩| 日韩三级伦理片妻子的秘密按摩| 久久99最新地址| 中文天堂在线一区| 日本高清不卡aⅴ免费网站| 亚洲成人中文在线| 久久久久久夜精品精品免费| 91在线免费播放| 日韩成人一区二区三区在线观看| 日韩精品中文字幕一区| 99久久精品一区二区| 五月天久久比比资源色| 国产婷婷色一区二区三区| 91麻豆自制传媒国产之光| 亚洲成人精品影院| 国产欧美一区二区三区沐欲|