diff options
author | Josh Boyer <jwboyer@fedoraproject.org> | 2014-07-25 10:03:52 -0400 |
---|---|---|
committer | Josh Boyer <jwboyer@fedoraproject.org> | 2014-07-25 10:04:05 -0400 |
commit | 55d061a48760562ba1cb077a229a0f2f72bb0603 (patch) | |
tree | 6a60d36b3a61b66e337517b840d574a69882c78f /kernel-arm64.patch | |
parent | d35b963d10bf461f1f3b5dd10979f895101afc9b (diff) | |
download | kernel-55d061a48760562ba1cb077a229a0f2f72bb0603.tar.gz kernel-55d061a48760562ba1cb077a229a0f2f72bb0603.tar.xz kernel-55d061a48760562ba1cb077a229a0f2f72bb0603.zip |
Linux v3.16-rc6-118-g82e13c71bc65
Diffstat (limited to 'kernel-arm64.patch')
-rw-r--r-- | kernel-arm64.patch | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/kernel-arm64.patch b/kernel-arm64.patch index 04f5fab2a..42959490a 100644 --- a/kernel-arm64.patch +++ b/kernel-arm64.patch @@ -1782,48 +1782,6 @@ index 0000000..21e68f6 +ENDPROC(__vgic_v3_get_ich_vtr_el2) + + .popsection -diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c -index f43db8a..e90c542 100644 ---- a/arch/arm64/mm/init.c -+++ b/arch/arm64/mm/init.c -@@ -60,6 +60,17 @@ static int __init early_initrd(char *p) - early_param("initrd", early_initrd); - #endif - -+/* -+ * Return the maximum physical address for ZONE_DMA (DMA_BIT_MASK(32)). It -+ * currently assumes that for memory starting above 4G, 32-bit devices will -+ * use a DMA offset. -+ */ -+static phys_addr_t max_zone_dma_phys(void) -+{ -+ phys_addr_t offset = memblock_start_of_DRAM() & GENMASK_ULL(63, 32); -+ return min(offset + (1ULL << 32), memblock_end_of_DRAM()); -+} -+ - static void __init zone_sizes_init(unsigned long min, unsigned long max) - { - struct memblock_region *reg; -@@ -70,9 +81,7 @@ static void __init zone_sizes_init(unsigned long min, unsigned long max) - - /* 4GB maximum for 32-bit only capable devices */ - if (IS_ENABLED(CONFIG_ZONE_DMA)) { -- unsigned long max_dma_phys = -- (unsigned long)(dma_to_phys(NULL, DMA_BIT_MASK(32)) + 1); -- max_dma = max(min, min(max, max_dma_phys >> PAGE_SHIFT)); -+ max_dma = PFN_DOWN(max_zone_dma_phys()); - zone_size[ZONE_DMA] = max_dma - min; - } - zone_size[ZONE_NORMAL] = max - max_dma; -@@ -146,7 +155,7 @@ void __init arm64_memblock_init(void) - - /* 4GB maximum for 32-bit only capable devices */ - if (IS_ENABLED(CONFIG_ZONE_DMA)) -- dma_phys_limit = dma_to_phys(NULL, DMA_BIT_MASK(32)) + 1; -+ dma_phys_limit = max_zone_dma_phys(); - dma_contiguous_reserve(dma_phys_limit); - - memblock_allow_resize(); diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c index 55d4ba4..deed6fa 100644 --- a/arch/ia64/kernel/process.c |