[U-Boot] Fwd: Crash in U-Boot

Heinrich Schuchardt xypron.glpk at gmx.de
Sun Jun 23 15:08:08 UTC 2019


Hello Alex,

on the i.MX6 Wandboard the Kernel crashes when booting via GRUB at least
since U-Boot v2019.01. See below.

In the code for SetVirtualAddressMap I saw the that the pointer to the
list of configuration tables is adjusted:

         if ((map_start <= (uintptr_t)systab.tables) &&
             (map_end >= (uintptr_t)systab.tables)) {
                 char *ptr = (char *)systab.tables;
                 ptr += off;
                 systab.tables = (struct efi_configuration_table *)ptr;
         }

Shouldn't the pointers to the individual configuration tables be
adjusted too? I found no such code.

Best regards

Heinrich

-------- Forwarded Message --------
Subject: Re: Crash in U-Boot reported by you in IRC
Date: Sun, 23 Jun 2019 14:44:07 +0200
From: Heinrich Schuchardt <xypron.glpk at gmx.de>
To: vagrant at debian.org

Hello Vagrant,

I checked if I could reproduce you problem on a Wandboard. But it did
not show the error you reported. Instead I got a Kernel oops.

I used a Kernel with

CONFIG_DEBUG_LL=y
CONFIG_DEBUG_IMX6Q_UART=y
CONFIG_DEBUG_IMX_UART_PORT=1
CONFIG_EARLY_PRINTK=y

added and earlyprintk on the command line.

Loading Linux 4.19.34-armmp ...
Loading initial ramdisk ...
EFI stub: Booting Linux Kernel...
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services and installing virtual address map...
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.19.34-armmp (zfsdt at family) (gcc version
8.3.0 (Debian 8.3.0-5)) #1 SMP Sat Apr 13 13:34:54 CES9
[    0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7),
cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing
instruction cache
[    0.000000] OF: fdt: Machine model: Wandboard i.MX6 Quad Board rev B1
[    0.000000] OF: fdt: Ignoring memory range 0x10000000 - 0x41000000
[    0.000000] bootconsole [earlycon0] enabled
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: EFI v2.70 by Das U-Boot
[    0.000000] efi:  SMBIOS=0x8dd81000
[    0.000000] OF: fdt: Ignoring memory block 0x10000000 - 0x12000000
[    0.000000] OF: fdt: Ignoring memory block 0x12000000 - 0x1240a000
[    0.000000] OF: fdt: Ignoring memory block 0x1240a000 - 0x17d00000
[    0.000000] OF: fdt: Ignoring memory block 0x17d00000 - 0x17f00000
[    0.000000] OF: fdt: Ignoring memory block 0x17f00000 - 0x17f0c000
[    0.000000] OF: fdt: Ignoring memory block 0x17f0c000 - 0x2e1f2000
[    0.000000] OF: fdt: Ignoring memory block 0x2e1f2000 - 0x2ffff000
[    0.000000] OF: fdt: Ignoring memory range 0x2ffff000 - 0x41000000
[    0.000000] INITRD: 0x2e1f2000+0x01e0d000 is not a memory region -
disabling initrd
[    0.000000] cma: Reserved 16 MiB at 0x8e000000
[    0.000000] BUG: not creating mapping for 0x41000000 at 0x99000000 in
user region
[    0.000000] Unable to handle kernel paging request at virtual address
6fd00000
[    0.000000] pgd = (ptrval)
[    0.000000] [6fd00000] *pgd=00000000
[    0.000000] Internal error: Oops: 5 [#1] SMP ARM
[    0.000000] Modules linked in:
[    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.19.34-armmp #1
[    0.000000] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[    0.000000] PC is at fdt_check_header+0xc/0x80
[    0.000000] LR is at __unflatten_device_tree+0x4c/0x274
[    0.000000] pc : [<c0ae7ee8>]    lr : [<c0967e34>]    psr: 200000d3
[    0.000000] sp : c1201ec0  ip : c1201ed0  fp : c1201ecc
[    0.000000] r10: c1316280  r9 : 00000000  r8 : c135e1f8
[    0.000000] r7 : 00000000  r6 : 6fd00000  r5 : c1074ac0  r4 : c1074ac0
[    0.000000] r3 : c1074ac0  r2 : c135e1f8  r1 : 00000000  r0 : 6fd00000
[    0.000000] Flags: nzCv  IRQs off  FIQs off  Mode SVC_32  ISA ARM
Segment none
[    0.000000] Control: 10c5387d  Table: 6820404a  DAC: 00000051
[    0.000000] Process swapper (pid: 0, stack limit = 0x(ptrval))
[    0.000000] Stack: (0xc1201ec0 to 0xc1202000)
[    0.000000] 1ec0: c1201efc c1201ed0 c0967e34 c0ae7ee8 c1074ac0
c1074ac0 c1209900 8fffffff
[    0.000000] 1ee0: 8f797000 c1349768 e7fffcc0 c1316280 c1201f1c
c1201f00 c1075de4 c0967df4
[    0.000000] 1f00: 00000000 c1201f10 c0358188 c1082ddc c1201fa4
c1201f20 c1004a34 c1075dac
[    0.000000] 1f20: ffffffff 10c5387d c03bc990 c03bc47c c0d61538
c0d630cc c1205dcc c1201fbc
[    0.000000] 1f40: c0e330c8 fffff000 c1201fa4 c1201f58 c10220c8
c0af6cf0 c1205dcc c1205dcc
[    0.000000] 1f60: c1205dcc ffffffff c1201f94 c1201f78 c03bcd08
00000000 c1201f9c 00000000
[    0.000000] 1f80: c1205dcc c1205dcc ffffffff c1205dc0 412fc09a
10c5387d c1201ff4 c1201fa8
[    0.000000] 1fa0: c1000c2c c10040f4 00000000 00000000 00000000
00000000 00000000 c1091e40
[    0.000000] 1fc0: 00000000 00000000 00000000 c1000330 00000051
10c0387d ffffffff 17d00000
[    0.000000] 1fe0: 412fc09a 10c5387d 00000000 c1201ff8 00000000
c1000bbc 00000000 00000000
[    0.000000] [<c0ae7ee8>] (fdt_check_header) from [<c0967e34>]
(__unflatten_device_tree+0x4c/0x274)
[    0.000000] [<c0967e34>] (__unflatten_device_tree) from [<c1075de4>]
(unflatten_device_tree+0x44/0x54)
[    0.000000] [<c1075de4>] (unflatten_device_tree) from [<c1004a34>]
(setup_arch+0x94c/0xd88)
[    0.000000] [<c1004a34>] (setup_arch) from [<c1000c2c>]
(start_kernel+0x7c/0x504)
[    0.000000] [<c1000c2c>] (start_kernel) from [<00000000>] (  (null))
[    0.000000] Code: e89da800 e1a0c00d e92dd800 e24cb004 (e5903000)
[    0.000000] random: get_random_bytes called from
print_oops_end_marker+0x34/0x5c with crng_init=0
[    0.000000] ---[ end trace 0000000000000000 ]---
[    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
[    0.000000] ---[ end Kernel panic - not syncing: Attempted to kill
the idle task! ]---



More information about the U-Boot mailing list