
Am 23.06.2016 um 07:30 schrieb Prabhakar Kushwaha prabhakar.kushwaha@nxp.com:
Hi Alex,
-----Original Message----- From: Alexander Graf [mailto:agraf@suse.de] Sent: Tuesday, June 21, 2016 4:37 AM To: u-boot@lists.denx.de Cc: york sun york.sun@nxp.com; Prabhakar Kushwaha prabhakar.kushwaha@nxp.com Subject: [PATCH v4 0/9] LS2080ARDB: Enable EFI boot support
We now have EFI support in U-Boot which worked out of the box on all systems that I tried it on so far. Except for the LS2080ARDB. With this patch set I can successfully boot grub2 and Linux from there on such a system - even using PXE.
v3 -> v4:
- Add CONFIG_CMD_FS_GENERIC to defconfig
- Move code into generic quiesce weak function
- Exit device for real when going to Linux
- Only apply DPL if we have something to apply
- New: armv8: ls2080a: Declare spin tables as reserved for efi loader
- New: efi_loader: Allow boards to implement get_time and reset_system
- New: armv8: fsl-layerscape: Add support for efi_loader RTS reset
- New: efi_loader: Declare secure memory as reserved
- New: efi_loader: Allow bouncing for network
Alexander Graf (9): ls2080: Exit dpaa only right before exiting U-Boot efi_loader: AArch64: Run EFI payloads in EL2 if U-Boot runs in EL3 ls2080ardb: Reserve DP-DDR RAM ls2080ardb: Convert to distro boot armv8: ls2080a: Declare spin tables as reserved for efi loader efi_loader: Allow boards to implement get_time and reset_system armv8: fsl-layerscape: Add support for efi_loader RTS reset efi_loader: Declare secure memory as reserved efi_loader: Allow bouncing for network
arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 33 +++++++++- arch/arm/cpu/armv8/fsl-layerscape/fdt.c | 6 ++ arch/arm/include/asm/armv8/mmu.h | 19 +++--- arch/arm/include/asm/u-boot-arm.h | 1 + arch/arm/lib/bootm.c | 7 +++ board/freescale/ls2080a/ls2080a.c | 6 +- board/freescale/ls2080aqds/ls2080aqds.c | 11 ++-- board/freescale/ls2080ardb/ls2080ardb.c | 20 ++++-- cmd/bootefi.c | 15 +++++ configs/ls2080a_emu_defconfig | 1 + configs/ls2080a_simu_defconfig | 1 + configs/ls2080aqds_SECURE_BOOT_defconfig | 1 + configs/ls2080aqds_defconfig | 1 + configs/ls2080aqds_nand_defconfig | 1 + configs/ls2080ardb_SECURE_BOOT_defconfig | 1 + configs/ls2080ardb_defconfig | 1 + configs/ls2080ardb_nand_defconfig | 1 + drivers/net/fsl-mc/mc.c | 24 +++++++- include/configs/ls2080ardb.h | 26 +++++++- include/efi_loader.h | 18 ++++++ lib/efi_loader/efi_boottime.c | 2 + lib/efi_loader/efi_memory.c | 15 +++++ lib/efi_loader/efi_net.c | 7 +++ lib/efi_loader/efi_runtime.c | 101 +++++++++++++++++++++++++++-
I am testing your patch set on ls2080ardb. Observation:-
- Linux boot no more crashing with e1000#0, DPMAC5@XSGMII. Even tried with default bootcmd.
- Grub2 crash while booting :(
I have applied your patch on top of commit " 9f823615af919c6b89f0b80197f009f78299dcde"
Please find log below.
=> usb start starting USB... USB0: Register 200017f NbrPorts 2 Starting the controller USB XHCI 1.00 scanning bus 0 for devices... 2 USB Device(s) found USB1: Register 200017f NbrPorts 2 Starting the controller USB XHCI 1.00 scanning bus 1 for devices... 1 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found => edit ethact edit: DPMAC5@xgmii => tftp 0x80000000 fsl-ls2080a-rdb.dtb; fdt addr 0x80000000; fdt boardsetup;tftp 0xa0000000 grubaa64.efi; bootefi a0000000 0x80000000 Using DPMAC5@xgmii device TFTP from server 192.168.1.1; our IP address is 192.168.1.34 Filename 'fsl-ls2080a-rdb.dtb'. Load address: 0x80000000 Loading: ### 2 KiB/s done Bytes transferred = 10549 (2935 hex) WARNING: could not set reg FDT_ERR_NOSPACE. ERROR: could not set fsl,usb-erratum-a008751 for snps,dwc3: FDT_ERR_NOSPACE. ERROR: could not set fsl,usb-erratum-a008751 for snps,dwc3: FDT_ERR_NOSPACE. Using DPMAC5@xgmii device TFTP from server 192.168.1.1; our IP address is 192.168.1.34 Filename 'grubaa64.efi'. Load address: 0xa0000000 Loading: ################################################################# ################################################################# ########################################### 85.9 KiB/s done Bytes transferred = 884224 (d7e00 hex) ## Starting EFI application at 0xa0000000 ... Scanning disks on scsi... Scanning disks on usb... Scanning disks on mmc... MMC: no card present MMC Device 1 not found MMC Device 2 not found MMC Device 3 not found Found 4 disks
So it crashes in U-Boot disk enumeration code ...
"Synchronous Abort" handler, esr 0x8a000000 ELR: 97ffeee9d5033fdf
... trying to access an instruction that is completely bogus.
Can you please add #define DEBUG at the beginning of efi_disk.c and try to isolate where it crashes from there?
Alex