[ARM] arm64: Low-level context switching of generic timer register

Just like arm32ve port, we context switch generic timer registers
in assembly code to have faster switching.

Signed-off-by: Anup Patel <anup@brainfault.org>
[TESTS] Syncup guest linux-3.16 defconfigs

The Linux-3.16 is now out of RC-mode and is released on kernel.org
hence we syncup all linux-3.16 defconfigs based on released linux-3.16.

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] arm32: Avoid redundant TLB invalidates while managing VTLB

Currently, cpu_mmu_unmap_l2tbl_page() and cpu_mmu_sync_ttbr() both
does TLB invalidate on host. This is bit redundant and so we optimize
by only invalidating host TLBs via cpu_mmu_sync_ttbr() while
managing VTLB.

Signed-off-by: Anup Patel <anup@brainfault.org>
Merge remote-tracking branch 'upstream/master' into imx6
[ARM] arm32: More improvements to VTLB emulation

This patch does following improvments to VTLB emulation:
1. Simplify VTLB zone configuration macros
2. No need for "ng" field in struct arm_vtlb_entry
3. Use separate function to invalidate TLB entry by VA and ASID

Signed-off-by: Anup Patel <anup@brainfault.org>
Merge remote-tracking branch 'upstream/master' into imx6
[ARM] arm32: Minor improvements to ARM hypercall instruction emulation

This patch does improvements and cosmetic changes to ARM hypercall
instruction emulation by micro-optimizing functions involved in
hypercall instruction emulation.

This patch achieves an increase of 20-30 DMIPS in Guest Linux and
boot-time reduction of 1-2 seconds for Guest Linux when tested
on QEMU.

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