zephyr/arch/x86
Andy Ross 928d31125f arch/x86: Add zefi, an EFI stub/packer/wrappper/loader
This is a first cut on a tool that will convert a built Zephyr ELF
file into an EFI applciation suitable for launching directly from the
firmware of a UEFI-capable device, without the need for an external
bootloader.

It works by including the Zephyr sections into the EFI binary as
blobs, then copying them into place on startup.

Currently, it is not integrated in the build.  Right now you have to
build an image for your target (up_squared has been tested) and then
pass the resulting zephyr.elf file as an argument to the
arch/x86/zefi/zefi.py script.  It will produce a "zephyr.efi" file in
the current directory.

This involved a little surgery in x86_64 to copy over some setup that
was previously being done in 32 bit mode to a new EFI entry point.
There is no support for 32 bit UEFI targets for toolchain reasons.

See the README for more details.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2020-07-02 09:10:01 -04:00
..
core arch/x86: Add zefi, an EFI stub/packer/wrappper/loader 2020-07-02 09:10:01 -04:00
include zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
zefi arch/x86: Add zefi, an EFI stub/packer/wrappper/loader 2020-07-02 09:10:01 -04:00
CMakeLists.txt x86: consolidate x86_64 architecture, SoC and boards 2019-10-25 17:57:55 -04:00
gen_gdt.py
gen_idt.py x86: gen_idt.py: typo fix 2020-05-21 14:44:33 +02:00
ia32.cmake
intel64.cmake
Kconfig arch/x86: Add support for PCI MMIO configuration access 2020-06-23 13:07:39 +02:00