Хочу прочитать BAR самим PCI девайсом. Из альтеровского support'a мне написали: В альтеровской корке для того, чтобы, скажем, сделать Memory Write, надо выставить на локальной стороне адрес, с учётом базового адреса для Memory Mapped I/O, записанного системой в соответствующий BAR. Чтобы прочитать BAR в альтеровской корке надо выполнить с локальной стороны Configuration Read, для этого надо учитывать коннект IDSEL = AD[?]. Скажем, если IDSEL = AD[11], то для чтения BAR0 (10h) надо выставлять локальный адрес 32'h 0000 0810. Т.к. IDSEL = AD[?] зависит от конкретного посадочного места, то непонятно, как его можно узнать аппаратно.
|