[arch][arm] turn on linker GC for big arm by default
[kernel] fix a warning that shows up with DEBUG=0
[app][tests] add new memory test

-Use the VMM to allocate a large chunk of uncached physical memory
-if no VMM, allocate from heap
-Do a simple own address test then a pattern and moving inversion test
[arm64] fix minor issue in the interrupt function

1.don't update F bit in arch_[dis|en]able_ints
2.get interrupt flag through daif instead of cspr

Change-Id: I1dbbe9493e1036a25095226f44607a5e3d62aaab
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
[arm64] implement fiq arch function

Change-Id: Iecbb55c13f00ea8eacf0db74112df6889a71d444
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
[arm64] always use gcc builtin atomic operation

and remove the inline assemble code because they can't build with a64

Change-Id: Ia2ada6ab5c670ba97fd6260b7085e068d282417e
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
[arm] don't use strexeq which is arm only inst in atomic_cmpxchg

because atomic_cmpxchg may inline in the thumb compiler environment

Change-Id: Ifc424327211859662866022c1a9dec30618f72e6
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
[kernel] move spinlock out of arch/arm/include/arch/arch_ops.h

because spinlock could implement in all supported arch

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>

Change-Id: Icfb0bfbd569320cc6b3f4dc13b39f73a45ae1f92
[arm_gic] remove arm 32bit specific code

so the same driver could work on both 32bit and 64bit platform

Change-Id: I6955300ee40e43a3dbc853cd24328ceb94657468
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Revert "[app][aboot] remove some old Google code that hasn't been used in a while"

Bring back the aboot support again.
This reverts commit 8c6807188c07127df3ae1603af72a32fc9627b9f.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>

Conflicts:
	include/lib/ptable.h
	lib/ptable/ptable.c
	lib/ptable/rules.mk

Change-Id: I2f0ea48410d75d53f29fd4f2e0fcd7b4194572ea
[lib][partition] put partition related code into one folder

so the code organization more clearer:
1.move lib/partition to lib/partition/mbr
2.move lib/ptable to lib/partition/ptable
3.update rules.mk to pointer the new location

Change-Id: I0d173acc7bacd23c890caffbf4049e9fe91fa31c
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
[lib][ptable] support access table entry by index

Change-Id: I8e5fc9c7d1ce9364d7926e901f0f42a73fa8ab01
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
[app][aboot] port to the new ptable interface

Change-Id: Ia681906e2aa7f428b6eb7a5d3825b18daaf46faa
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
[time] support mdelay and udelay function

Change-Id: Iaddec5e8c87d24f2d9490ea0e483c8a439609d2d
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
provide linux-style read[w|b]()/write[w|b]() in reg.h

Change-Id: I1ed607a9703e9e19ce78b0b27dd4ddeaf86bad59
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
[vm] add vaddr_to_paddr function

and make paddr_to_kvaddr/vaddr_to_paddr is callable even without vm

Change-Id: I8e2e670e93ae9afc04dd8d0ef3ae4fa5982d6564
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
[arch] move the common code from arch_chain_load to chain_load

and support chain_load for the no vm case

Change-Id: Idbdb40b39b98c7fb80ed4b4d1ac0efb0171875f8
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
[arch] support chain_load with arguments(max 4)

arch specified code need pass these arguments to
the entry pointer with the suitable approach

Change-Id: I1204b87de9b81ee81526b402a20eeef2774e5774
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
[vm] remove __MMU_INITIAL_MAPPING_XXXX_OFFSET and related STATIC_ASSERT

because these definition isn't suitable for 64bit cpu and make compiler error

Change-Id: Ic896b62b5545e89b52324a49c03430aae73f9cb7
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
[app][aboot] ensure aboot work well for no identity mapping

by replace pointer cast with paddr_to_kvaddr/vaddr_to_paddr/chain_load3
and get the address from boot image header instead of the hardcode value

Change-Id: I5b9ce69ca2d23997948631f2b5807d24762b1cc2
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>