Unfortunately we cannot do this yet, as when booting with QEMU the
devicetree is provided at the start of memory. Until we have a built-in
way to handle copying this, we must retain the fdt_addr variable.
This reverts commit acc02734be265e92ec88ace5ac097ccb3099d40f.
Signed-off-by: Simon Glass <sjg@chromium.org>
This variable is not needed in the ARM app and can be confusing since
there might not be memory at this location. Drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
The compatible string cannot be detected on the host so is not shown by
fupdtool. Add a simple text file to provide the mapping.
Signed-off-by: Simon Glass <sjg@chromium.org>
Provide some CHIDs for the app, so it can locate the compatible strings.
These are taken from Stubble commit bac4edb14be, with the original files
generated by running 'fwupdtool hwids' on each device.
Signed-off-by: Simon Glass <sjg@chromium.org>
When running under QEMU the FDT is available at the start of RAM. Set
fdt_addr to this address, so that the FDT can be passed onto the OS.
If the OS provides its own devicetree, that is used instead of the QEMU
one.
Signed-off-by: Simon Glass <sjg@chromium.org>
When the app is booting a kernel without using EFI, it must first exit
the boot services provided by EFI. Add a hook for this, using
bootm_final()
Signed-off-by: Simon Glass <sjg@chromium.org>
This patches tidies up a few things in the recently added EFI app for
ARM:
- Use 0 as the value for SYS_LOAD_ADDR
- Reword help for TARGET_EFI_ARM_APP64
- Do the same for x86-app targets, for consistency
- Delete efi-arm_app32 MAINTAINERS entry since there is no such thing
Signed-off-by: Simon Glass <sjg@chromium.org>
Suggested-by: Caleb Connolly <caleb.connolly@linaro.org>
Introduce an EFI app for arm64 and update the documentation.
Provide a value for LOAD_ADDR to avoid a link error.
Signed-off-by: Simon Glass <sjg@chromium.org>
We don't need to manually add the PE header, since binutils has support
for this now. Remove it to simplify the file.
Set the link-target to efi-app-aarch64 so that binutils knows what to
do. Add rules to pick up the arm64 files.
Make some updates to the link-script for arm64, so this all works:
- Pass .hash .eh_frame and .reloc sections through to objcopy
- Put RELA pieces into a single section
- Put linker lists into .data
- Embed the dtb
Add a config.mk fragment into the baord directory.
Note that it does not seem to be possible to use this approach with
32-bit ARM, so this is left alone.
Signed-off-by: Simon Glass <sjg@chromium.org>