diff options
-rw-r--r-- | payloads/libpayload/arch/arm64/Config.in | 4 | ||||
-rw-r--r-- | payloads/libpayload/arch/arm64/mmu.c | 2 | ||||
-rw-r--r-- | payloads/libpayload/configs/config.arm64-generic | 3 |
3 files changed, 7 insertions, 2 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; diff --git a/payloads/libpayload/configs/config.arm64-generic b/payloads/libpayload/configs/config.arm64-generic index aa6e2b4014..d44237ef5a 100644 --- a/payloads/libpayload/configs/config.arm64-generic +++ b/payloads/libpayload/configs/config.arm64-generic @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # libpayload version: 0.2.0 -# Wed Mar 18 16:11:01 2015 +# Sat Mar 21 13:53:09 2015 # # @@ -65,3 +65,4 @@ CONFIG_LP_USB_GEN_HUB=y CONFIG_LP_LITTLE_ENDIAN=y # CONFIG_LP_IO_ADDRESS_SPACE is not set CONFIG_LP_ARCH_SPECIFIC_OPTIONS=y +CONFIG_LP_DMA_LIM_EXCL=0x1000 |