coreboot-kgpe-d16/payloads/libpayload/arch/arm64
Furquan Shaikh 39292638af 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: I8a6203e465868bc2a3e5cc377e108f36cc58e2fa
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 7695bb7afe34ea460282125a0be440e8994b01e4
Original-Change-Id: Ie0f47b7759d4ac65a6920f7f2f7502b889afda6d
Original-Signed-off-by: Furquan Shaikh <furquan@google.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/216824
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Original-Tested-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Queue: Furquan Shaikh <furquan@chromium.org>
Reviewed-on: http://review.coreboot.org/8792
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2015-03-21 13:39:35 +01:00
..
lib libpayload arm64: Add functions for {read/write}_tcr_current 2015-03-21 13:35:53 +01:00
Config.in
Makefile.inc libpayload arm64: Add support for mmu 2015-03-21 13:38:41 +01:00
cache.c libpayload arm64: Add support for mmu 2015-03-21 13:38:41 +01:00
coreboot.c libpayload arm64: Remove dependency on coreboot tables for dma areas 2015-03-21 13:38:29 +01:00
cpu.S
dummy_media.c
exception.c libpayload arm64: Make exceptions work 2015-03-21 13:35:38 +01:00
exception_asm.S libpayload arm64: Remove tight-coupling with any particular EL 2015-03-21 13:35:47 +01:00
gdb.c libpayload arm64: Make exceptions work 2015-03-21 13:35:38 +01:00
head.S libpayload arm64: Initialize exception stack 2015-03-21 13:35:33 +01:00
libpayload.ldscript libpayload arm64: Initialize exception stack 2015-03-21 13:35:33 +01:00
main.c libpayload arm64: Initialize and enable MMU 2015-03-21 13:39:35 +01:00
memcpy.S
memmove.S
memset.S libpayload arm64: Remove the DONT_USE_DC macro 2015-03-21 13:35:58 +01:00
mmu.c libpayload arm64: Add support for mmu 2015-03-21 13:38:41 +01:00
selfboot.c libpayload arm64: Add selfboot.c required by depthcharge 2015-01-09 07:07:53 +01:00
sysinfo.c libpayload arm64: Add functions for reading memranges 2015-03-21 13:36:04 +01:00
timer.c
util.S
virtual.c