#linux #linux-kernel #kernel-module #symbols #map-files
#linux #linux-ядро #kernel-module #символы #map-files
Вопрос:
Мне нужно загрузить 2 экземпляра драйвера для 2 физических устройств одного типа на моей платформе. Я переименовал все конфликтующие функции экспорта, и я могу загрузить оба драйвера, соответствующие каждому из этих 2 физических устройств.
Но я обеспокоен тем, что в какой-то момент между ними может возникнуть какой-то конфликт в отношении структуры данных. Чтобы я мог убедиться, что этого не произойдет, мне нужно увидеть все данные, которыми они обмениваются. Я подумал, что лучший способ — сгенерировать файл КАРТЫ для каждого из модулей ядра.
Может кто-нибудь, пожалуйста, сказать мне, как генерировать файлы карты для модулей ядра?
Спасибо, Прадип.
Комментарии:
1. Зачем вам нужны два разных драйвера для «2 физических устройств одного типа»? Драйвер должен просто поддерживать разные структуры данных для контроля / управления каждым устройством. Если у вас действительно есть два отдельных драйвера, как они будут обмениваться какими-либо данными? (Если только вы не сделали что-то, чтобы заставить их сделать это.)
2. Хороший вопрос. Прямо сейчас драйверы используют шину, но в будущем я собираюсь перенести один из них на PCIe, в то время как другой драйвер продолжит использовать USB — таким образом, поддерживая 2 драйвера. Ну, эти 2 устройства на самом деле являются 2 независимыми устройствами Wi-Fi, для которых я не предвижу никакого сценария, когда им нужно обмениваться данными.