【发布时间】:2016-08-17 22:33:34
【问题描述】:
我需要我的驱动程序通过ioctl 调用返回phys_addr_t 类型值。我需要通过一个通过arg 传递的结构返回这个值。问题是我在这个结构中使用什么类型?
例如,假设以下结构通过 arg 传递
struct myStruct {
int input1;
char input2;
<type> physAddr;
} ;
someStruct.physAddr = virt_to_phys(virtAddr);
virt_to_phys 返回一个phys_addr_t,但是这种类型似乎不存在于任何标准包含中。所以我的问题是我需要在用户空间中为phys_addr_t 使用什么类型?
【问题讨论】:
-
物理地址在内核之外是没有意义的。
-
@Barmar 我知道。但这不是我要问的问题。问题仍然存在,我需要在用户空间中使用什么类型,或者我需要在文件中包含什么才能看到
physAddr的值? -
unsigned long? man.cx/virt_to_phys%289%29
标签: c linux linux-kernel linux-device-driver