|
@@ -32,7 +32,7 @@ are supported:
|
|
|
- Link (Chromebook Pixel)
|
|
|
- Minnowboard MAX
|
|
|
- Samus (Chromebook Pixel 2015)
|
|
|
- - QEMU x86
|
|
|
+ - QEMU x86 (32-bit & 64-bit)
|
|
|
|
|
|
As for loading an OS, U-Boot supports directly booting a 32-bit or 64-bit
|
|
|
Linux kernel as part of a FIT image. It also supports a compressed zImage.
|
|
@@ -376,7 +376,9 @@ QEMU x86 target instructions for bare mode:
|
|
|
|
|
|
To build u-boot.rom for QEMU x86 targets, just simply run
|
|
|
|
|
|
-$ make qemu-x86_defconfig
|
|
|
+$ make qemu-x86_defconfig (for 32-bit)
|
|
|
+or
|
|
|
+$ make qemu-x86_64_defconfig (for 64-bit)
|
|
|
$ make all
|
|
|
|
|
|
Note this default configuration will build a U-Boot for the QEMU x86 i440FX
|
|
@@ -479,6 +481,19 @@ Here the kernel (bzImage) is loaded to 01000000 and initrd is to 04000000. Then,
|
|
|
|
|
|
=> zboot 01000000 - 04000000 1b1ab50
|
|
|
|
|
|
+To run 64-bit U-Boot, qemu-system-x86_64 should be used instead, e.g.:
|
|
|
+$ qemu-system-x86_64 -nographic -bios path/to/u-boot.rom
|
|
|
+
|
|
|
+A specific CPU can be specified via the '-cpu' parameter but please make
|
|
|
+sure the specified CPU supports 64-bit like '-cpu core2duo'. Conversely
|
|
|
+'-cpu pentium' won't work for obvious reasons that the processor only
|
|
|
+supports 32-bit.
|
|
|
+
|
|
|
+Note 64-bit support is very preliminary at this point. Lots of features
|
|
|
+are missing in the 64-bit world. One notable feature is the VGA console
|
|
|
+support which is currently missing, so that you must specify '-nographic'
|
|
|
+to get 64-bit U-Boot up and running.
|
|
|
+
|
|
|
Updating U-Boot on Edison
|
|
|
-------------------------
|
|
|
By default Intel Edison boards are shipped with preinstalled heavily
|
|
@@ -1145,27 +1160,10 @@ to load a 'u-boot-payload.efi', see below test logs on QEMU.
|
|
|
|
|
|
See README.u-boot_on_efi and README.uefi 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. 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
|
|
|
-- Building U-Boot to run in 64-bit mode
|
|
|
|
|
|
References
|
|
|
----------
|