On Sat, Jan 13, 2018 at 05:26:44PM +1100, Jonathan Gray wrote:
> On Thu, Jan 11, 2018 at 03:40:01PM +0100, Karel Gardas wrote:
> > 
> > Hello,
> > 
> > I'd like to help a bit with GHC work on OpenBSD and would like to give it a 
> > try
> > to port GHC to ARMv8. GHC is a beast so I assume I'll need machine/emulator
> > with 4GB RAM at least. I'm curious what you guys are using for running all 
> > those
> > ARMv8 packages builders and for your own porting efforts?
> > 
> > so far I see following options:
> > 
> > - qemu-system-aarch64 running on OpenBSD/amd64. I've verified qemu 
> > distributed with 6.2-current
> >   is well capable of running Ubuntu cloud image 16.04 for ARMv8. The 
> > question is, has anybody
> >   here tested that or get OpenBSD/arm64 running on Qemu? The advantage of 
> > this solution is flexibility
> 
> qemu is quite a bit slower than real hardware and more painful.
> 
> Using U-Boot with a recently proposed but not committed qemu_arm64
> target is limited in that virtio devices can't be booted off.  Using an
> EDK2 OVMF image works better but only if using a QEMU_EFI.fd older than
> the prebuilt binaries linaro now provides otherwise there is no console
> output after the kernel loads.
> 
> When using U-Boot with an AHCI device the interrupt can't be mapped.
> Using NVMe doesn't seem to have that problem but U-Boot distroboot
> doesn't handle that automatically requiring something along the lines of
> 
> => nvme scan
> => setenv devtype nvme
> => run scan_dev_for_boot_part

After patching U-Boot to handle distroboot for NVMe it turns out
using NVMe hangs on mounting root.

U-Boot 2018.01-00082-g4f1f6134b1-dirty (Jan 13 2018 - 17:59:54 +1100)

DRAM:  2 GiB
Using default environment

In:    pl011@9000000
Out:   pl011@9000000
Err:   pl011@9000000
Net:   No ethernet found.
Hit any key to stop autoboot:  0
scanning bus for devices...

Device 0: unknown device

Device 0: Vendor: 0x8086 Rev: 1.0      Prod: foo
            Type: Hard Disk
            Capacity: 2048.0 MB = 2.0 GB (4194304 x 512)
... is now current device
Scanning nvme 0:1...
load - load binary file from a filesystem

Usage:
load <interface> [<dev[:part]> [<addr> [<filename> [bytes [pos]]]]]
    - Load binary file 'filename' from partition 'part' on device
       type 'interface' instance 'dev' to address 'addr' in memory.
      'bytes' gives the size to load in bytes.
      If 'bytes' is 0 or omitted, the file is read until the end.
      'pos' gives the file byte position to start reading from.
      If 'pos' is 0 or omitted, the file is read from the start.
