⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delay.h

📁 《嵌入式系统设计与实例开发实验教材二源码》Linux内核移植与编译实验
💻 H
字号:
#ifndef _PARISC_DELAY_H#define _PARISC_DELAY_H#include <asm/system.h>    /* for mfctl() */#include <asm/processor.h> /* for boot_cpu_data *//* * Copyright (C) 1993 Linus Torvalds * * Delay routines */extern unsigned long loops_per_sec;static __inline__ void __delay(unsigned long loops) {	asm volatile(	"	.balignl	64,0x34000034		addib,UV -1,%0,.		nop"		: "=r" (loops) : "0" (loops));}static __inline__ void __cr16_delay(unsigned long clocks) {	unsigned long start;	/*	 * Note: Due to unsigned math, cr16 rollovers shouldn't be	 * a problem here. However, on 32 bit, we need to make sure	 * we don't pass in too big a value. The current default	 * value of MAX_UDELAY_MS should help prevent this.	 */	start = mfctl(16);	while ((mfctl(16) - start) < clocks)	    ;}static __inline__ void __udelay(unsigned long usecs) {	__cr16_delay(usecs * ((unsigned long)boot_cpu_data.cpu_hz / 1000000UL));}#define udelay(n) __udelay(n)#endif /* defined(_PARISC_DELAY_H) */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -