История с запуском Microsoft Windows XP на
компьютерах Apple Mac с процессорами Intel наконец-то
закончилась - операционка благополучно
запущена, главный приз (около 13.000 долларов) перешел
победителям
, пользователи счастливы, Apple,
вероятно, пребывает в унынии. А мы сегодня
представляем интервью с одним из двух
победителей - человеком по имени Jesus Lopez (ник
blanka).

Что двигало вами при выполнении задачи?

Было сразу несколько причин, почему этот
проект привлек мое внимание:

  • От него могло получить пользу сразу
    множество людей.
  • Для меня Mac Mini казался идеальным
    компьютеров для использования в
    автомобиле, этот проект я вынашивал
    несколько месяцев - установить на него GPS,
    Internet, проигрыватель и т.п. К сожалению
    большинство софта для автомобильных
    компьютеров оказалось под Windows...
  • Задача по запуску XP на Mac-е казалась
    неразрешимой, а я люблю решать трудные
    задачи, тем более доказывать нечто
    невозможное.
  • Я уже довольно давно не программировал
    на низком уровне, всегда хорошо вспомнить
    старые добрые времена 🙂
  • Да и денежный приз вполне оправдал и окупил то время, что я на него потратил.

Как же работает ваш Boot Loader/CSM?

Ну если вкратце, то делает он следующее:

  • Переконфигурирует i945 и ICH7 чипсет на
    использование памяти, обычной для BIOS.
  • Программирует эти области памяти
    специально написанным новым BIOS-ом. Он
    написан в 16-битной реальном режиме (один
    из режимов адресации процессоров 80х86, в
    котором не поддерживается трансляция
    виртуальных адресов в физические, а
    используется адресация, принятая в
    процессорах 8088/8086). В нем реализованы все
    прерывания посредством переключения в 32-битный
    защищенный режим и вызова кода CSM.
  • Код CSM реализует набор унаследованных
    прерываний через EFI API. Все остальные
    нереализованные прерывания
    обрабатываются встроенным дебаггером.
  • Так же мы сделали протоколы загрузки - El
    Torito (загрузочный
    CD
    ), MBR и загрузочные сектора, они далее
    указывают на код, который должен быть
    выполнен.
  • Код, будучи найденным, загружается в
    память, загрузчик переключается в 16-битный
    режим и передает управление ему, коду.

Вкратце вот так. В дополнение пришлось
патчить некоторые куски Windows дабы сгладить
некоторые различия в железе между Apple и
стандартной архитектурой AT. Мы, например,
столкнулись с отсутствием контроллера
клавиатуры 8042 и невозможностью работы в текстовых VGA
режимах - это и до сих пор невозможно, но я
думаю это вполне реализуемо.

Какую главную проблему вы можете отметить?

Очень трудно определить почему Windows не
делает то, что положено. Подвисания, черные
экраны, перезагрузки... Это очень и очень
трудно отлаживать.

Сколько времени прошло до первого релиза?

Я впервые услышал о конкурсе 25 Января 2006
года и попросил товарища купить iMac в тот же день.
На следующий Amazon доставил их... Остальное
уже история.

Сейчас мы видим огромные проблемы с
драйверами. Как вы думаете, их удастся
решить?

Надо сказать, что я очень впечатлен теми
усилиями, которые сообщество вкладывает в
этот проект. Люди выпускают драйвера каждый
день и появляется все больше людей, которые
хотят помогать. я думаю это всего лишь вопрос времени и в конце концов мы запустим
3D ускорители на железе Apple.

Спасибо вам за разговор.

Я хочу поблагодарить людей за интерес к
этому проекту, в конце концов он и сделал
его возможным.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии