[ARM] Cleanup startup code for primary and secondary CPUs

This patch cleans startup code of arm32 and arm32ve.

Now we have two distinct entry points for primary (i.e. _start) and secondary (i.e. _start_secondary) CPUs.

Also, primary CPU startup = lot of primary CPU initialization + secondary CPU startup hence, _start_secondary would be last part of _start.

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] arm32: Allow cpu_smp.S to be compiled for ARMv6 and ARMv7

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] realview: Add SMP support for realview-eb-mpcore board

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] Cleanup cache operations for ARMv5, ARMv6, and ARMv7 processors

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] Improve VCPU feature tracking and add support for arm11mp vcpu

Signed-off-by: Anup Patel <anup@brainfault.org>
[TESTS] Fix guest names for all possible ARM guest types

This patch makes guest naming consistent for all ARM guest types.

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] Reset CP15 VBAR register to zero upon VCPU reset

Signed-off-by: Anup Patel <anup@brainfault.org>
[TESTS] Add support for ARMv6 guest in Basic test common code

This patch primarily add ARMv6 support in common code of Basic test.

It also does cleanups in Basic test for Realview-PB-A8, VExpress-A9, and VExpress-A15 guests.

Signed-off-by: Anup Patel <anup@brainfault.org>
[TESTS] Improve iosection entry creation of arm_mmu_setup() in basic test common code

Signed-off-by: Anup Patel <anup@brainfault.org>
[TESTS] Add basic tests for Realview-EB-MPCore guest

Signed-off-by: Anup Patel <anup@brainfault.org>
[EMULATORS] Rename a9mpcore_priv emulator to a9mpcore emulator

Signed-off-by: Anup Patel <anup@brainfault.org>
[EMULATORS] Update config and makefile for a9mpcore emulator

This patch compensates missing changes in previous patch which renames a9mpcore_priv emulator to a9mpcore emulator.

Signed-off-by: Anup Patel <anup@brainfault.org>
[EMULATORS] Add support for arm11mpcore compatible gic

Signed-off-by: Anup Patel <anup@brainfault.org>
[EMULATORS] Add support for vexpress-a15 and realview-eb-mpcore compatible arm_sysregs

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] arm32: Add support for ARMv6 and ARMv6k MMU emulation

Signed-off-by: Anup Patel <anup@brainfault.org>
[TESTS] Fix IRQ numbers used for VirtIO devices on Realview-EB-MPCore guest

Signed-off-by: Anup Patel <anup@brainfault.org>
[EMULATORS] Add arm11mpcore emulator for Realview-EB-MPCore guest

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] Add Realview-EB-MPCore guest template

Signed-off-by: Anup Patel <anup@brainfault.org>
[EMULATORS] Use guest->vcpu_count for number of VCPUs in a guest instance

The GIC emulator and MPCore emulators were depending on device tree node attributes for determining the number of VCPUs in a guest instance, which is not the best way to do it.

To get number of VCPUs in a guest instance we should use vcpu_count member of guest instance (i.e. guest->vcpu_count)

This patch updates emulators to use guest->vcpu_count.

Signed-off-by: Anup Patel <anup@brainfault.org>
[TESTS] Simplify arm_board_reset() for realview-eb-mpcore and realview-pb-a8 basic test

Signed-off-by: Anup Patel <anup@brainfault.org>