Устройство PCIe может иметь конфигурационное пространство типа 0 (конечные точки) или типа 1 (RC, коммутаторы или мосты).
- Устройство типа 0 может иметь всего 6 полос, в то время как устройство типа 1 может иметь только 2 полосы.
--BAR предоставляет информацию об адресном пространстве, необходимом для устройства.
- Каждый BAR 32-битный, из которых первые 4 бита 3: 0 всегда доступны только для чтения.
- 2 ^ (Позиция последних битов R / W от младшего бита) = Адресное окно, требуемое для конкретной BAR.
Как узнать адресное окно или размер области, отображаемой какой-либо БАРой:
1) Изначально считываем любой BAR (предположим, в нашем случае BAR0), мы получили значение 32'h0000_000F. (Помните: последние 4 бита только для чтения !!).
2) Запишите все единицы в BAR0.
3) Прочтите еще раз BAR0 и предположим, что мы получили значение 32'hFFFF_000F. Таким образом, битовая позиция 16 является младшим значащим битом чтения / записи. Таким образом, адресное пространство, необходимое для BAR0, будет 2 ^ 16.
person
Gaurang Pandey
schedule
04.02.2016