diff options
Diffstat (limited to 'payloads/libpayload/arch')
-rw-r--r-- | payloads/libpayload/arch/arm64/Config.in | 4 | ||||
-rw-r--r-- | payloads/libpayload/arch/arm64/mmu.c | 2 |
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; |