diff --git a/doc/README.x86 b/doc/README.x86 index 06b3de10115b7c9144a34cdca548bd27613d13c7..ba5bb99dcd1a7edb5ef0bd135d8b1451786c141f 100644 --- a/doc/README.x86 +++ b/doc/README.x86 @@ -1049,11 +1049,29 @@ provides the same EFI run-time services) is not currently supported on x86. See README.efi for details of EFI support in U-Boot. +64-bit Support +-------------- +U-Boot supports booting a 64-bit kernel directly and is able to change to +64-bit mode to do so. It also supports (with CONFIG_EFI_STUB) booting from +both 32-bit and 64-bit UEFI. However, U-Boot itself is currently always built +in 32-bit mode. Some access to the full memory range is provided with +arch_phys_memset(). + +The development work to make U-Boot itself run in 64-bit mode has not yet +been attempted. The best approach would likely be to build a 32-bit SPL +image for U-Boot, with CONFIG_SPL_BUILD. This could then handle the early CPU +init in 16-bit and 32-bit mode, running the FSP and any other binaries that +are needed. Then it could change to 64-bit model and jump to U-Boot proper. + +Given U-Boot's extensive 64-bit support this has not been a high priority, +but it would be a nice addition. + TODO List --------- - Audio - Chrome OS verified boot - Support for CONFIG_EFI_LOADER +- Building U-Boot to run in 64-bit mode References ----------