Found EFI removable media binary efi/boot/bootaa64.efi
Scanning disk nvme#0.blk#0...
Found 3 disks
reading efi/boot/bootaa64.efi
78335 bytes read in 2 ms (37.4 MiB/s)
## Starting EFI application at 40400000 ...
>> OpenBSD/arm64 BOOTAA64 0.8
boot>
booting sd0a:/bsd: 
3898440+575408+582872+803664|[276474+96+457536+243129]=0x8414c8
type 0x2 pa 0x40000000 va 0x40000000 pages 0x4000 attr 0x8
type 0x7 pa 0x44000000 va 0x40000000 pages 0x4000 attr 0x8
type 0x4 pa 0x48000000 va 0x48000000 pages 0x11 attr 0x8
type 0x7 pa 0x48011000 va 0x40000000 pages 0x75821 attr 0x8
type 0x2 pa 0xbd832000 va 0xbd832000 pages 0x4 attr 0x8
type 0x2 pa 0xbd836000 va 0xbd836000 pages 0x4 attr 0x8
type 0x2 pa 0xbd83a000 va 0xbd83a000 pages 0x4 attr 0x8
type 0x2 pa 0xbd83e000 va 0xbd83e000 pages 0x4 attr 0x8
type 0x2 pa 0xbd842000 va 0xbd842000 pages 0x4 attr 0x8
type 0x2 pa 0xbd846000 va 0xbd846000 pages 0x4 attr 0x8
type 0x2 pa 0xbd84a000 va 0xbd84a000 pages 0x4 attr 0x8
type 0x2 pa 0xbd84e000 va 0xbd84e000 pages 0x4 attr 0x8
type 0x2 pa 0xbd852000 va 0xbd852000 pages 0x4 attr 0x8
type 0x2 pa 0xbd856000 va 0xbd856000 pages 0x4 attr 0x8
type 0x2 pa 0xbd85a000 va 0xbd85a000 pages 0x4 attr 0x8
type 0x2 pa 0xbd85e000 va 0xbd85e000 pages 0x4 attr 0x8
type 0x2 pa 0xbd862000 va 0xbd862000 pages 0x4 attr 0x8
type 0x2 pa 0xbd866000 va 0xbd866000 pages 0x4 attr 0x8
type 0x2 pa 0xbd86a000 va 0xbd86a000 pages 0x4 attr 0x8
type 0x2 pa 0xbd86e000 va 0xbd86e000 pages 0x4 attr 0x8
type 0x2 pa 0xbd872000 va 0xbd872000 pages 0x4 attr 0x8
type 0x2 pa 0xbd876000 va 0xbd876000 pages 0x4 attr 0x8
type 0x2 pa 0xbd87a000 va 0xbd87a000 pages 0x4 attr 0x8
type 0x2 pa 0xbd87e000 va 0xbd87e000 pages 0x4 attr 0x8
type 0x2 pa 0xbd882000 va 0xbd882000 pages 0x4 attr 0x8
type 0x2 pa 0xbd886000 va 0xbd886000 pages 0x4 attr 0x8
type 0x2 pa 0xbd88a000 va 0xbd88a000 pages 0x4 attr 0x8
type 0x2 pa 0xbd88e000 va 0xbd88e000 pages 0x4 attr 0x8
type 0x2 pa 0xbd892000 va 0xbd892000 pages 0x4 attr 0x8
type 0x2 pa 0xbd896000 va 0xbd896000 pages 0x4 attr 0x8
type 0x2 pa 0xbd89a000 va 0xbd89a000 pages 0x4 attr 0x8
type 0x2 pa 0xbd89e000 va 0xbd89e000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8a2000 va 0xbd8a2000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8a6000 va 0xbd8a6000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8aa000 va 0xbd8aa000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8ae000 va 0xbd8ae000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8b2000 va 0xbd8b2000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8b6000 va 0xbd8b6000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8ba000 va 0xbd8ba000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8be000 va 0xbd8be000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8c2000 va 0xbd8c2000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8c6000 va 0xbd8c6000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8ca000 va 0xbd8ca000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8ce000 va 0xbd8ce000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8d2000 va 0xbd8d2000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8d6000 va 0xbd8d6000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8da000 va 0xbd8da000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8de000 va 0xbd8de000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8e2000 va 0xbd8e2000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8e6000 va 0xbd8e6000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8ea000 va 0xbd8ea000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8ee000 va 0xbd8ee000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8f2000 va 0xbd8f2000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8f6000 va 0xbd8f6000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8fa000 va 0xbd8fa000 pages 0x4 attr 0x8
type 0x2 pa 0xbd8fe000 va 0xbd8fe000 pages 0x4 attr 0x8
type 0x2 pa 0xbd902000 va 0xbd902000 pages 0x4 attr 0x8
type 0x2 pa 0xbd906000 va 0xbd906000 pages 0x4 attr 0x8
type 0x2 pa 0xbd90a000 va 0xbd90a000 pages 0x4 attr 0x8
type 0x2 pa 0xbd90e000 va 0xbd90e000 pages 0x4 attr 0x8
type 0x2 pa 0xbd912000 va 0xbd912000 pages 0x4 attr 0x8
type 0x2 pa 0xbd916000 va 0xbd916000 pages 0x4 attr 0x8
type 0x2 pa 0xbd91a000 va 0xbd91a000 pages 0x4 attr 0x8
type 0x2 pa 0xbd91e000 va 0xbd91e000 pages 0x4 attr 0x8
type 0x2 pa 0xbd922000 va 0xbd922000 pages 0x4 attr 0x8
type 0x2 pa 0xbd926000 va 0xbd926000 pages 0x4 attr 0x8
type 0x2 pa 0xbd92a000 va 0xbd92a000 pages 0x4 attr 0x8
type 0x2 pa 0xbd92e000 va 0xbd92e000 pages 0x4 attr 0x8
type 0x2 pa 0xbd932000 va 0xbd932000 pages 0x4 attr 0x8
type 0x2 pa 0xbd936000 va 0xbd936000 pages 0x4 attr 0x8
type 0x2 pa 0xbd93a000 va 0xbd93a000 pages 0x4 attr 0x8
type 0x2 pa 0xbd93e000 va 0xbd93e000 pages 0x4 attr 0x8
type 0x2 pa 0xbd942000 va 0xbd942000 pages 0x4 attr 0x8
type 0x2 pa 0xbd946000 va 0xbd946000 pages 0x4 attr 0x8
type 0x2 pa 0xbd94a000 va 0xbd94a000 pages 0x4 attr 0x8
type 0x2 pa 0xbd94e000 va 0xbd94e000 pages 0x4 attr 0x8
type 0x2 pa 0xbd952000 va 0xbd952000 pages 0x4 attr 0x8
type 0x2 pa 0xbd956000 va 0xbd956000 pages 0x4 attr 0x8
type 0x2 pa 0xbd95a000 va 0xbd95a000 pages 0x4 attr 0x8
type 0x2 pa 0xbd95e000 va 0xbd95e000 pages 0x4 attr 0x8
type 0x2 pa 0xbd962000 va 0xbd962000 pages 0x4 attr 0x8
type 0x2 pa 0xbd966000 va 0xbd966000 pages 0x4 attr 0x8
type 0x2 pa 0xbd96a000 va 0xbd96a000 pages 0x4 attr 0x8
type 0x2 pa 0xbd96e000 va 0xbd96e000 pages 0x4 attr 0x8
type 0x2 pa 0xbd972000 va 0xbd972000 pages 0x4 attr 0x8
type 0x2 pa 0xbd976000 va 0xbd976000 pages 0x4 attr 0x8
type 0x2 pa 0xbd97a000 va 0xbd97a000 pages 0x4 attr 0x8
type 0x2 pa 0xbd97e000 va 0xbd97e000 pages 0x4 attr 0x8
type 0x2 pa 0xbd982000 va 0xbd982000 pages 0x4 attr 0x8
type 0x2 pa 0xbd986000 va 0xbd986000 pages 0x4 attr 0x8
type 0x2 pa 0xbd98a000 va 0xbd98a000 pages 0x4 attr 0x8
type 0x2 pa 0xbd98e000 va 0xbd98e000 pages 0x4 attr 0x8
type 0x2 pa 0xbd992000 va 0xbd992000 pages 0x4 attr 0x8
type 0x2 pa 0xbd996000 va 0xbd996000 pages 0x4 attr 0x8
type 0x2 pa 0xbd99a000 va 0xbd99a000 pages 0x4 attr 0x8
type 0x2 pa 0xbd99e000 va 0xbd99e000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9a2000 va 0xbd9a2000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9a6000 va 0xbd9a6000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9aa000 va 0xbd9aa000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9ae000 va 0xbd9ae000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9b2000 va 0xbd9b2000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9b6000 va 0xbd9b6000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9ba000 va 0xbd9ba000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9be000 va 0xbd9be000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9c2000 va 0xbd9c2000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9c6000 va 0xbd9c6000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9ca000 va 0xbd9ca000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9ce000 va 0xbd9ce000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9d2000 va 0xbd9d2000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9d6000 va 0xbd9d6000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9da000 va 0xbd9da000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9de000 va 0xbd9de000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9e2000 va 0xbd9e2000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9e6000 va 0xbd9e6000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9ea000 va 0xbd9ea000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9ee000 va 0xbd9ee000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9f2000 va 0xbd9f2000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9f6000 va 0xbd9f6000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9fa000 va 0xbd9fa000 pages 0x4 attr 0x8
type 0x2 pa 0xbd9fe000 va 0xbd9fe000 pages 0x4 attr 0x8
type 0x2 pa 0xbda02000 va 0xbda02000 pages 0x4 attr 0x8
type 0x2 pa 0xbda06000 va 0xbda06000 pages 0x4 attr 0x8
type 0x2 pa 0xbda0a000 va 0xbda0a000 pages 0x4 attr 0x8
type 0x2 pa 0xbda0e000 va 0xbda0e000 pages 0x4 attr 0x8
type 0x2 pa 0xbda12000 va 0xbda12000 pages 0x4 attr 0x8
type 0x2 pa 0xbda16000 va 0xbda16000 pages 0x4 attr 0x8
type 0x2 pa 0xbda1a000 va 0xbda1a000 pages 0x4 attr 0x8
type 0x2 pa 0xbda1e000 va 0xbda1e000 pages 0x4 attr 0x8
type 0x2 pa 0xbda22000 va 0xbda22000 pages 0x4 attr 0x8
type 0x2 pa 0xbda26000 va 0xbda26000 pages 0x4 attr 0x8
type 0x2 pa 0xbda2a000 va 0xbda2a000 pages 0x4 attr 0x8
type 0x2 pa 0xbda2e000 va 0xbda2e000 pages 0x4 attr 0x8
type 0x2 pa 0xbda32000 va 0xbda32000 pages 0x4 attr 0x8
type 0x2 pa 0xbda36000 va 0xbda36000 pages 0x4 attr 0x8
type 0x2 pa 0xbda3a000 va 0xbda3a000 pages 0x4 attr 0x8
type 0x2 pa 0xbda3e000 va 0xbda3e000 pages 0x4 attr 0x8
type 0x2 pa 0xbda42000 va 0xbda42000 pages 0x4 attr 0x8
type 0x2 pa 0xbda46000 va 0xbda46000 pages 0x4 attr 0x8
type 0x2 pa 0xbda4a000 va 0xbda4a000 pages 0x4 attr 0x8
type 0x2 pa 0xbda4e000 va 0xbda4e000 pages 0x4 attr 0x8
type 0x2 pa 0xbda52000 va 0xbda52000 pages 0x4 attr 0x8
type 0x2 pa 0xbda56000 va 0xbda56000 pages 0x4 attr 0x8
type 0x2 pa 0xbda5a000 va 0xbda5a000 pages 0x4 attr 0x8
type 0x2 pa 0xbda5e000 va 0xbda5e000 pages 0x4 attr 0x8
type 0x2 pa 0xbda62000 va 0xbda62000 pages 0x4 attr 0x8
type 0x2 pa 0xbda66000 va 0xbda66000 pages 0x4 attr 0x8
type 0x2 pa 0xbda6a000 va 0xbda6a000 pages 0x4 attr 0x8
type 0x2 pa 0xbda6e000 va 0xbda6e000 pages 0x4 attr 0x8
type 0x2 pa 0xbda72000 va 0xbda72000 pages 0x4 attr 0x8
type 0x2 pa 0xbda76000 va 0xbda76000 pages 0x4 attr 0x8
type 0x2 pa 0xbda7a000 va 0xbda7a000 pages 0x4 attr 0x8
type 0x2 pa 0xbda7e000 va 0xbda7e000 pages 0x4 attr 0x8
type 0x2 pa 0xbda82000 va 0xbda82000 pages 0x4 attr 0x8
type 0x2 pa 0xbda86000 va 0xbda86000 pages 0x4 attr 0x8
type 0x2 pa 0xbda8a000 va 0xbda8a000 pages 0x4 attr 0x8
type 0x2 pa 0xbda8e000 va 0xbda8e000 pages 0x4 attr 0x8
type 0x2 pa 0xbda92000 va 0xbda92000 pages 0x4 attr 0x8
type 0x2 pa 0xbda96000 va 0xbda96000 pages 0x4 attr 0x8
type 0x2 pa 0xbda9a000 va 0xbda9a000 pages 0x4 attr 0x8
type 0x2 pa 0xbda9e000 va 0xbda9e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdaa2000 va 0xbdaa2000 pages 0x4 attr 0x8
type 0x2 pa 0xbdaa6000 va 0xbdaa6000 pages 0x4 attr 0x8
type 0x2 pa 0xbdaaa000 va 0xbdaaa000 pages 0x4 attr 0x8
type 0x2 pa 0xbdaae000 va 0xbdaae000 pages 0x4 attr 0x8
type 0x2 pa 0xbdab2000 va 0xbdab2000 pages 0x4 attr 0x8
type 0x2 pa 0xbdab6000 va 0xbdab6000 pages 0x4 attr 0x8
type 0x2 pa 0xbdaba000 va 0xbdaba000 pages 0x4 attr 0x8
type 0x2 pa 0xbdabe000 va 0xbdabe000 pages 0x4 attr 0x8
type 0x2 pa 0xbdac2000 va 0xbdac2000 pages 0x4 attr 0x8
type 0x2 pa 0xbdac6000 va 0xbdac6000 pages 0x4 attr 0x8
type 0x2 pa 0xbdaca000 va 0xbdaca000 pages 0x4 attr 0x8
type 0x2 pa 0xbdace000 va 0xbdace000 pages 0x4 attr 0x8
type 0x2 pa 0xbdad2000 va 0xbdad2000 pages 0x4 attr 0x8
type 0x2 pa 0xbdad6000 va 0xbdad6000 pages 0x4 attr 0x8
type 0x2 pa 0xbdada000 va 0xbdada000 pages 0x4 attr 0x8
type 0x2 pa 0xbdade000 va 0xbdade000 pages 0x4 attr 0x8
type 0x2 pa 0xbdae2000 va 0xbdae2000 pages 0x4 attr 0x8
type 0x2 pa 0xbdae6000 va 0xbdae6000 pages 0x4 attr 0x8
type 0x2 pa 0xbdaea000 va 0xbdaea000 pages 0x4 attr 0x8
type 0x2 pa 0xbdaee000 va 0xbdaee000 pages 0x4 attr 0x8
type 0x2 pa 0xbdaf2000 va 0xbdaf2000 pages 0x4 attr 0x8
type 0x2 pa 0xbdaf6000 va 0xbdaf6000 pages 0x4 attr 0x8
type 0x2 pa 0xbdafa000 va 0xbdafa000 pages 0x4 attr 0x8
type 0x2 pa 0xbdafe000 va 0xbdafe000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb02000 va 0xbdb02000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb06000 va 0xbdb06000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb0a000 va 0xbdb0a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb0e000 va 0xbdb0e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb12000 va 0xbdb12000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb16000 va 0xbdb16000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb1a000 va 0xbdb1a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb1e000 va 0xbdb1e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb22000 va 0xbdb22000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb26000 va 0xbdb26000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb2a000 va 0xbdb2a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb2e000 va 0xbdb2e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb32000 va 0xbdb32000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb36000 va 0xbdb36000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb3a000 va 0xbdb3a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb3e000 va 0xbdb3e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb42000 va 0xbdb42000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb46000 va 0xbdb46000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb4a000 va 0xbdb4a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb4e000 va 0xbdb4e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb52000 va 0xbdb52000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb56000 va 0xbdb56000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb5a000 va 0xbdb5a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb5e000 va 0xbdb5e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb62000 va 0xbdb62000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb66000 va 0xbdb66000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb6a000 va 0xbdb6a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb6e000 va 0xbdb6e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb72000 va 0xbdb72000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb76000 va 0xbdb76000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb7a000 va 0xbdb7a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb7e000 va 0xbdb7e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb82000 va 0xbdb82000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb86000 va 0xbdb86000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb8a000 va 0xbdb8a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb8e000 va 0xbdb8e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb92000 va 0xbdb92000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb96000 va 0xbdb96000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb9a000 va 0xbdb9a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdb9e000 va 0xbdb9e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdba2000 va 0xbdba2000 pages 0x4 attr 0x8
type 0x2 pa 0xbdba6000 va 0xbdba6000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbaa000 va 0xbdbaa000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbae000 va 0xbdbae000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbb2000 va 0xbdbb2000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbb6000 va 0xbdbb6000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbba000 va 0xbdbba000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbbe000 va 0xbdbbe000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbc2000 va 0xbdbc2000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbc6000 va 0xbdbc6000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbca000 va 0xbdbca000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbce000 va 0xbdbce000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbd2000 va 0xbdbd2000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbd6000 va 0xbdbd6000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbda000 va 0xbdbda000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbde000 va 0xbdbde000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbe2000 va 0xbdbe2000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbe6000 va 0xbdbe6000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbea000 va 0xbdbea000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbee000 va 0xbdbee000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbf2000 va 0xbdbf2000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbf6000 va 0xbdbf6000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbfa000 va 0xbdbfa000 pages 0x4 attr 0x8
type 0x2 pa 0xbdbfe000 va 0xbdbfe000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc02000 va 0xbdc02000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc06000 va 0xbdc06000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc0a000 va 0xbdc0a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc0e000 va 0xbdc0e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc12000 va 0xbdc12000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc16000 va 0xbdc16000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc1a000 va 0xbdc1a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc1e000 va 0xbdc1e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc22000 va 0xbdc22000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc26000 va 0xbdc26000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc2a000 va 0xbdc2a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc2e000 va 0xbdc2e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc32000 va 0xbdc32000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc36000 va 0xbdc36000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc3a000 va 0xbdc3a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc3e000 va 0xbdc3e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc42000 va 0xbdc42000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc46000 va 0xbdc46000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc4a000 va 0xbdc4a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc4e000 va 0xbdc4e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc52000 va 0xbdc52000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc56000 va 0xbdc56000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc5a000 va 0xbdc5a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc5e000 va 0xbdc5e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc62000 va 0xbdc62000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc66000 va 0xbdc66000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc6a000 va 0xbdc6a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc6e000 va 0xbdc6e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc72000 va 0xbdc72000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc76000 va 0xbdc76000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc7a000 va 0xbdc7a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc7e000 va 0xbdc7e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc82000 va 0xbdc82000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc86000 va 0xbdc86000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc8a000 va 0xbdc8a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc8e000 va 0xbdc8e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc92000 va 0xbdc92000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc96000 va 0xbdc96000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc9a000 va 0xbdc9a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdc9e000 va 0xbdc9e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdca2000 va 0xbdca2000 pages 0x4 attr 0x8
type 0x2 pa 0xbdca6000 va 0xbdca6000 pages 0x4 attr 0x8
type 0x2 pa 0xbdcaa000 va 0xbdcaa000 pages 0x4 attr 0x8
type 0x2 pa 0xbdcae000 va 0xbdcae000 pages 0x4 attr 0x8
type 0x2 pa 0xbdcb2000 va 0xbdcb2000 pages 0x4 attr 0x8
type 0x2 pa 0xbdcb6000 va 0xbdcb6000 pages 0x4 attr 0x8
type 0x2 pa 0xbdcba000 va 0xbdcba000 pages 0x4 attr 0x8
type 0x2 pa 0xbdcbe000 va 0xbdcbe000 pages 0x4 attr 0x8
type 0x2 pa 0xbdcc2000 va 0xbdcc2000 pages 0x4 attr 0x8
type 0x2 pa 0xbdcc6000 va 0xbdcc6000 pages 0x4 attr 0x8
type 0x2 pa 0xbdcca000 va 0xbdcca000 pages 0x4 attr 0x8
type 0x2 pa 0xbdcce000 va 0xbdcce000 pages 0x4 attr 0x8
type 0x2 pa 0xbdcd2000 va 0xbdcd2000 pages 0x4 attr 0x8
type 0x2 pa 0xbdcd6000 va 0xbdcd6000 pages 0x4 attr 0x8
type 0x2 pa 0xbdcda000 va 0xbdcda000 pages 0x4 attr 0x8
type 0x2 pa 0xbdcde000 va 0xbdcde000 pages 0x4 attr 0x8
type 0x2 pa 0xbdce2000 va 0xbdce2000 pages 0x4 attr 0x8
type 0x2 pa 0xbdce6000 va 0xbdce6000 pages 0x4 attr 0x8
type 0x2 pa 0xbdcea000 va 0xbdcea000 pages 0x4 attr 0x8
type 0x2 pa 0xbdcee000 va 0xbdcee000 pages 0x4 attr 0x8
type 0x2 pa 0xbdcf2000 va 0xbdcf2000 pages 0x4 attr 0x8
type 0x2 pa 0xbdcf6000 va 0xbdcf6000 pages 0x4 attr 0x8
type 0x2 pa 0xbdcfa000 va 0xbdcfa000 pages 0x4 attr 0x8
type 0x2 pa 0xbdcfe000 va 0xbdcfe000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd02000 va 0xbdd02000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd06000 va 0xbdd06000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd0a000 va 0xbdd0a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd0e000 va 0xbdd0e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd12000 va 0xbdd12000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd16000 va 0xbdd16000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd1a000 va 0xbdd1a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd1e000 va 0xbdd1e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd22000 va 0xbdd22000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd26000 va 0xbdd26000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd2a000 va 0xbdd2a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd2e000 va 0xbdd2e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd32000 va 0xbdd32000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd36000 va 0xbdd36000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd3a000 va 0xbdd3a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd3e000 va 0xbdd3e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd42000 va 0xbdd42000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd46000 va 0xbdd46000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd4a000 va 0xbdd4a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd4e000 va 0xbdd4e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd52000 va 0xbdd52000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd56000 va 0xbdd56000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd5a000 va 0xbdd5a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd5e000 va 0xbdd5e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd62000 va 0xbdd62000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd66000 va 0xbdd66000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd6a000 va 0xbdd6a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd6e000 va 0xbdd6e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd72000 va 0xbdd72000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd76000 va 0xbdd76000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd7a000 va 0xbdd7a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd7e000 va 0xbdd7e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd82000 va 0xbdd82000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd86000 va 0xbdd86000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd8a000 va 0xbdd8a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd8e000 va 0xbdd8e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd92000 va 0xbdd92000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd96000 va 0xbdd96000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd9a000 va 0xbdd9a000 pages 0x4 attr 0x8
type 0x2 pa 0xbdd9e000 va 0xbdd9e000 pages 0x4 attr 0x8
type 0x2 pa 0xbdda2000 va 0xbdda2000 pages 0x4 attr 0x8
type 0x2 pa 0xbdda6000 va 0xbdda6000 pages 0x4 attr 0x8
type 0x2 pa 0xbddaa000 va 0xbddaa000 pages 0x4 attr 0x8
type 0x2 pa 0xbddae000 va 0xbddae000 pages 0x4 attr 0x8
type 0x2 pa 0xbddb2000 va 0xbddb2000 pages 0x4 attr 0x8
type 0x2 pa 0xbddb6000 va 0xbddb6000 pages 0x4 attr 0x8
type 0x2 pa 0xbddba000 va 0xbddba000 pages 0x4 attr 0x8
type 0x2 pa 0xbddbe000 va 0xbddbe000 pages 0x4 attr 0x8
type 0x2 pa 0xbddc2000 va 0xbddc2000 pages 0x4 attr 0x8
type 0x2 pa 0xbddc6000 va 0xbddc6000 pages 0x4 attr 0x8
type 0x2 pa 0xbddca000 va 0xbddca000 pages 0x4 attr 0x8
type 0x2 pa 0xbddce000 va 0xbddce000 pages 0x4 attr 0x8
type 0x2 pa 0xbddd2000 va 0xbddd2000 pages 0x4 attr 0x8
type 0x2 pa 0xbddd6000 va 0xbddd6000 pages 0x4 attr 0x8
type 0x2 pa 0xbddda000 va 0xbddda000 pages 0x4 attr 0x8
type 0x2 pa 0xbddde000 va 0xbddde000 pages 0x4 attr 0x8
type 0x2 pa 0xbdde2000 va 0xbdde2000 pages 0x4 attr 0x8
type 0x2 pa 0xbdde6000 va 0xbdde6000 pages 0x4 attr 0x8
type 0x2 pa 0xbddea000 va 0xbddea000 pages 0x4 attr 0x8
type 0x2 pa 0xbddee000 va 0xbddee000 pages 0x4 attr 0x8
type 0x2 pa 0xbddf2000 va 0xbddf2000 pages 0x4 attr 0x8
type 0x2 pa 0xbddf6000 va 0xbddf6000 pages 0x4 attr 0x8
type 0x2 pa 0xbddfa000 va 0xbddfa000 pages 0x4 attr 0x8
type 0x2 pa 0xbddfe000 va 0xbddfe000 pages 0x4 attr 0x8
type 0x2 pa 0xbde02000 va 0xbde02000 pages 0x4 attr 0x8
type 0x2 pa 0xbde06000 va 0xbde06000 pages 0x4 attr 0x8
type 0x2 pa 0xbde0a000 va 0xbde0a000 pages 0x4 attr 0x8
type 0x2 pa 0xbde0e000 va 0xbde0e000 pages 0x1 attr 0x8
type 0x2 pa 0xbde0f000 va 0xbde0f000 pages 0x4 attr 0x8
type 0x2 pa 0xbde13000 va 0xbde13000 pages 0x2 attr 0x8
type 0x2 pa 0xbde15000 va 0xbde15000 pages 0x1 attr 0x8
type 0x2 pa 0xbde16000 va 0xbde16000 pages 0x1 attr 0x8
type 0x2 pa 0xbde17000 va 0xbde17000 pages 0x1 attr 0x8
type 0x2 pa 0xbde18000 va 0xbde18000 pages 0x4 attr 0x8
type 0x2 pa 0xbde1c000 va 0xbde1c000 pages 0x1 attr 0x8
type 0x2 pa 0xbde1d000 va 0xbde1d000 pages 0x4 attr 0x8
type 0x2 pa 0xbde21000 va 0xbde21000 pages 0x1 attr 0x8
type 0x2 pa 0xbde22000 va 0xbde22000 pages 0x4 attr 0x8
type 0x2 pa 0xbde26000 va 0xbde26000 pages 0x2 attr 0x8
type 0x2 pa 0xbde28000 va 0xbde28000 pages 0x1 attr 0x8
type 0x2 pa 0xbde29000 va 0xbde29000 pages 0x1 attr 0x8
type 0x2 pa 0xbde2a000 va 0xbde2a000 pages 0x1 attr 0x8
type 0x2 pa 0xbde2b000 va 0xbde2b000 pages 0x4 attr 0x8
type 0x2 pa 0xbde2f000 va 0xbde2f000 pages 0x1 attr 0x8
type 0x2 pa 0xbde30000 va 0xbde30000 pages 0x4 attr 0x8
type 0x2 pa 0xbde34000 va 0xbde34000 pages 0x2 attr 0x8
type 0x2 pa 0xbde36000 va 0xbde36000 pages 0x1 attr 0x8
type 0x2 pa 0xbde37000 va 0xbde37000 pages 0x1 attr 0x8
type 0x2 pa 0xbde38000 va 0xbde38000 pages 0x100 attr 0x8
type 0x2 pa 0xbdf38000 va 0xbdf38000 pages 0x13 attr 0x8
type 0x0 pa 0xbdf4b000 va 0xbdf4b000 pages 0x1 attr 0x8
type 0x0 pa 0xbdf4c000 va 0xbdf4c000 pages 0x1 attr 0x8
type 0x6 pa 0xbdf4d000 va 0x1973fad000 pages 0x1 attr 0x8000000000000008
type 0x0 pa 0xbdf4e000 va 0xbdf4e000 pages 0x1 attr 0x8
type 0x0 pa 0xbdf4f000 va 0xbdf4f000 pages 0x1 attr 0x8
type 0x0 pa 0xbdf50000 va 0xbdf50000 pages 0x1 attr 0x8
type 0x0 pa 0xbdf51000 va 0xbdf51000 pages 0x1 attr 0x8
type 0x0 pa 0xbdf52000 va 0xbdf52000 pages 0x1 attr 0x8
type 0x0 pa 0xbdf53000 va 0xbdf53000 pages 0x1 attr 0x8
type 0x0 pa 0xbdf54000 va 0xbdf54000 pages 0x1 attr 0x8
type 0x0 pa 0xbdf55000 va 0xbdf55000 pages 0x1 attr 0x8
type 0x2 pa 0xbdf56000 va 0xbdf56000 pages 0x2078 attr 0x8
type 0x5 pa 0xbffce000 va 0x197602e000 pages 0x1 attr 0x8000000000000008
type 0x2 pa 0xbffcf000 va 0xbdf56000 pages 0x31 attr 0x8
[ using 978080 bytes of bsd ELF symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2018 OpenBSD. All rights reserved.  https://www.OpenBSD.org

OpenBSD 6.2-current (GENERIC) #146: Fri Jan 12 13:47:42 MST 2018
    dera...@arm64.openbsd.org:/usr/src/sys/arch/arm64/compile/GENERIC
real mem  = 2105675776 (2008MB)
avail mem = 2017148928 (1923MB)
mainbus0 at root: unknown model
cpu0 at mainbus0: ARM Cortex-A57 r1p0
efi0 at mainbus0: UEFI 2.0.5
efi0: Das U-boot rev 0x0
psci0 at mainbus0
simplebus0 at mainbus0: "platform"
virtio0 at mainbus0: Virtio Unknown (0) Device
virtio1 at mainbus0: Virtio Unknown (0) Device
virtio2 at mainbus0: Virtio Unknown (0) Device
virtio3 at mainbus0: Virtio Unknown (0) Device
virtio4 at mainbus0: Virtio Unknown (0) Device
virtio5 at mainbus0: Virtio Unknown (0) Device
virtio6 at mainbus0: Virtio Unknown (0) Device
virtio7 at mainbus0: Virtio Unknown (0) Device
virtio8 at mainbus0: Virtio Unknown (0) Device
virtio9 at mainbus0: Virtio Unknown (0) Device
virtio10 at mainbus0: Virtio Unknown (0) Device
virtio11 at mainbus0: Virtio Unknown (0) Device
virtio12 at mainbus0: Virtio Unknown (0) Device
virtio13 at mainbus0: Virtio Unknown (0) Device
virtio14 at mainbus0: Virtio Unknown (0) Device
virtio15 at mainbus0: Virtio Unknown (0) Device
virtio16 at mainbus0: Virtio Unknown (0) Device
virtio17 at mainbus0: Virtio Unknown (0) Device
virtio18 at mainbus0: Virtio Unknown (0) Device
virtio19 at mainbus0: Virtio Unknown (0) Device
virtio20 at mainbus0: Virtio Unknown (0) Device
virtio21 at mainbus0: Virtio Unknown (0) Device
virtio22 at mainbus0: Virtio Unknown (0) Device
virtio23 at mainbus0: Virtio Unknown (0) Device
virtio24 at mainbus0: Virtio Unknown (0) Device
virtio25 at mainbus0: Virtio Unknown (0) Device
virtio26 at mainbus0: Virtio Unknown (0) Device
virtio27 at mainbus0: Virtio Unknown (0) Device
virtio28 at mainbus0: Virtio Unknown (0) Device
virtio29 at mainbus0: Virtio Unknown (0) Device
virtio30 at mainbus0: Virtio Network Device
vio0 at virtio30: address 52:54:00:12:34:56
virtio31 at mainbus0: Virtio Entropy Device
viornd0 at virtio31
pciecam0 at mainbus0
pci0 at pciecam0
"Red Hat Host" rev 0x00 at pci0 dev 0 function 0 not configured
nvme0 at pci0 dev 1 function 0 "Intel QEMU NVM Express Controller" rev 0x02: 
msi, NVMe 1.2
nvme0: QEMU NVMe Ctrl, firmware 1.0, serial foo
scsibus0 at nvme0: 1 targets
sd0 at scsibus0 targ 0 lun 0: <NVMe, QEMU NVMe Ctrl, 1.0> SCSI4 0/direct fixed
sd0: 2048MB, 512 bytes/sector, 4194304 sectors
plrtc0 at mainbus0
pluart0 at mainbus0: console
ampintc0 at mainbus0 nirq 288, ncpu 1: "intc"
ampintcmsi0 at ampintc0: nspi 64
agtimer0 at mainbus0: tick rate 62500 KHz
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets

diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
index 5c469a23fa..305e102cb8 100644
--- a/include/config_distro_bootcmd.h
+++ b/include/config_distro_bootcmd.h
@@ -195,6 +195,31 @@
        BOOT_TARGET_DEVICES_references_SCSI_without_CONFIG_SCSI
 #endif
 
+#ifdef CONFIG_NVME
+#define BOOTENV_RUN_NVME_INIT "run nvme_init; "
+#define BOOTENV_SET_NVME_NEED_INIT "setenv nvme_need_init; "
+#define BOOTENV_SHARED_NVME \
+       "nvme_init=" \
+               "if ${nvme_need_init}; then " \
+                       "setenv nvme_need_init false; " \
+                       "nvme scan; " \
+               "fi\0" \
+       \
+       "nvme_boot=" \
+               BOOTENV_RUN_NVME_INIT \
+               BOOTENV_SHARED_BLKDEV_BODY(nvme)
+#define BOOTENV_DEV_NVME       BOOTENV_DEV_BLKDEV
+#define BOOTENV_DEV_NAME_NVME  BOOTENV_DEV_NAME_BLKDEV
+#else
+#define BOOTENV_RUN_NVME_INIT
+#define BOOTENV_SET_NVME_NEED_INIT
+#define BOOTENV_SHARED_NVME
+#define BOOTENV_DEV_NVME \
+       BOOT_TARGET_DEVICES_references_NVME_without_CONFIG_NVME
+#define BOOTENV_DEV_NAME_NVME \
+       BOOT_TARGET_DEVICES_references_NVME_without_CONFIG_NVME
+#endif
+
 #ifdef CONFIG_IDE
 #define BOOTENV_SHARED_IDE     BOOTENV_SHARED_BLKDEV(ide)
 #define BOOTENV_DEV_IDE                BOOTENV_DEV_BLKDEV
@@ -324,6 +349,7 @@
 #define BOOTENV \
        BOOTENV_SHARED_HOST \
        BOOTENV_SHARED_MMC \
+       BOOTENV_SHARED_NVME \
        BOOTENV_SHARED_PCI \
        BOOTENV_SHARED_USB \
        BOOTENV_SHARED_SATA \
@@ -390,6 +416,7 @@
        BOOT_TARGET_DEVICES(BOOTENV_DEV)                                  \
        \
        "distro_bootcmd=" BOOTENV_SET_SCSI_NEED_INIT                      \
+               BOOTENV_SET_NVME_NEED_INIT                                \
                "for target in ${boot_targets}; do "                      \
                        "run bootcmd_${target}; "                         \
                "done\0"
diff --git a/include/configs/qemu-arm.h b/include/configs/qemu-arm.h
index c8852cef34..8c65babb77 100644
--- a/include/configs/qemu-arm.h
+++ b/include/configs/qemu-arm.h
@@ -38,7 +38,8 @@
 #include <config_distro_defaults.h>
 
 #define BOOT_TARGET_DEVICES(func) \
-       func(SCSI, scsi, 0)
+       func(SCSI, scsi, 0) \
+       func(NVME, nvme, 0)
 
 #include <config_distro_bootcmd.h>
 

Reply via email to