summaryrefslogtreecommitdiff
path: root/payloads/libpayload/arch
diff options
context:
space:
mode:
Diffstat (limited to 'payloads/libpayload/arch')
-rw-r--r--payloads/libpayload/arch/arm64/Config.in4
-rw-r--r--payloads/libpayload/arch/arm64/mmu.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/payloads/libpayload/arch/arm64/Config.in b/payloads/libpayload/arch/arm64/Config.in
index 0f2596c452..d2f8e5675a 100644
--- a/payloads/libpayload/arch/arm64/Config.in
+++ b/payloads/libpayload/arch/arm64/Config.in
@@ -33,4 +33,8 @@ config ARCH_SPECIFIC_OPTIONS # dummy
def_bool y
select LITTLE_ENDIAN
+config DMA_LIM_EXCL
+ hex "DMA address limit(exclusive) in MiB units"
+ default 0x1000
+
endif
diff --git a/payloads/libpayload/arch/arm64/mmu.c b/payloads/libpayload/arch/arm64/mmu.c
index da2127d0da..adbee0f4b8 100644
--- a/payloads/libpayload/arch/arm64/mmu.c
+++ b/payloads/libpayload/arch/arm64/mmu.c
@@ -609,7 +609,7 @@ static struct mmu_memrange *mmu_add_dma_range(struct mmu_ranges *mmu_ranges)
/* DMA_DEFAULT_SIZE is multiple of GRANULE_SIZE */
assert((DMA_DEFAULT_SIZE % GRANULE_SIZE) == 0);
prop.size = DMA_DEFAULT_SIZE;
- prop.lim_excl = MIN_64_BIT_ADDR;
+ prop.lim_excl = (uint64_t)CONFIG_LP_DMA_LIM_EXCL * MiB;
prop.align = GRANULE_SIZE;
prop.is_valid_range = NULL;
prop.src_type = TYPE_NORMAL_MEM;