[ARM] Fix VTEMU creation in arch_board_final_init()

With recent updates in drivers/video/fbmem.c results in fb_info
instances with name fb0, fb1, ..., fbX. There is no relation between
device tree node name and fb_info instance name hence we create VTEMU
instance with same name as fb_info instance (i.e. fb0, fb1, ..., fbX).

Signed-off-by: Anup Patel <anup@brainfault.org>
[TESTS] Explicitly specify 256M RAM when launching Xvisor on QEMU

QEMU by default only provides 128MB of RAM and there would be many
cases (e.g. more than one guest) where Xvisor would require RAM
greater than 128MB.

Currenlty, for all supported ARM host emulated by QEMU have atleast
256MB hence, with this patch update documentation to explicitly
specify 256M RAM when launching Xvisor on QEMU.

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] Provide SRAM & VIDEORAM regions for VExpress-A9 & VExpress-A15 guest

Both VExpress-A9 & VExpress-A15 have SRAM and VIDEORAM regions which is
required for GUI-based OSes (such as Android) hence this patch adds these
RAM regions to guest template of VExpress-A9 and VExpress-A15 guest.

Signed-off-by: Anup Patel <anup@brainfault.org>
[TESTS] Use SRAM for basic firmware on VExpress-A9 & VExpress-A15 guests

We have 32MB SRAM available for both VExpress-A9 and VExpress-A15 guests
hence we can use this SRAM for basic firmware instead of running basic
firmware from normal RAM.

Signed-off-by: Anup Patel <anup@brainfault.org>
Merge remote-tracking branch 'upstream/master' into A20
[CORE] Make vmm_host_ram_alloc() more generic

Currently, vmm_host_ram_alloc() allocates RAM aligned to page size or
aligned to request size itself. This is very inflexible because we may
want to allocate XYZ MB of host RAM aligned to ABC boundary.

This patch makes vmm_host_ram_alloc() flexible enough so that we can
allocate host RAM algined to 2^align_order boundary where align_order
is specified as parameter of vmm_host_ram_alloc().

Signed-off-by: Anup Patel <anup@brainfault.org>
[COMMANDS] vfs: Introduce host_load and guest_load sub-commands

Currently, the "vfs load" sub-command only loaded file contents to a
specific location of host memory but this is not very useful.

In general, we would like to have a vfs sub-commands capable of loading
file contents to specific location of host memory or specific location
of guest memory.

This patch replaces "vfs load" sub-command with two sub-commands namely
"vfs host_load" and "vfs guest_load".

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] Minor improvements to vmm_host_ram_alloc()

This patch does minor improvements to sanity checks in vmm_host_ram_alloc().

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] Add 'alloced_ram' and 'alloced_rom' regions

Currently, we only have 'ram' and 'rom' regions for specifying
memory and this region types forces us to specify host_physcial_addr
in device tree itself.

The above may be functionally good but users will not like to specify
host_physical_addr for every RAM and ROM regions.

This patch adds 'alloced_ram' and 'alloced_rom' device types so that
user can specify RAM and ROM regions which will have host_physical_addr
alloced from host RAM with given alignment order.

Signed-off-by: Anup Patel <anup@brainfault.org>
Merge remote-tracking branch 'upstream/master' into A20