AMD64

From ReactOS Wiki
Revision as of 00:45, 2 June 2019 by Hbelusca (talk | contribs)
Jump to: navigation, search

This page describes the current status of the AMD64 port of ReactOS. AMD64 refers to AMD's specifications for a 64-bit extension to the x86 instruction set. It is also known as x64, x86-64 or x86_64 and it is not limited to AMD processors.

The ros-amd64-bringup branch was created on r34699 by Timo Kreuzer. The newer development branch is The_ultimate_ros_amd64_bringup, which tends to be outdated and might not boot.

Status

  • The current code base can be compiled for x64 using the 64 bit development command prompt from VS 2015/2017 (see Building_ReactOS)
  • You can compile bootcd or livecd. rosapps and rostests modules might not yet build entirely.
  • The main code base (git master) does not boot very far yet, but the 64 bit development branch boots on VirtualBox.
  • Latest branch version boots up to desktop, some apps as cmd and notepad work fine, but it hangs after some time.
  • There is no USB support yet and some other features are also disabled.


Completion Status (rough estimates)

completion comment
freeldr 100%
hal 95% Mostly completed, but probably needs some bugfixing here and there
ntoskrnl/ke 95% Mostly completed, some low level asm code might need bug fixing.
ntoskrnl/mm 95% Mostly completed, some limitations might exist.
rtl 90% exception handling and unwinding is experimental and needs testing and potentially fixing.
crt 90% Some math functions are missing and exception related functions are experimental.

Building amd64 port

At the moment only building with Visual Studio is supported. VS 2015/2017 Community edition are free (as in free beer, nom nom) work fine. Building works exactly the same as building the x86 version with a Visual Studio build environment (Building_ReactOS), except that you have to use the 64 bit developer command prompt. Building with GCC will be able, once somebody takes the time to create a 64 bit version of RosBE again, using the latest mingw-w64. After that build fixes are expected to be required.

First, install Amd64 addon for RosBE (taken from here) then start a 64-bit RosBE session with a custom shortcut:

Normal shortcut for i386 port is: C:\Windows\System32\cmd.exe /t:0A /k "e:\RosBE\RosBE.cmd"

The one for AMD64 should be:

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

(And for ARM: C:\Windows\System32\cmd.exe /t:0A /k "e:\RosBE\RosBE.cmd" arm )

Here "e:\RosBE" was install path of RosBE.

Run the custom shortcut, then proceed as usual (ninja bootcd and similar). You can build amd64 and arm at the same trunk you use for x86 build. New directories will be created and the built ISO will also have different name: ReactOS-amd64.iso

(or ReactOS-arm.iso for ARM).

Links

See Also

ReactOS Ports AMD64 Section

ReactOS ports‎
In active development Intel IA-32 (x86) | AMD64 (x64)
In slow development ARM64 (aarch64) | ARM32 (armv7) | NEC PC-98 (x86) | OG Xbox (x86)
Unmaintained OLPC (x86)
Missing ports that Windows has Intel IA-64 (Itanium) | IBM PS/2 MCA (x86) | SGI 320/540 (x86) | DEC Alpha (axp) | MIPS | PowerPC (ppc)
Ideas for new ports Apple TV 1st Gen (x86) | FM Towns (x86) | PlayStation 4 (x64) | Intel SFI (x86)