Это нормально, что странный src addr появляется, когда DMA (PLX PEX 8733) работает некоторое время? - PullRequest
0 голосов
/ 12 сентября 2018

Мне любопытно обработать передачу драйвера DMA (PEX 8733) и использовать kzalloc для получения части бафа для наблюдения за работающей таблицей дескрипторов DMA.

Это в соответствии со спецификацией DMA, дескрипторформат такой: формат дескриптора

Когда я начинаю свое наблюдение, результат выглядит как ожидаемый пример 1 (порядок: dw0, dw1, dw2, dw3.)или ожидаемый пример 2.

ожидаемый пример 2:

DMA Descriptor Entry 0, (80003c66, 3890, 74ea046c, fff4028e)
DMA Descriptor Entry 1, (c000042e, 3890, 74ea0048, fff4024e)

Через некоторое время (около 2 часов) результат показывает: неожиданный пример 1 или неожиданный пример 2

неожиданный пример 2:

DMA Descriptor Entry 0, (80007c0e, ffff3890, 65da046e, fffc04ee)
DMA Descriptor Entry 1, (c000042e, ffff3890, 65da0040, fffc00c0)

Я не могу понять, что старший байт имеет старший байт 0xffff в адресе источника.

Я неправильно понимаю или пропускаю что-то в дескрипторе DMA?

Я не уверен в потенциальной проблеме (Дополнительные сообщения), которая связана с адресом высокого src, но появляется, когда DMA работает некоторое время.

Дополнительные сообщения:

DMAR: DRHD: handling fault status reg 402
DMAR: DMAR: [DMA Read] Request device [01:00.2] fault addr fffc0000
DMAR: [fault reason 06] PTE Read access is not set
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...