gummiboot: add multiboot2 header option to the bootloader

read multiboot header from the kernel and parse the header tags

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: add whole and partial file loads / address tag and entry address tag parsing

fixes indentation and other minor bugs.

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: fix invalid includes and type casts

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: load the loadable segments of the ELF binary and jump to its entry point address

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: add ELF validation and partial mbi2 population

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: get EFI mmap and populate some of the MBI2 tags

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: populate the cmdline, bootloader, modules, system_table, efi mmap and end tags

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: convert EFI mmap to E820 mmap

gets the amount of lower and upper memory
populates the E820 mmap and basic meminfo tags

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: add ACPI v1/v2 support

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: add MBI2 framebuffer info

extracts the framebuffer parameters from the GOP
populates the MBI2 framebuffer tag

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: add acm option to the config

reads and loads the ACM in memory and appends it to the MBI2 tags

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: remove unused variables

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: return the CPU to protected mode before tboot handover

implements a GDT with CS32, DS32, CS16 and DS16 segment descriptors
switches the CPU operating mode to protected mode (via compatibility)
hands over execution to tboot

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: add a new config parameter for passing options to tboot

Fixes:
cmd line tag string convertion from utf-16 to utf-8
acm module tag size
eax register corruption on tboot switchover

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: add the kernel command line to the kernel module tag

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: remove all debug output

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: cosmetic fixes in preparation for RFC release

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: improve error reporting

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: fix indentation

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: fix multiboot2 header validation bug

Signed-off-by: Todor Minchev <todor.minchev@intel.com>