| /* |
| * Early initialization code for aarch64 (a.k.a. armv8) |
| * |
| * Copyright 2015 Google Inc. |
| * |
| * This program is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU General Public License as |
| * published by the Free Software Foundation; version 2 of |
| * the License. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| */ |
| |
| #include <arch/asm.h> |
| |
| /* NOTE: When making changes to general ARM64 initialization, keep in mind that |
| * there are other CPU entry points, using BOOTBLOCK_CUSTOM or entering the CPU |
| * in a later stage (like Tegra). Changes should generally be put into |
| * arm64_cpu_init so they can be shared between those instances. */ |
| |
| ENTRY(_start) |
| /* Initialize PSTATE, SCTLR and caches to clean state, set up stack. */ |
| bl arm64_init_cpu |
| |
| bl main |
| ENDPROC(_start) |