Один из разработчиков Nouveau портировал для Windows библиотеку libpciaccess, предназначенную для организации низкоуровневого доступа к интерфейсу PCI. Благодаря проделанной работе, разработчики, занимающиеся обратным инжинирингом, получили возможность сбора информации о видеокартах NVIDIA, работающих только в окружении Windows.

Разработчики Nouveau используют в своей работе Envytools. Пакет утилит, в свою очередь, основан на использовании библиотеки libpciaccess, которая предоставляет прямой доступ к шине PCI и подключённым устройствам, но до сих пор была доступна только на POSIX платформах.

Для Самуэля Пайтойсета (Samuel Pitoiset), одного из разработчиков Nouveau, было сложно получить доступ к информации о графических счетчиках GPU архитектуры Nvidia Tesla: доступ к ним возможен только под Windows с помощью пакета утилит отладки и профилировки Nvidia NVPerfKit. Чтобы использовать эти программы для обратного инжиниринга, Пайтойсет портировал библиотеку libpciaccess. Патч уже принят в основную ветку libpciaccess.

Портированная библиотека использует также для своей работы программу WinIO, которая позволяет пользователям получить доступ к портам ввода/вывода и физической памяти в ОС Windows. Краткое руководство к использованию библиотек можно найти в исходном коде библиотеки libpciaccess. Библиотека на данный момент была проверена только на 32-разрядной версии Windows 7, сейчас проводятся тесты на 64-битной системе.

Источник: http://www.opennet.ru/opennews/art.shtml?num=38958