Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm
Pull ARM fixes from Russell King: - omit EFI memory map sorting, which was recently introduced, but caused problems with the decompressor due to additional sections being emitted. - avoid unaligned load fault-generating instructions in the decompressor by switching to a private unaligned implementation. - add a symbol into the decompressor to further debug non-boot situations (ld's documentation is extremely poor for how "." works, ld doesn't seem to follow its own documentation!) - parse endian information to sparse * 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm: ARM: add debug ".edata_real" symbol ARM: 8716/1: pass endianness info to sparse efi/libstub: arm: omit sorting of the UEFI memory map ARM: 8715/1: add a private asm/unaligned.h
这个提交包含在:
@@ -350,7 +350,9 @@ void efi_get_virtmap(efi_memory_desc_t *memory_map, unsigned long map_size,
|
||||
* The easiest way to find adjacent regions is to sort the memory map
|
||||
* before traversing it.
|
||||
*/
|
||||
sort(memory_map, map_size / desc_size, desc_size, cmp_mem_desc, NULL);
|
||||
if (IS_ENABLED(CONFIG_ARM64))
|
||||
sort(memory_map, map_size / desc_size, desc_size, cmp_mem_desc,
|
||||
NULL);
|
||||
|
||||
for (l = 0; l < map_size; l += desc_size, prev = in) {
|
||||
u64 paddr, size;
|
||||
@@ -367,7 +369,8 @@ void efi_get_virtmap(efi_memory_desc_t *memory_map, unsigned long map_size,
|
||||
* a 4k page size kernel to kexec a 64k page size kernel and
|
||||
* vice versa.
|
||||
*/
|
||||
if (!regions_are_adjacent(prev, in) ||
|
||||
if ((IS_ENABLED(CONFIG_ARM64) &&
|
||||
!regions_are_adjacent(prev, in)) ||
|
||||
!regions_have_compatible_memory_type_attrs(prev, in)) {
|
||||
|
||||
paddr = round_down(in->phys_addr, SZ_64K);
|
||||
|
在新工单中引用
屏蔽一个用户