有关uCLinux源码的问题……
uCLinux中的save_flags函数是用于禁止中断的,
它的函数定义如下:
#define save_flags(flags) do { flags = getipl(); } while (0)
而其中的getipl()函数是这样定义的:
extern int getipl(void)
{
int retval;
__asm__ __volatile__("rdctl %0\n\t"
"pfx %%hi(%1)\n\t"
"and %0, %%lo(%1)\n\t"
"lsri %0, 9\n\t"
: "=r" (retval)
: "i" (0x7E00));
return retval;
}
中间的_asm_ _volatile_等一大串是什么意思来的?看不懂哦。
大家帮帮忙吧……………………………………………………………………
发表时间:2003年9月18日10:22:28