Lines Matching full:u
5 U-Boot on EFI
7 This document provides information about U-Boot running on top of EFI, either
8 as an application or just as a means of getting U-Boot onto a new platform.
29 Running U-Boot on EFI is useful in several situations:
31 - You have EFI running on a board but U-Boot does not natively support it
32 fully yet. You can boot into U-Boot from EFI and use that until U-Boot is
38 - You plan to use coreboot to boot into U-Boot but coreboot support does
39 not currently exist for your platform. In the meantime you can use U-Boot
40 on EFI and then move to U-Boot on coreboot when ready
42 - You use EFI but want to experiment with a simpler alternative like U-Boot
51 U-Boot supports running as an EFI application for 32-bit EFI only. This is
55 More usefully, U-Boot supports building itself as a payload for either 32-bit
56 or 64-bit EFI. U-Boot is packaged up and loaded in its entirety by EFI. Once
57 started, U-Boot changes to 32-bit mode (currently) and takes over the
67 To build U-Boot as an EFI application (32-bit EFI required), enable CONFIG_EFI
69 for this. Just build U-Boot as normal, e.g.
74 To build U-Boot as an EFI payload (32-bit or 64-bit EFI can be used), enable
77 and efi-x86_payload32_defconfig) are set up for this. Then build U-Boot as
85 u-boot-app.efi - U-Boot EFI application
86 u-boot-payload.efi - U-Boot EFI payload application
96 cp /path/to/u-boot*.efi /tmp/efi
100 type 'fs0:u-boot-payload.efi' to run the payload or 'fs0:u-boot-app.efi' to
104 To try it on real hardware, put u-boot-app.efi on a suitable boot medium,
107 fs0:u-boot-payload.efi
109 (or fs0:u-boot-app.efi for the application)
111 This will start the payload, copy U-Boot into RAM and start U-Boot. Note
127 For the application the whole of U-Boot is built as a shared library. The
129 functions with efi_init(), sets up U-Boot global_data, allocates memory for
130 U-Boot's malloc(), etc. and enters the normal init sequence (board_init_f()
133 Since U-Boot limits its memory access to the allocated regions very little
144 consoles will be active. Even though U-Boot does the same thing normally,
145 These are features of EFI, not U-Boot.
148 U-Boot is highly portable. Most of the difficulty is in modifying the
159 U-Boot exactly as normal for your target board, then adding the entire
165 function is called by EFI. It is responsible for copying U-Boot from its
167 U-Boot. U-Boot then starts as normal, relocates, starts all drivers, etc.
173 used by U-Boot (the payload). In fact when U-Boot starts it has all of the
179 The payload can pass information to U-Boot in the form of EFI tables. At
182 display this list. U-Boot uses the list to work out where to relocate
185 Although U-Boot can use any memory it likes, EFI marks some memory as used
186 by 'run-time services', code that hangs around while U-Boot is running and
189 fan speed. U-Boot uses only 'conventional' memory, in EFI terminology. It
195 U-Boot drivers typically don't use interrupts. Since EFI enables interrupts
196 it is possible that an interrupt will fire that U-Boot cannot handle. This
197 seems to cause problems. For this reason the U-Boot payload runs with
208 Everything else is built as a normal U-Boot, so is always 32-bit on x86 at
225 - Avoid turning off boot services in the stub. Instead allow U-Boot to make