我有一个关于linux设备驱动程序的一般性问题。更常见的情况是,我弄不清楚在linux设备驱动程序中允许或不允许执行哪些操作?
是否有任何规则或查找列表可遵循?
例如,下面的例子是不允许的?
msleep(1000);
al = kmallock(sizeof(val));
printk(KERN_ALERT "faild to print\n";
ret = adc_get_val()*0.001;
Linux内核或BIOS如何将PCIe 端点设备内存映射到systems 空间?有什么API可以实现吗?假设在为PCIe端点设备编写Linux设备驱动程序时,如何将PCIe设备内存映射到MMIO空间?还是在枚举期间,设备已经被BIOS映射到MMIO,而我需要做的就是使用ioremap()将设备MMIO重新映射到内核虚拟地址的空间?
平台: Linux on x86