[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
loongson2f: 2.02-beta3 hangs, caused by memory coherence fixes
From: |
Mark H Weaver |
Subject: |
loongson2f: 2.02-beta3 hangs, caused by memory coherence fixes |
Date: |
Fri, 12 Aug 2016 14:16:08 -0400 |
On my Lemote YeeLoong 8101B (Loongson 2F), loading GRUB 2.02-beta3 from
PMON hangs early before displaying any messages. Usually the screen is
black, but occasionally there are some non-black pixels sprayed on the
screen.
Git bisect and followup investigation shows that the following two
commits, which insert calls to 'grub_arch_sync_dma_caches', cause the
problem:
* ca028db..: Vladimir Serbinenko 2016-02-23 usbtrans: Fix memory coherence and
use-after-free.
* 0f076d7..: Vladimir Serbinenko 2016-02-23 ehci: Fix memory coherence
Either one of these commits is sufficient to cause the problem.
Reverting both of them fixes it.
To be more concrete: here are the relevant commits that I tested, with
the results in the left column. The top two revert commits are local to
me, of course:
[WORKS] * (mhw)7225f8a..: Mark H Weaver 2016-08-12 Revert "usbtrans: Fix
memory coherence and use-after-free."
[HANGS] * b32f5a8..: Mark H Weaver 2016-08-12 Revert "ehci: Fix memory
coherence"
* (origin/master)c831d20..: Andrei Borzenkov 2016-07-27 at_keyboard:
fix numpad "0" and "." mapping
[...]
[HANGS] * (tag: grub-2.02-beta3, tag: 2.02-beta3)8207874..: Vladimir
Serbinenko 2016-02-28 Release 2.02~beta3
* 102e435..: Vladimir Serbinenko 2016-02-28 grub_arch_sync_dma_caches:
Accept volatile address
* 51f375d..: Leif Lindholm 2016-02-27 efidisk: Respect
block_io_protocol buffer alignment
[HANGS] * ca028db..: Vladimir Serbinenko 2016-02-23 usbtrans: Fix memory
coherence and use-after-free.
[HANGS] * 0f076d7..: Vladimir Serbinenko 2016-02-23 ehci: Fix memory coherence
[WORKS] * 86ef66d..: Vladimir Serbinenko 2016-02-19 arm-uboot: Make
self-relocatable to allow loading at any address
For each commit tested, I built it natively within an isolated container
using GNU Guix from a pristine git checkout, bootstrapped using
automake-1.15 and autoconf-2.69, and built using gcc-4.9.3,
binutils-2.25.1, and the following configure flags:
CONFIG_SHELL=/gnu/store/n847hk4c1hiiyhk3z7k6kmm8dp96m7f4-bash-4.3.42/bin/bash
SHELL=/gnu/store/n847hk4c1hiiyhk3z7k6kmm8dp96m7f4-bash-4.3.42/bin/bash
--prefix=/gnu/store/4rrig6mzndi49yjg586a7nwkqkr7mc0z-grub-2.02beta2-g7225f8a
--enable-fast-install
--build=mips64el-unknown-linux-gnu
--disable-werror
(although the hash components of the --prefix varied)
I've attached the complete build log for commit 7225f8a below. If it
would be helpful, I can provide the build outputs for any of these
commits, or describe how to reproduce the exact same builds on your MIPS
or Loongson-based machine using GNU Guix.
Thanks,
Mark
r3m4qjwl3j9wksxlwc3jzj622yd330-grub-2.02beta2-g7225f8a.drv.bz2
Description: Build log
- loongson2f: 2.02-beta3 hangs, caused by memory coherence fixes,
Mark H Weaver <=