ROS Port PowerPC

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

PowerPC Remaining Porting

  • ReactOS Build Environment (currently only linux-x86)
    • Now checked in as tools/RosBE/RosBE-PPC

It's been a long time coming

Arty has been working on this project for a couple of years now, and thought he'd be done by this point. What's been going on for these years has been a fairly wild ride of frustration, hard work, on and off oversaturation and general hardness.

Tools have stabilized and so has the boot system, so now we can work on the real issues (and Arty has been working on them in the background, even if it doesn't seem so).

Arty started porting to learn the deeper bits of OS development. He's learned a lot. The rest hopefully will go a bit smoother than what's come up til now.

What's been accomplished:

  • Arty's totally comfortable and familiar with PPC cpus. He has learned a lot about linker formats and linking, as well.
  • Even without ReactOS, lib/ppcmmu is a spiffy minikernel for working in early boot on PowerPC.
  • He had learned enough to be confident on the rest. Never give up!

Rest of the plan:

  • Keep working in ntoskrnl until we get to the first bootdriver.
    • Add MM functions and hook them up to the ppc minikernel.
    • Vector remaining interrupt traffic through the minikernel (like the syscall trap, which already exists).
    • Finally test out and debug the syscall table generator.
    • Revisit the DLL binding stubs if necessary.
    • Implement the (now trivial) low level thread support
  • Debug boot drivers
    • Verify IRQ code (hal)
    • Interface with
      • Bandit
      • Eagle
      • Grackle
      • Whatever other birds are on PPC boxen
    • Pass on device tree to ntoskrnl to use in pnp system
      • PReP -> Simple device tree (possibly built from prep residual, otherwise direct PCI query)
      • mac -> Transcribe important parts of the ofw device tree (assigned-addresses, slot etc)
    • Display hardware
      • Probably start with taking over the framebuffer like linux
      • I basically know now how this works, so it isn't a huge deal
        • The devil is in the details; getting the right info to bootvid and the framebuffer driver
    • Win32k
    • ntdll
    • Run the first user process
      • Getting into userland for the first time
      • Probably require some adjustment in trap handling code
      • FPU state saving (we'll cheat and always enable/always save it for now)
    • libstdc++ and g++
      • Finish these remaining tools issues (not actually needed yet)
    • Macsbug screensaver :-)
ReactOS
Search.png
Доклады
О ReactOSARWINSSЧастовстречаемые заблуждения о ReactOS
Информация Новости Выпуски новостейПереводы блоговНовости проектаВидео про ReactOSReactOS на ХабреUSB от Вадима Галянта
Разработка Руководство по программированиюОтсутствующая функциональностьВетви разработкиКомпоненты системыReactOS и WineПлан работРазработчикиСовместимость с dll WindowsНаиболее значимые изменения за годИспользуемые проектыGoogle Summer of CodeИзвестные проблемы
Порты AMD64ARMXboxPowerPC
Компоненты Файловые системыРежим совместимостиОтчеты об ошибкахПечатьUSBЯдро
Загрузчик Восстановление MBRЗагрузка из GRUBПараметры загрузки
Прочее ARWINSSПриложения в ReactOSОформление ReactOS
Другое КоординаторыТипы ядерFreeWin95"Пасхальные яйца" в ReactOS
Помощь
RAM-диск ReactOS по PXEс жесткого диска
Разработка Стиль написания кодаСтандарты RC-файловРабота с документациейВенгерская нотацияGNU Indent • [ Subversion : ветвислияниеиспользование TortoiseSVN ] • Основы переводаОтправка патчей
Репорты Отладка в VirtualBoxОтладка на экранДобавление программы в менеджер приложенийОтправка отчетов
Отладка Com0comGDBKdbgRossym.gdbRoswin.gdbWinDBGРуководство по WinDBGВключение трассировки ядраКоды DPRINTУдалённый отладчик ReactOS
Сборка CMakeRBuildФайлы RBuildАвтоматическое копирование файловСборка MINGW-w64Сборка модулейСреда сборки
Тестирование VirtualBoxVMwareQEMUHyper-VНеобходимый объём дискаПеренос файлов на виртуальный дискУстановка ReactOSУстановка драйверов
Использование ПО в ReactOS Samba
Обновление ReactOSЗагрузочная флешкаЧем можно помочь проектуСоздание нового пользователяЗвук и сеть в VirtualBoxСъемка и публикация видеоIRC-каналОбщие папкиСторонние компоненты
Обзоры ОболочкаNTVDMWOWCommunity Edition