Мне нужно отобразить виртуальное адресное пространство ядра, возвращаемое ioremap, на виртуальный адрес пространства пользователя, чтобы повысить производительность и сэкономить пространство.
Встроенная система.
При компиляции U-BOOT я прошелменьший размер оперативной памяти, чем у системы.Я делаю это для того, чтобы спрятать верхнюю часть DDR для будущего использования в модулях ядра (мне нужно знать адрес физической памяти заранее).У меня есть модуль, который отображает этот раздел DDR, который скрыт от ядра с помощью ioremap.
Теперь я ищу способ отобразить виртуальную память этого ядра в пространство пользователя.из того, что я прочитал, это можно сделать, вызвав системный вызов mmap в пространстве пользователя на драйвере, который реализовал функцию mmap.
Здесь мы видим некоторый код, который демонстрирует отображение виртуального адреса ядра в пространство пользователя.В этом примере виртуальный адрес ядра был возвращен kmalloc и он отображается в пространстве пользователя.https://linux -kernel-labs.github.io / master / labs / memory_mapping.html # device-driver-memory-mapping
У меня вопрос, могу ли я реализовать этот пример, используявиртуальный адрес ядра возвращается из ioremap?