On Sat, 27 Aug 2022, Ard Biesheuvel wrote: > On Sat, 27 Aug 2022 at 08:32, Ard Biesheuvel <ardb@xxxxxxxxxx> wrote: > > > > On Fri, 26 Aug 2022 at 21:10, Mikulas Patocka <mpatocka@xxxxxxxxxx> wrote: > > > > > > > > > > > > On Fri, 26 Aug 2022, Ard Biesheuvel wrote: > > > > > > > Could you try booting with earlycon? > > > > > > > > Just 'earlycon' and if that does not help, > > > > > > It doesn't help. > > > > > > > 'earlycon=uart8250,mmio32,<uart PA>' [IIRC, mcbin uses 16550 > > > > compatible UARTs, right?] > > > > > > mcbin is the host system (running a stable kernel fine). The crash happens > > > in a virtual machine. The vm uses /dev/ttyAMA0 as a console: > > > > > > Serial: AMBA PL011 UART driver > > > 9000000.pl011: ttyAMA0 at MMIO 0x9000000 (irq = 45, base_baud = 0) is a PL011 rev1 > > > printk: console [ttyAMA0] enabled > > > > > > I tried earlycon=pl011,mmio32,0x9000000 - but it doesn't help, it hangs > > > without printing anything. > > > > > > > If you are using pl011, you should drop the mmio32 - it only takes a > > physical address (and optionally baud rate etc, but QEMU doesn't need > > those) > > Could you try the diff below please? > > --- a/arch/arm64/kernel/head.S > +++ b/arch/arm64/kernel/head.S > @@ -371,7 +371,9 @@ SYM_FUNC_END(create_idmap) > SYM_FUNC_START_LOCAL(create_kernel_mapping) > adrp x0, init_pg_dir > mov_q x5, KIMAGE_VADDR // compile time __va(_text) > +#ifdef CONFIG_RELOCATABLE > add x5, x5, x23 // add KASLR displacement > +#endif > adrp x6, _end // runtime __pa(_end) > adrp x3, _text // runtime __pa(_text) > sub x6, x6, x3 // _end - _text > Yes - this patch fixes the crash. Mikulas