我一直在我的linux设备驱动程序中使用这个函数。这是为了把用户页的用户虚拟地址(所需的页数),并获得它的内核地址。通过这些方法,它被用于linux-5.4.21中。(我认为这种方法可能有问题。get_user_pages( uvirt, length>>PAGE_SHIFT, FOLL_WRITE, &pages, NULL); kvpaddr = kmapmmap_sem??; did you mean ??mmap_base???<e
首先,让我承认,即使在阅读了一些相关资源之后,在Linux上的高内存和低内存的概念在我的脑海中仍然不完全清楚。然而,据我所知,在64位Linux上,无论如何都没有很高的内存(如果我错了,请纠正我)。我试图了解kmap和address空间是如何在用defconfig for arm64配置的Linux5.8.1内核版本上工作的。= 1) *p2 = 2; /* this also works *