Messages in this thread | | | From | Ard Biesheuvel <> | Date | Wed, 30 Mar 2022 18:34:25 +0200 | Subject | Re: CONFIG_THUMB2_KERNEL=y boot failure after Spectre BHB fixes |
| |
On Wed, 30 Mar 2022 at 18:12, Russell King (Oracle) <linux@armlinux.org.uk> wrote: > > On Tue, Mar 22, 2022 at 06:49:17PM +0100, Christian Eggers wrote: > > Hi Nathan, hi Russel, > > > > I stumbled today over the same problem (no output on serial console > > with v5.15.28-rt36). During `git bisect`, I had also some commits > > where a few lines of output were visible. > > > > At commit 8d9d651ff227 ("ARM: use LOADADDR() to get load address of > > sections"), the system boots up to here: > > > > start_kernel() > > +--setup_arch() > > +--paging_init() > > +--devicemaps_init() > > +--eary_trap_init(vectors_base = 0xC7FFE000) > > +--copy_from_lma(vectors_base = 0xC7FFE000, __vectors_start=0x0, __vectors_end=0x20) > > +--__memcpy() > > > > copy_template.S:113 > > ldr8w r1, r3, r4, r5, r6, r7, r8, ip, lr, abort=20f > > r1 = 0 > > > > > > With the final v5.15.28-rt36 I found out that the system boots fine > > after disabling CONFIG_HARDEN_BRANCH_HISTORY. > > > > Is there anything else I could analyze? My SoC system is a NXP i.MX6LL > > with a ARMv7 core. I have access to a JTAG debugger. > > I think this is already fixed in mainline. Commit: > > 6c7cb60bff7a ("ARM: fix Thumb2 regression") >
It's still broken - I sent a couple of patches on Monday, among which one to fix the boot issue with loop8 on Thumb2. The problem is 'b . + 4', which produces a narrow encoding, and so it skips the subsequent subs instruction and loops forever.
| |