ROS Port PowerPC

Материал из Русский WINE
Перейти к: навигация, поиск
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

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
Доклады
О ReactOS • ARWINSS • ЧеЗа
Информация Новости Выпуски новостей • Переводы блогов • Новости проекта • Видео • ReactOS на Хабре • USB от Вадима Галянта
Разработка Руководство по программированию • Отсутствующая функциональность • Ветви разработки • Компоненты системы • ReactOS и Wine • План работ • Roadmap ядра by Vgal • Разработчики • Совместимость с dll Windows • Наиболее значимые изменения за год • Используемые проекты • Google Summer of Code • Известные проблемы
Порты AMD64 • ARM • Xbox • PowerPC
Компоненты Файловые системы • Режим совместимости • Отчеты об ошибках • Печать • USB • Ядро
Загрузчик Восстановление MBR • Загрузка из GRUB • Параметры загрузки
Прочее ARWINSS • Приложения в ReactOS • Оформление ReactOS • Координаторы • "Пасхальные яйца" • Монетизация
Другое Типы ядер • FreeWin95
Помощь
RAM-диск ReactOS по PXE • с жесткого диска
Разработка Стиль написания кода • Стандарты RC-файлов • Работа с документацией • Венгерская нотация • GNU Indent • [ Subversion : ветви • слияние • использование TortoiseSVN ] • Основы перевода • Отправка патчей
Репорты Отладка в VirtualBox • Отладка на экран • Добавление программы в менеджер приложений • Отправка отчетов
Отладка Com0com • GDB • Kdbg • Rossym.gdb • Roswin.gdb • WinDBG • Руководство по WinDBG • Включение трассировки ядра • Коды DPRINT • Удалённый отладчик ReactOS
Сборка CMake • RBuild • Файлы RBuild • Автоматическое копирование файлов • Сборка MINGW-w64 • Сборка модулей • Среда сборки
Тестирование VirtualBox • VMware • QEMU • Hyper-V • Необходимый объём диска • Перенос файлов на виртуальный диск • Установка ReactOS • Установка драйверов
Сеть Общие папки • Samba • NFS
Игры Установка DirectPlay
Обновление ReactOS • Загрузочная флешка • Чем можно помочь проекту • Создание нового пользователя • Звук и сеть в VirtualBox • Съемка и публикация видео • IRC-канал • Сторонние компоненты • FAQ • ReactOS как рабочая станция • ReactOS и UEFI
Обзоры Оболочка • NTVDM • WOW • Community Edition • История сайта • ReactOS Server • Криптография • ПО времен XP