On Fri, Oct 27, 2017 at 05:12:58PM +0200, Matthias Brugger wrote: > Hi Ard, > > On 10/22/2017 04:14 PM, Ard Biesheuvel wrote: > > ARM shares its EFI stub implementation with arm64, which has some > > special handling in the virtual remapping code to > > a) make sure that we can map everything even if the OS executes > > with 64k page size, and > > b) make sure that adjacent regions with the same attributes are not > > reordered or moved apart in memory. > > > > The latter is a workaround for a 'feature' that was shortly recommended > > by UEFI spec v2.5, but deprecated shortly after, due to the fact that > > it broke many OS installers, including non-Linux ones, and it was never > > widely implemented for ARM systems. Before implementing b), the arm64 > > code simply rounded up all regions to 64 KB granularity, but given that > > that results in moving adjacent regions apart, it had to be refined when > > b) was implemented. > > > > The adjacency check requires a sort() pass, due to the fact that the > > UEFI spec does not mandate any ordering, and the inclusion of the > > lib/sort.c code into the ARM EFI stub is causing some trouble with > > the decompressor build due to the fact that its EXPORT_SYMBOL() call > > triggers the creation of ksymtab/kcrctab sections. > > > > So let's simply do away with the adjacency check for ARM, and simply put > > all UEFI runtime regions together if they have the same memory attributes. > > This is guaranteed to work, given that ARM only supports 4 KB pages, > > and allows us to remove the sort() call entirely. > > > > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> > > --- > > drivers/firmware/efi/libstub/Makefile | 6 +++--- > > drivers/firmware/efi/libstub/arm-stub.c | 7 +++++-- > > 2 files changed, 8 insertions(+), 5 deletions(-) > > > > I thought I already provided my tag, but just in case: > This fixes the boot problems I had on the bananapi-r2. > > Tested-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Please test my "fixes" branch - that has all three patches merged. We don't have linux-next running at the moment, so folk need to be manually fetching the appropriate git trees for testing. -- RMK's Patch system: http://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line in suburbia: sync at 8.8Mbps down 630kbps up According to speedtest.net: 8.21Mbps down 510kbps up -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html