Lines Matching refs:in

12 the Foundation can be compiled for AArch64 by following the steps in
29 depending on a few files on the SD card. We only care about the cases in which
30 the cores boot in AArch64 mode.
35 SD card, it will load it and execute in EL2 in AArch64. Basically, it executes
39 **0x0** (instead of the default stub) and execute it in EL3 in AArch64. All
42 This means that we can use the default AArch32 kernel provided in the official
44 anything else we need is in ``armstub8.bin``. This way we can forget about the
49 that we need to make the secondary cores work in the way the kernel expects, as
50 explained in `Secondary cores`_. In practice, a small bootstrap is needed
53 To get the most out of a AArch32 kernel, we want to boot it in Hypervisor mode
54 in AArch32. This means that BL33 can't be in EL2 in AArch64 mode. The
56 is used for EL2. When using a AArch64 kernel, it should simply start in EL2.
66 file, but we can specify the address it is loaded to in ``config.txt``.
69 specified in ``config.txt``. The `Linux kernel tree`_ has information about how
70 a AArch32 Linux kernel image is loaded in ``Documentation/arm/Booting``:
74 The zImage may also be placed in system RAM and called there. The
75 kernel should be placed in the first 128MiB of RAM. It is recommended
76 that it is loaded above 32MiB in order to avoid the need to relocate
80 There are no similar restrictions for AArch64 kernels, as specified in the file
88 In the end, the images look like the following diagram when placed in memory.
135 command line passed to the kernel in ``cmdline.txt``. See the `Setup SD card`_
139 different mappings than the Arm cores in which the I/O addresses don't overlap
150 kernel. In that case, BL33 is booted in AArch32 Hypervisor mode so that it
151 can jump to the kernel in the same mode and let it take over that privilege
152 level. If BL33 was running in EL2 in AArch64 (as in the default bootflow of
153 TF-A) it could only jump to the kernel in AArch32 in Supervisor mode.
156 in ``Documentation/arm/Booting`` and ``Documentation/arm64/booting.txt``. The
168 in a low power mode permanently.
172 kernel. This mailbox is located at a different address in the AArch32 default
173 kernel than in the AArch64 kernel.
177 Also, this port of TF-A has another Trusted Mailbox in Shared BL RAM. During
178 cold boot, all secondary cores wait in a loop until they are given given an
179 address to jump to in this Mailbox (``bl31_warm_entrypoint``).
183 The payload then makes them wait in another waitloop listening from messages
198 ones in the memory map. The resulting file is ``armstub8.bin``, located in the
200 file, follow the instructions in `Setup SD card`_.
205 By default this option is 0, which means that TF-A will jump to BL33 in EL2
206 in AArch64 mode. If set to 1, it will jump to BL33 in Hypervisor in AArch32
211 needed in the build command line if this option is used. Specially useful
220 unlikely that the kernel image will fit in the space reserved for BL33 images.
221 This option can be combined with ``RPI3_BL33_IN_AARCH32`` in order to boot a
222 32-bit kernel. The only thing this option does is to set the arguments in
227 DTB in memory.
236 default, results in the following memory mappings:
283 will be generated and output to ``rot_key.pem`` in the build directory. It is
284 able to set ROT_KEY to your own key in PEM format. Also in order to build,
296 address by changing the file ``armstub8.bin``, so there's no point in using
297 TF-A in this case.
300 crash console uses the internal 16550 driver functions directly in order to be
329 However, enabling PSCI support in a 64-bit kernel is really easy. In the
333 instructions in `AArch64 kernel build instructions`_ to get a working 64-bit
365 Note that this system won't be fully 64-bit because all the tools in the
367 allows the user to run 64-bit binaries in addition to 32-bit binaries.
378 1.5 times the number of CPUs in your computer. This may take some time to
387 by the corresponding path in your computers to the ``boot`` partition of the
404 5. Follow the instructions in `Setup SD card`_ except for the step of renaming
412 untouched). They have been tested with the image available in 2018-03-13.
417 bootloader into booting the Arm cores in AArch64 mode, like TF-A needs,
424 4. To enable the serial port "Mini UART" in Linux, open ``cmdline.txt`` and add