Как переназначить адреса PCIe Bar в Linux и x86 и как пространство конфигурации назначается MMIO?Linux

Ответить Пред. темаСлед. тема
Anonymous
 Как переназначить адреса PCIe Bar в Linux и x86 и как пространство конфигурации назначается MMIO?

Сообщение Anonymous »

У меня есть сомнения относительно того, как подсистема PCIe в Linux на x86 работает в деталях.
Насколько мне известно, чтобы иметь возможность общаться с устройством PCIe только с помощью mmio, необходимо следующее: это произойдет:
  • Пространство конфигурации PCIe должно быть каким-то образом сопоставлено с mmio.
Я читал, что это делается при перечислении шин?
И что в настоящее время существует нечто под названием ECAM, которое резервирует 256 МБ для всех BDF.
Значит, я не смогу сопоставить пространство конфигурации с произвольным физическим адресом?< /p>
  • После пространства конфигурации необходимо также сопоставить пространство PCie BAR.
При загрузке это делает прошивка? Итак, зависит ли этот производитель (материнская плата)?
Что, если я захочу изменить это сопоставление или горячее подключение, как будет назначен физический адрес?
Как это работает на x86?
Я бы сделал это нужно убедиться, что новые физические адреса не конфликтуют с уже назначенными?
Я знаю, как написать драйвер pcie, но эти низкоуровневые детали почему-то очень сложно найти, особенно документы Intel о том, как настроить сопоставления PCIe и mmio.

Подробнее здесь: https://stackoverflow.com/questions/790 ... tion-space
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»