tummiboot: 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>
tummiboot: add whole and partial file loads

add address tag and entry address tag parsing
fix indentation
fix invalid includes and type casts

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

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

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

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

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

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

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
tummiboot: 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>
tummiboot: 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>
tummiboot: 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>
tummiboot: add a new config parameter for passing options to tboot

fix:
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>
tummiboot: add the kernel command line to the kernel module tag

remove all debug output
cosmetic fixes in preparation for RFC release

Signed-off-by: Todor Minchev <todor.minchev@intel.com>
tummiboot: improve error reporting & fix indentation

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

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