быстрый вопрос, я читал страницу Osdev Wiki относительно PCI, и она говорит следующее -
регистры базовых адресов (или бары) могут использоваться для хранения адресов памяти, используемых устройством, или смещений для адресов портов. Как правило, адресные строки памяти должны быть расположены в физической оперативной памяти, в то время как столбцы пространства ввода-вывода могут находиться в любом адресе памяти (даже вне физической памяти).
Я не понимаю, где он говорит:memory address BARs need to be located in physical ram
. Весь смысл MMIO в том, что ему назначается адрес памяти, так что он будет направлен на устройство, а не в физическую память. Что это означает, что он должен быть расположен в физической оперативной памяти?
не было бы это просто адрес между 3Gb-4GB адресное пространство, независимо от того, сколько физической памяти установлено?
это ошибка на сайте OSDev или я неправильно понял?
link - примерно на полпути вниз, под заголовком База адресов регистров