BOOTARM.EFI from latest snapshot resets with "undefined instruction"

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

BOOTARM.EFI from latest snapshot resets with "undefined instruction"

Josh Elsasser
After upgrading my sabre lite board to the latest snapshot,
BOOTARM.EFI causes the machine to reset. Building the bootloader with
-msoft-float, however, gives a working binary. Perhaps this is a
result of the recent armv7 float ABI change?

Below is a console log of the non-working BOOTARM.EFI:


U-Boot 2017.07-28647-g66aadfb (Jan 24 2018 - 15:46:14 -0800), Build: jenkins-uboot_v2017.07-66

CPU:   Freescale i.MX6Q rev1.2 at 792 MHz
Reset cause: WDOG
Board: nitrogen6x
I2C:   ready
DRAM:  1 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
SF: Detected sst25vf016b with page size 256 Bytes, erase size 4 KiB, total 2 MiB
Display: hdmi:1280x720M@60 (1280x720)
In:    serial
Out:   serial
Err:   serial
Net:   Micrel ksz9021 at 6
FEC [PRIME], usb_ether
Hit any key to stop autoboot:  0
AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: ncq stag pm led clo only pmp pio slum part
SATA Device Info:
S/N: CVSC2251009T080D
Product model number: INTEL SSDMAEMC080G2
Firmware version: 2CV102M3
Capacity: 156301488 sectors

Device 0: Model: INTEL SSDMAEMC080G2 Firm: 2CV102M3 Ser#: CVSC2251009T080D
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 76319.0 MB = 74.5 GB (156301488 x 512)
... is now current device
Scanning sata 0:1...
reading /imx6q-sabrelite.dtb
43023 bytes read in 6 ms (6.8 MiB/s)
Found EFI removable media binary efi/boot/bootarm.efi
reading efi/boot/bootarm.efi
87652 bytes read in 8 ms (10.4 MiB/s)
## Starting EFI application at 12000000 ...
Scanning disks on usb...
Scanning disks on mmc...
MMC: no card present
mmc_init: -123, time 1
MMC: no card present
mmc_init: -123, time 1
MMC Device 2 not found
MMC Device 3 not found
Scanning disks on sata...
Found 5 disks
>> OpenBSD/armv7 BOOTARM 1.1
undefined instruction
pc : [<4e31a874>]          lr : [<4f32ac70>]
reloc pc : [<15bec874>]    lr : [<16bfcc70>]
sp : 4f32ac50  ip : 4e213000     fp : 4f32ac60
r10: 18000000  r9 : 00000065     r8 : 4e327040
r7 : 4e213000  r6 : 4f32ac70     r5 : 4e2131f0  r4 : 4f32ae60
r3 : 00000000  r2 : fffffff0     r1 : 00000200  r0 : 4f32ac70
Flags: Nzcv  IRQs off  FIQs off  Mode SVC_32
Resetting CPU ...

resetting ...

Reply | Threaded
Open this post in threaded view
|

Re: BOOTARM.EFI from latest snapshot resets with "undefined instruction"

Mark Kettenis
> Date: Tue, 8 May 2018 13:06:30 -0700
> From: Josh Elsasser <[hidden email]>
>
> After upgrading my sabre lite board to the latest snapshot,
> BOOTARM.EFI causes the machine to reset. Building the bootloader with
> -msoft-float, however, gives a working binary. Perhaps this is a
> result of the recent armv7 float ABI change?

Yes that almost certainly is the right solution.

> Below is a console log of the non-working BOOTARM.EFI:
>
>
> U-Boot 2017.07-28647-g66aadfb (Jan 24 2018 - 15:46:14 -0800), Build: jenkins-uboot_v2017.07-66
>
> CPU:   Freescale i.MX6Q rev1.2 at 792 MHz
> Reset cause: WDOG
> Board: nitrogen6x
> I2C:   ready
> DRAM:  1 GiB
> MMC:   FSL_SDHC: 0, FSL_SDHC: 1
> SF: Detected sst25vf016b with page size 256 Bytes, erase size 4 KiB, total 2 MiB
> Display: hdmi:1280x720M@60 (1280x720)
> In:    serial
> Out:   serial
> Err:   serial
> Net:   Micrel ksz9021 at 6
> FEC [PRIME], usb_ether
> Hit any key to stop autoboot:  0
> AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
> flags: ncq stag pm led clo only pmp pio slum part
> SATA Device Info:
> S/N: CVSC2251009T080D
> Product model number: INTEL SSDMAEMC080G2
> Firmware version: 2CV102M3
> Capacity: 156301488 sectors
>
> Device 0: Model: INTEL SSDMAEMC080G2 Firm: 2CV102M3 Ser#: CVSC2251009T080D
>             Type: Hard Disk
>             Supports 48-bit addressing
>             Capacity: 76319.0 MB = 74.5 GB (156301488 x 512)
> ... is now current device
> Scanning sata 0:1...
> reading /imx6q-sabrelite.dtb
> 43023 bytes read in 6 ms (6.8 MiB/s)
> Found EFI removable media binary efi/boot/bootarm.efi
> reading efi/boot/bootarm.efi
> 87652 bytes read in 8 ms (10.4 MiB/s)
> ## Starting EFI application at 12000000 ...
> Scanning disks on usb...
> Scanning disks on mmc...
> MMC: no card present
> mmc_init: -123, time 1
> MMC: no card present
> mmc_init: -123, time 1
> MMC Device 2 not found
> MMC Device 3 not found
> Scanning disks on sata...
> Found 5 disks
> >> OpenBSD/armv7 BOOTARM 1.1
> undefined instruction
> pc : [<4e31a874>]          lr : [<4f32ac70>]
> reloc pc : [<15bec874>]    lr : [<16bfcc70>]
> sp : 4f32ac50  ip : 4e213000     fp : 4f32ac60
> r10: 18000000  r9 : 00000065     r8 : 4e327040
> r7 : 4e213000  r6 : 4f32ac70     r5 : 4e2131f0  r4 : 4f32ae60
> r3 : 00000000  r2 : fffffff0     r1 : 00000200  r0 : 4f32ac70
> Flags: Nzcv  IRQs off  FIQs off  Mode SVC_32
> Resetting CPU ...
>
> resetting ...
>
>