我正在学习 Linux 中的设备驱动程序。
我想创建一个具有几乎连续范围的大型数据结构。我希望我的数据结构以巨大的页面粒度(2MB 大小)分配
起初,我尝试以正常的页面对齐方式分配数据。并且已经成功了A = vmalloc(i*PAGE_SIZE);
。
但我认为 vmalloc() 不能分配大页,因为它们没有标志参数(不能自定义)并且 kmalloc() 支持分配的物理连续内存,但它有内存大小限制
我可以使用什么函数将大页面(在 2MB 范围内物理上连续)分配给数组(实际上是连续的)?