ROS Port AMD64
Данная страница описывает текущее состояние портирования 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 | 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).
Ссылки
- ViewVC of ros-amd64-bringup
- Nynaeve: Programming against the x64 exception handling support
- PR с улучшениями x64 на github
- PR Загрузка в пользовательский режим x64
- Проба загрузки ReactOS x64 от 01.01.2018
- Загрузка ReactOS x64 от 31.05.2019 + livecd + (зеркало)
- Рабочие ISO-образы