build.mk: build arm-clock stub

forgot to build the arm-clock stub, which will cause
a NULL pointer dereference when we turn the mmu on.

Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>
mmu: remove overloaded align_up and align_down

align.hh functions with the name name can be used instead
without any downside, and with the upside of less confusion.

Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>
exceptions: add accessors for pc and error

in order to share most of the fault code in core/mmu.cc,
we add accessors to get the program counter and an error
code whose interpretation is arch-dependent
(error_code for x64, ESR for AArch64).

Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>
aarch64: create initial page tables

create the initial page tables for TTBR0 / TTBR1
and set up the registers for the MMU.

Signed-off-by: Jani Kokkonen <jani.kokkonen@huawei.com>
Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>
MMU: add flush_tlb_local and flush_tlb_all

add the APIs to flush a single processor tlb or all
tlbs in the cluster.

Signed-off-by: Jani Kokkonen <jani.kokkonen@huawei.com>
Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>
mmu: implement mmu for aarch64 with refactoring of x64

Signed-off-by: Jani Kokkonen <jani.kokkonen@huawei.com>
[claudio: some fixes]
Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>
aarch64: remove most AARCH64_PORT_STUB related to MMU

also enable core/pagecache.cc in the AArch64 build.

Signed-off-by: Claudio Fontana <claudio.fontana@huawei.com>