Код ROM можно загнать и в прошивку Xilinx

Код ROM можно загнать и в прошивку Xilinx и отдавать по обращению к ROMBAR+offset

> Только вот не понятно что и куда писать в коде драйвера, который туда запихну, чтобы с BIOS нормально дружил.

Упс. Legacy (не UEFI) BIOS накопителей я не писал. Т.е. я понимаю, что там должен быть обработчик INT13 (работающий по спецификации EDD 3.0), поставить его нужно при инициализации ROM. Но реального опыта нету. С UEFI - ну, тоже кусок геморроя, но смысл ясен - надо объявить себя накопителем (лень лезьть в спецификацию, но это просто спецификация UEFI 2.x, она доступна).
В наших реалиях (до полной победы UEFI) - надо писать оба (Legacy/UEFI). Так можно - т.е. они "склеиваются", а в зависимости от стиля загрузки будет вызываться Legacy или UEFI.
В общем - я бы нанял специально заточенного человека для обеспечения загрузки. В общем, и для разборок с Виндой - тоже.

P.S. Просто одна из моих функций - как раз системщик, мало шарящий в VHDL/Verilog, но сидящий рядом с FPGA-шником и обеспечивающий написание драйверов/тестов/BIOS-ов и т.п. Т.е. смотрящий на девайс со стороны системы.

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