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

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

?? rtl_time.c

?? fsmlabs的real time linux的內核
?? C
字號:
/* * Alpha-specific clock support * * Copyright (C) 2000 FSM Labs (http://www.fsmlabs.com/) *  Written by Cort Dougan <cort@fsmlabs.com> */#include <linux/module.h>#include <linux/kernel.h>#include <linux/errno.h>#include <linux/sched.h>#include <linux/timex.h>#include <linux/mc146818rtc.h>#include <asm/smp.h>#include <asm/system.h>#include <asm/io.h>#include <asm/hwrpb.h>#include <rtl_core.h>#include <rtl_time.h>#include <rtl_sync.h>#include <rtl.h>MODULE_AUTHOR("Cort Dougan <cort@fsmlabs.com>");MODULE_DESCRIPTION("RTLinux Alpha Timer Module");static unsigned long hrtime_last_tick = 0;static __u32 cycles_last_tick = 0;struct rtl_clock _i8254_clock;static unsigned int clock_counter; /* current latch value */#define wait_value(x) do {; } while ((inb(0x61) & 0x20) != (x))#define wait_cycle() do { wait_value(0); wait_value(0x20); } while (0)#define WRITE_COUNTER_ZERO16(x)  { \	outb_p(x&0xff,0x40); outb_p((x>>8)&0xff,0x40);\      	clock_counter =x; \} #define WRITE_COUNTER_ZERO8(x)  { \	outb_p(x&0xff,0x40); \	clock_counter =x; \}#define WRITE_COUNTER_ZERO_ONESHOT(x) WRITE_COUNTER_ZERO16(x)#define CLATCH (1024 * 32)#define NLOOPS 50#define READ_CNT0(var) \{ var = inb(0x40); var |= (inb(0x40) << 8); }#define READ_CNT2(var) \{ var = inb(0x42); var |= (inb(0x42) << 8); }#define LATCH2 0x8000#define LATCH_CNT0() \outb(0xd2, 0x43);#define LATCH_CNT0_AND_2() \outb(0xda, 0x43);#define LATCH_CNT2() \outb(0xd8, 0x43);static inline long RTIME_to_8254_ticks(long t){	return t / (NSECS_PER_SEC / CLOCK_TICK_RATE);}static int _8254_setperiodic (clockid_t c, hrtime_t interval){	long t;	t = RTIME_to_8254_ticks (interval) + 1;	if(t < 2)		t = 2;	else if ( t > 0xffff )		t = 0xffff;	outb_p(0x34,0x43);              /* binary, mode 2, LSB/MSB, ch 0 */	WRITE_COUNTER_ZERO16 (t);		_i8254_clock.value = gethrtime();	_i8254_clock.resolution = interval;	_i8254_clock.arch.istimerset = 1;	return 0;}	static int _8254_setoneshot (clockid_t c, hrtime_t interval){	long t;	t = RTIME_to_8254_ticks (interval);	if (t < 1) 		t = 1;	else if (t > 0xffff)		t = 0xffff;		WRITE_COUNTER_ZERO_ONESHOT(t);	_i8254_clock.arch.istimerset = 1;	return 0;}int _8254_settimermode (struct rtl_clock *c, int mode){	if (mode == RTL_CLOCK_MODE_PERIODIC) {		outb_p(0x30, 0x43);/* 8254, channel 0, mode 0, lsb+msb */		outb_p(0x34, 0x43); /* binary, mode 2, LSB/MSB, ch 0 */		_i8254_clock.mode = mode;		_i8254_clock.settimer = _8254_setperiodic;		_i8254_clock.arch.count_irqs = 0;	} else if (mode == RTL_CLOCK_MODE_ONESHOT) {		outb_p(0x30, 0x43);    /* 8254, channel 0, mode 0, lsb+msb */		_i8254_clock.mode = mode;		_i8254_clock.settimer = _8254_setoneshot;		_i8254_clock.resolution = HRTICKS_PER_SEC / CLOCK_TICK_RATE;	} else {		return -EINVAL;	}	return 0;}static unsigned int _8254_irq(unsigned int irq, struct pt_regs *regs){	/* keep track of the cycle timer */	__u32 x;	rdtscl(x);	hrtime_last_tick += ((hrtime_t)(x - cycles_last_tick) * (hrtime_t)NSECS_PER_SEC) / (ulong)hwrpb->cycle_freq;	cycles_last_tick = x;	if (_i8254_clock.mode == RTL_CLOCK_MODE_PERIODIC) {		if (test_and_set_bit(0, &_i8254_clock.arch.count_irqs)) {			_i8254_clock.value += _i8254_clock.resolution;		}	} else {		_i8254_clock.arch.istimerset = 0;	}	rtl_hard_enable_irq(0);	_i8254_clock.handler(regs);	return 0;}static int _8254_init (clockid_t clock){	int flags;	rtl_no_interrupts (flags);	rdtscl(cycles_last_tick);		if ( rtl_request_global_irq(0, _8254_irq) )	{		printk("_8254_init(): failed to get irq for timer\n");		return -1;	}	_8254_settimermode (clock, RTL_CLOCK_MODE_ONESHOT);	rtl_restore_interrupts (flags);	return 0;}static void _8254_uninit (clockid_t clock){	if (clock -> mode == RTL_CLOCK_MODE_UNINITIALIZED) {		return;	}	clock->handler = RTL_CLOCK_DEFAULTS.handler;	rtl_free_global_irq(0);	clock -> mode = RTL_CLOCK_MODE_UNINITIALIZED;}hrtime_t _gethrtime(struct rtl_clock *c){	return gethrtime();}hrtime_t gethrtime(void){	u32 x = 0;	rdtscl(x);	x -= cycles_last_tick;	return (((ulong)x * (ulong)NSECS_PER_SEC) / (ulong)hwrpb->cycle_freq)		+ hrtime_last_tick;}hrtime_t gethrtimeres(void){	return NSECS_PER_SEC / hwrpb->cycle_freq;}int rtl_create_clock_8254(void){	_i8254_clock = RTL_CLOCK_DEFAULTS;	_i8254_clock.gethrtime = _gethrtime;	_i8254_clock.init = _8254_init;	_i8254_clock.uninit = _8254_uninit;	_i8254_clock.settimermode = _8254_settimermode;	return 0;}clockid_t rtl_getbestclock (unsigned int cpu){	return &_i8254_clock;}int init_module (void){	rtl_create_clock_8254();	rtl_init_standard_clocks();	return 0;}void cleanup_module(void){	rtl_cleanup_standard_clocks();	_8254_uninit(&_i8254_clock);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美96一区二区免费视频| 久久精品国产99国产| 国产欧美日本一区视频| 日韩视频免费观看高清在线视频| 欧美视频精品在线观看| 色香蕉成人二区免费| 在线免费观看日本欧美| 欧美日韩另类一区| 在线成人高清不卡| 精品三级在线看| 久久天堂av综合合色蜜桃网| 国产欧美精品一区| 国产精品二区一区二区aⅴ污介绍| 国产精品美女久久久久久 | 亚洲国产精品久久久久秋霞影院| 亚洲视频图片小说| 一区二区三区蜜桃| 免费久久99精品国产| 国产电影一区在线| 9i在线看片成人免费| 欧美优质美女网站| 精品99久久久久久| 国产精品美日韩| 午夜精品爽啪视频| 狠狠狠色丁香婷婷综合久久五月| 成人网在线免费视频| 欧洲另类一二三四区| 欧美成人欧美edvon| 中文字幕高清一区| 亚洲mv在线观看| 美女一区二区视频| 一道本成人在线| 日韩免费视频一区二区| 国产精品久久久久久久久免费樱桃| 一个色在线综合| 国产精品综合在线视频| 欧美亚洲综合网| 欧美激情一区二区三区不卡| 日韩电影在线一区二区三区| 波多野结衣中文一区| 欧美精品aⅴ在线视频| 国产精品三级电影| 国内精品嫩模私拍在线| 欧美日韩一区二区在线观看| 国产精品网曝门| 久久av老司机精品网站导航| 色94色欧美sute亚洲线路一久| 欧美电影精品一区二区| 亚洲成国产人片在线观看| 国产成人福利片| 日韩一本二本av| 亚洲综合成人在线| 不卡大黄网站免费看| 精品久久久久久久一区二区蜜臀| 一区二区免费在线播放| gogo大胆日本视频一区| 国产女主播在线一区二区| 久久精品免费观看| 日韩一区二区免费在线观看| 亚洲成人激情社区| 欧美日韩在线综合| 亚洲小说欧美激情另类| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 亚洲第一精品在线| 91国产福利在线| 亚洲免费电影在线| 99久久精品免费观看| 国产精品无遮挡| 岛国一区二区在线观看| 国产亚洲视频系列| 国产乱色国产精品免费视频| 日韩精品专区在线影院重磅| 蜜桃视频一区二区三区| 91精品久久久久久久99蜜桃 | 日韩欧美在线综合网| 午夜欧美电影在线观看| 欧美日韩成人综合| 日本人妖一区二区| 欧美精品自拍偷拍| 麻豆专区一区二区三区四区五区| 日韩一本二本av| 精品一区二区三区久久| 久久久av毛片精品| 成人性生交大片免费看视频在线| 亚洲国产精品av| 99久久综合精品| 一区二区三区日韩精品视频| 欧美三区免费完整视频在线观看| 午夜激情一区二区| 精品久久五月天| 懂色av一区二区在线播放| 中文字幕在线不卡视频| 91官网在线观看| 视频一区二区三区中文字幕| 日韩欧美国产小视频| 国产在线播精品第三| 中文字幕一区二区三区在线不卡 | 精品国产91亚洲一区二区三区婷婷 | 国产精品视频你懂的| 色哟哟精品一区| 久久国产日韩欧美精品| 国产精品免费免费| 欧美日韩亚洲丝袜制服| 国产精品一区二区三区99| 中文字幕制服丝袜成人av| 在线精品视频一区二区三四| 日韩av一二三| 亚洲视频综合在线| 日韩片之四级片| 91小视频在线| 日本免费在线视频不卡一不卡二| 国产亚洲污的网站| 欧美精品久久久久久久多人混战| 韩国欧美国产1区| 亚洲成在人线免费| 国产日本亚洲高清| 欧美一区二区三区视频| 成人av在线一区二区三区| 日本91福利区| 亚洲综合在线五月| 国产欧美日韩在线视频| 欧美一级黄色大片| 91福利在线播放| 成人黄色在线网站| 国内精品不卡在线| 免费美女久久99| 亚洲成av人片| 亚洲免费在线视频一区 二区| 日韩欧美美女一区二区三区| 欧美性淫爽ww久久久久无| 成人国产亚洲欧美成人综合网| 奇米888四色在线精品| 亚洲一区二区视频| 亚洲欧洲日韩av| 国产精品久99| 国产精品天美传媒| 国产日韩欧美激情| 精品福利一区二区三区| 日韩欧美国产一区二区在线播放| 欧美性色欧美a在线播放| 成人国产视频在线观看| 国产福利一区二区三区视频在线 | 国产色婷婷亚洲99精品小说| 欧美成人一区二区三区| 欧美性生活大片视频| 色婷婷av一区二区三区之一色屋| 国产成人精品综合在线观看 | 亚洲bdsm女犯bdsm网站| 亚洲精选一二三| 又紧又大又爽精品一区二区| 国产精品灌醉下药二区| 中文字幕一区免费在线观看| 亚洲欧洲日韩综合一区二区| 日韩毛片一二三区| 一区二区三区 在线观看视频 | 日产国产欧美视频一区精品| 亚洲福利国产精品| 免费观看在线综合| 国产又黄又大久久| 懂色av一区二区三区免费看| 成人精品gif动图一区| 99精品欧美一区二区三区综合在线| 成人av资源网站| 日本高清成人免费播放| 欧美妇女性影城| 久久综合色天天久久综合图片| 欧美精彩视频一区二区三区| 国产精品久久久久三级| 夜夜嗨av一区二区三区网页| 奇米综合一区二区三区精品视频| 国产在线视视频有精品| 成人精品鲁一区一区二区| 91色.com| 91精品国产色综合久久久蜜香臀| 欧美成人性战久久| 亚洲欧美日韩国产手机在线| 天天综合色天天综合| 国产精品系列在线观看| 91一区二区三区在线观看| 911精品国产一区二区在线| 国产肉丝袜一区二区| 亚洲福利视频一区二区| 国产麻豆成人精品| 欧美日韩午夜影院| 国产欧美日韩在线看| 午夜国产精品一区| 成人午夜电影久久影院| 日韩一区二区在线看| 亚洲婷婷综合久久一本伊一区| 蜜臀va亚洲va欧美va天堂 | 紧缚奴在线一区二区三区| www.久久久久久久久| 91精品午夜视频| 亚洲嫩草精品久久| 国内精品视频一区二区三区八戒| 在线欧美日韩精品| 国产女主播视频一区二区| 免费在线观看日韩欧美| 色天天综合久久久久综合片| 久久久精品人体av艺术|