History log of /seL4-camkes-master/tools/seL4/elfloader-tool/src/arch-arm/64/crt0.S
Revision Date Author Comments
# 9f904ed2 06-Mar-2020 Gerwin Klein <gerwin.klein@data61.csiro.au>

convert license headers to SPDX

Includes license review of 3rd-party files, adding missing upstream
headers, and moving the UNSW OZPLB license into its own file rather
than replicating it in the header.


# eb0b02b2 10-Dec-2019 Simon Shields <simon.shields@data61.csiro.au>

elfloader: use driver model for SMP on ARM

Previously, each platform had its own implementation of init_cpus().
This is particularly cumbersome in the case of aarch64, where all
platforms which support SMP use PSCI to do so. This patch moves
SMP on ARM to be implemented using the driver model.

It introduces a new driver type, DRIVER_SMP. This driver
has a single method, `cpu_on`, which, when given an
`elfloader_cpu` struct, turns on the CPU corresponding to that struct,
launching it at the given entry point with the provided stack.

This patch also makes the aarch64 and aarch32 CPU bringup logic
much more similar. Both architectures now wait for CPUs to come up
before starting the next.

Note that the i.MX7 is left as-is, using the old mechanism, due to a
lack of hardware to test on.


# b640ba45 02-Dec-2019 Simon Shields <simon.shields@data61.csiro.au>

elfloader: move self to correct address on aarch64

The "shoehorn" tool figures out an address that the elfloader
can be linked against based on a number of parameters known at
buildtime. Unfortunately, binary (as opposed to ELF or EFI) images
have no way of communicating this assumption to the bootloader,
so the bootloader usually loads us in the wrong place. Fix this
by making the elfloader move itself (if possible) to the
correct location.


# 670e12b1 02-Dec-2019 Simon Shields <simon.shields@data61.csiro.au>

elfloader: clear bss at runtime

Currently, binary and EFI images do not zero the BSS section
before running the elfloader. This means that global variables
which we expect to be NULL at launch aren't.

Add a clear_bss function which does this for us, and call it
where appropriate.


# 65daeb20 19-May-2019 Yu Hou <Yu.Hou@data61.csiro.au>

elfloader-tool: explicitly link config libs

explicitly link kernel_autoconf and elfloader_Config
since the global config lib is going to be remove


# 0be5f226 15-Apr-2019 Simon Shields <simon.shields@data61.csiro.au>

elfloader: support relocating on ARM

Under EFI, we can't control where the ELF loader is loaded -
and so it might be loaded above the kernel's first vaddr.
If this is the case, once we turn the MMU on the ELF loader
will no longer be accessible and the system will not boot.
When this occurs, workaround it by relocating the ELF loader
below the kernel.


# 935ee687 04-Jun-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Fix licenses


# 6ae7c174 12-Jan-2017 amrzar <azarrabi@nicta.com.au>

elfloader: Update 64-bit crt0.S to use core_stack_alloc as stack also remove the unused codes


# 839aab9b 26-Jan-2016 amrzar <azarrabi@nicta.com.au>

Add efi/64bit and Hikey platforms