3

我正在尝试开发一个简单的字符设备驱动程序来访问该站点中描述的保留内存区域:http: //www.wiki.xilinx.com/Linux+Reserved+Memory

/* Get reserved memory region from Device-tree */

np = of_parse_phandle(dev->of_node, "memory-region", 0);

if (!np) {
    dev_err(dev, "No %s specified\n", "memory-region");
    goto error1;
}

rc = of_address_to_resource(np, 0, &r);

if (rc) {
  dev_err(dev, "No memory address assigned to the region\n");  
  goto error1;
}

lp->paddr = r.start;
lp->vaddr = memremap(r.start, resource_size(&r), MEMREMAP_WB);

dev_info(dev, "Allocated reserved memory, vaddr: 0x%0llX, paddr: 0x%0llX\n", (u64)lp->vaddr, lp->paddr);

该网站不提供任何有关lp->paddrlp->vaddr

的数据类型是lp什么?

4

1 回答 1

0

我认为“lp”不是预定义的变量。我已经用 vaddr 和 paddr 作为结构元素声明了我自己的结构,并将 lp 定义为结构变量并且它起作用了。

static struct addr_map
{
   __u32 paddr,vaddr;
   ssize_t size;
}*lp;
于 2017-09-22T05:18:10.030 回答