Провел еще несколько экспериментов. Экспериментировал на двух чипах

Провел еще несколько экспериментов. Экспериментировал на двух чипах Spartan6, Virtex5.
1) Если VID/DID 8086/2B26h, то есть как у контроллера на плате, то BIOS не читает XROM BAR. Винда аналогично. .
2) Если VID/DID 10EE/0000h, то есть как хз какой девайс, то BIOS читает первые 2 байта XROM BAR. Винда тоже.


3) Вчерашний эксперимент с установкой uniata на плату с VID/DID 10EE/0000h завершился обращением драйвера к контроллеру.

Из этих экспериментов делаю вывод, что мое предположение по поводу проверки размеров BAR для устройства класса 0101h следует признать неверным и забыть.

Однако, полностью так и не уверен, что все решиться написание магического addon rom. Проблему с загрузкой с устройства в BIOS я решу таким образом. Но дальше идет операционка, как она будет взаимодействовать с моим устройством? Если линукс можно обмануть, подсунув cуществующий VID/DID, то с виндой не прокатывает, нужен драйвер. При этом, на интегрированные контроллеры тоже стоят стандартные драйвера, и это никого не смущает.

Моя задача, чтобы контроллер не нуждался в дополнительном ПО для ОС.
1) Как мне решить эту задачу?
2) Чего такого нестандартного хочет стандартный виндузовый драйвер от моего контроллера? Мой контроллер же выдает стандартный интерфейс для него.

Котроллер SATA в режиме эмуляции IDE.