ROS Port AMD64

Материал из Русский WINE
Перейти к: навигация, поиск

Данная страница описывает текущее состояние портирования ReactOS на AMD64. AMD64 относится к спецификациям AMD для 64-битного расширения набора x86-инструкций. Так же известна как x86-64 (или x86_64 и x64).

В r34699 Timo Kreuzer создал ветку ros-amd64-bringup для работы над данным портом.

Состояние

Ntoskrnl:

MM:

Freeldr:

HAL:

  • Все собирается
  • Bootcd создается
  • setupldr загружается, переключает процессор в long mode, инициализирует оборудование/память/подкачку и переходит к ntoskrnl
  • Базовая инициализация Mm выполняется, но затем, система падает
  • Non paged pool allocations работает
  • Отладка с помощью WinDbg (break points, single stepping и пр.) работает
  • При включении прерываний всё ломается

Статус реализации (приблизительно)

реализация комментарий
freeldr 95% ожидаются только исправления
hal 5% на первичной стадии разработки, не хватает поддержки прерываний
ntoskrnl/ke 50% базовая функциональность реализована
ntoskrnl/mm 10% немного функций реализовано, большинство их отсутствует
rtl 60% exception handling is missing and unwinding is incomplete
crt 60% missing stuff here and there
PSEH 0% 100% in MSVC Showstopper for AMD64 branch. Unimplemented: It waits for SEH support in mingw-w64 version of GCC compiler

See also Building_MINGW-w64, Techwiki:SEH64

Not a problem anymore with MSVC compiler http://www.dreimer.de/?p=1212

Сборка порта amd64

Во-первых, установите Amd64 addon for RosBE (взято отсюда), и запустите 64-разрядную сессию RosBE, подправив ярлык:

Ярлык для i386 выглядит так:

C:\Windows\System32\cmd.exe /t:0A /k "e:\RosBE\RosBE.cmd"

А для AMD64 его необходимо изменить:

C:\Windows\System32\cmd.exe /t:0A /k "e:\RosBE\RosBE.cmd" amd64

(И для ARM:

C:\Windows\System32\cmd.exe /t:0A /k "e:\RosBE\RosBE.cmd" arm 

)

Здесь "e:\RosBE" - путь к установленной RosBE.

Запустите исправленный ярлык, и затем, собирайте ReactOS как обычно (ninja bootcd и пр.). Вы можете собрать amd64 и arm в том же транке где у вы собираете x86. При сборке будут созданы новые каталоги, а у ISO-образа будет имя другое имя: ReactOS-amd64.iso.

(или ReactOS-arm.iso для ARM).

Ссылки

ReactOS
Search.png
Доклады
О ReactOSARWINSSЧеЗа
Информация Новости Выпуски новостейПереводы блоговНовости проектаВидеоReactOS на ХабреUSB от Вадима Галянта
Разработка Руководство по программированиюОтсутствующая функциональностьВетви разработкиКомпоненты системыReactOS и WineПлан работРазработчикиСовместимость с dll WindowsНаиболее значимые изменения за годИспользуемые проектыGoogle Summer of CodeИзвестные проблемы
Порты AMD64ARMXboxPowerPC
Компоненты Файловые системыРежим совместимостиОтчеты об ошибкахПечатьUSBЯдро
Загрузчик Восстановление MBRЗагрузка из GRUBПараметры загрузки
Прочее ARWINSSПриложения в ReactOSОформление ReactOSКоординаторы"Пасхальные яйца"Монетизация
Другое Типы ядерFreeWin95
Помощь
RAM-диск ReactOS по PXEс жесткого диска
Разработка Стиль написания кодаСтандарты RC-файловРабота с документациейВенгерская нотацияGNU Indent • [ Subversion : ветвислияниеиспользование TortoiseSVN ] • Основы переводаОтправка патчей
Репорты Отладка в VirtualBoxОтладка на экранДобавление программы в менеджер приложенийОтправка отчетов
Отладка Com0comGDBKdbgRossym.gdbRoswin.gdbWinDBGРуководство по WinDBGВключение трассировки ядраКоды DPRINTУдалённый отладчик ReactOS
Сборка CMakeRBuildФайлы RBuildАвтоматическое копирование файловСборка MINGW-w64Сборка модулейСреда сборки
Тестирование VirtualBoxVMwareQEMUHyper-VНеобходимый объём дискаПеренос файлов на виртуальный дискУстановка ReactOSУстановка драйверов
Сеть Общие папкиSambaNFS
Игры Установка DirectPlay
Обновление ReactOSЗагрузочная флешкаЧем можно помочь проектуСоздание нового пользователяЗвук и сеть в VirtualBoxСъемка и публикация видеоIRC-каналСторонние компонентыFAQ
Обзоры ОболочкаNTVDMWOWCommunity Edition