Merge branch 'master' of git://git.denx.de/u-boot-ti
[platform/kernel/u-boot.git] / doc / README.arm64
1 U-boot for arm64
2
3 Summary
4 =======
5 No hardware platform of arm64 is available now. The u-boot is
6 simulated on Foundation Model and Fast Model for ARMv8.
7
8 Notes
9 =====
10
11 1. Currenly, u-boot run at the highest exception level processor
12    supported and jump to EL2 or optionally EL1 before enter OS.
13
14 2. U-boot for arm64 is compiled with AArch64-gcc. AArch64-gcc
15    use rela relocation format, a tool(tools/relocate-rela) by Scott Wood
16    is used to encode the initial addend of rela to u-boot.bin. After running,
17    the u-boot will be relocated to destination again.
18
19 3. Fdt should be placed at a 2-megabyte boundary and within the first 512
20    megabytes from the start of the kernel image. So, fdt_high should be
21    defined specially.
22    Please reference linux/Documentation/arm64/booting.txt for detail.
23
24 4. Spin-table is used to wake up secondary processors. One location
25    (or per processor location) is defined to hold the kernel entry point
26    for secondary processors. It must be ensured that the location is
27    accessible and zero immediately after secondary processor
28    enter slave_cpu branch execution in start.S. The location address
29    is encoded in cpu node of DTS. Linux kernel store the entry point
30    of secondary processors to it and send event to wakeup secondary
31    processors.
32    Please reference linux/Documentation/arm64/booting.txt for detail.
33
34 5. Generic board is supported.
35
36 6. CONFIG_ARM64 instead of CONFIG_ARMV8 is used to distinguish aarch64 and
37    aarch32 specific codes.
38
39 Contributor
40 ===========
41    Tom Rini       <trini@ti.com>
42    Scott Wood     <scottwood@freescale.com>
43    York Sun       <yorksun@freescale.com>
44    Simon Glass    <sjg@chromium.org>
45    Sharma Bhupesh <bhupesh.sharma@freescale.com>
46    Rob Herring    <robherring2@gmail.com>