coreboot/payloads/libpayload/arch/arm64
Furquan Shaikh 7695bb7afe libpayload arm64: Initialize and enable MMU
What this change does:
1) Initialize limited page tables as soon as we jump into libpayload. Basically
two ranges are initialized. One is for the BASE_ADDRESS and other is for the
coreboot_tables. With page tables initialized and MMU enabled, we jump into
code to parse coreboot tables.
2) Once coreboot tables are parsed and we have complete picture of the memory,
we perform a complete page table initialzation and enable MMU and then jump to
payload.

Additionally, we also:
1) Initialize DMA memory on our own depending upon the memory map. It ensures
that the DMA buffer is placed in 32-bit memory.

CQ-DEPEND=CL:216826
BUG=chrome-os-partner:31634
BRANCH=None
TEST=Compiles successfully and we are able to start execution of libpayload in
EL2 and reach kernel login prompt

Change-Id: Ie0f47b7759d4ac65a6920f7f2f7502b889afda6d
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://chromium-review.googlesource.com/216824
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Commit-Queue: Furquan Shaikh <furquan@chromium.org>
2014-09-17 01:23:49 +00:00
..
lib libpayload arm64: Add functions for {read/write}_tcr_current 2014-09-11 20:00:14 +00:00
cache.c libpayload arm64: Add support for mmu 2014-09-17 01:23:38 +00:00
Config.in
coreboot.c libpayload arm64: Add function to get coreboot table ptr 2014-09-17 01:23:33 +00:00
cpu.S
dummy_media.c
exception.c libpayload arm64: Make exceptions work 2014-08-29 21:54:54 +00:00
exception_asm.S libpayload arm64: Remove tight-coupling with any particular EL 2014-08-29 21:55:21 +00:00
gdb.c libpayload arm64: Make exceptions work 2014-08-29 21:54:54 +00:00
head.S libpayload arm64: Initialize exception stack 2014-08-29 21:54:49 +00:00
libpayload.ldscript libpayload arm64: Initialize exception stack 2014-08-29 21:54:49 +00:00
main.c libpayload arm64: Initialize and enable MMU 2014-09-17 01:23:49 +00:00
Makefile.inc libpayload arm64: Add support for mmu 2014-09-17 01:23:38 +00:00
memcpy.S
memmove.S
memset.S libpayload arm64: Remove the DONT_USE_DC macro 2014-09-11 20:00:23 +00:00
mmu.c libpayload arm64: Add support for mmu 2014-09-17 01:23:38 +00:00
selfboot.c libpayload arm64: Add selfboot.c required by depthcharge 2014-06-20 11:17:23 +00:00
sysinfo.c libpayload arm64: Add functions for reading memranges 2014-09-11 20:00:26 +00:00
timer.c
util.S
virtual.c