[ARM] Support for bootloader provided DTB files

To achieve linux-compatible dtb-based boot-flow, we verify and preserve
the dtb file provided by the bootloader. This is done by overwriting the
builtin dtb post basic sanity checks on the possible dtb pointer in r2.

In arm32ve fastmodel boot-code we do not pass any external dtb, so we
ensure that the GPRs r0-r2 reflect the same.

Signed-off-by: Sukanto Ghosh <sukantoghosh@gmail.com>
Merge pull request #23 from hschauhan/x86-next

X86 next
[ARM] Zero-out bss section at booting time

This patch ensure that bss section is zeroed out at booting time.

This zeroing of bss section is very important for real HW since
it ensures predictable contents in bss section.

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] Fix external DTB loading at bootup time

The patch "[ARM] Zero-out bss section at booting time" with
commit ab4688ba40ddc417f1e5b0d6cd8afd9b895d584e corrupts the
address of externally provided DTB via bootloader.

This patch fixes this issue by explicity loading address of
external DTB from _boot_reg2.

Signed-off-by: Anup Patel <anup@brainfault.org>
[DOCS] Update v0.2.2 release notes for arm32 and arm32ve

Signed-off-by: Anup Patel <anup@brainfault.org>
Merge branch 'x86-next', remote-tracking branch 'upstream/master' into x86-next
[CORE] stdio: Add support for early prints.

arch_defterm_early_putc does prints to early console.
The console can be setup using the early_params patch
sent earlier. early prints are used only when architecture
defines ARCH_HAS_DEFTERM_EARLY_PRINT

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] Add no space error code (ENOSPC & VMM_NOESPC)

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[LIBS] Add isspace and whitespace removal function

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[CORE] Add macros for used and aligned gcc attributes

__used, __aligned(x), and __section(section_name)

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[CORE] Add support for early parameter parsing

Early parameters passed with command line can be parsed
with this infrastructure and associated action can be taken.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
Signed-off-by: Anup Patel <anup@brainfault.org>
[DOCS] Update v0.2.2 release notes for recent feature addition

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] devtree: Add bootargs attribute for passing early parameters via DTB

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] Parse bootargs in arch_cpu_early_init()

Bootargs for Xvisor ARM would be passed via DTB so we parse them
in arch_cpu_early_init() where device tree is already available.

Signed-off-by: Anup Patel <anup@brainfault.org>
Merge branch 'x86-next', remote-tracking branch 'upstream/master' into x86-next
[x86] Make vga as early console.

vga is initialized as early console when earlyprint=vga
is set in commandline.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>