gummiboot: adds 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: adds 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: fixes invalid includes and type casts.

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

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

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

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

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: converts 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: adds ACPI v1/v2 support

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: adds 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: adds 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: removes unused variables

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: returns 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: adds 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: adds the kernel command line to the kernel module tag

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
gummiboot: removes 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>