On Sat, Jul 29, 2017 at 09:01:35PM +0200, Patrick Wildt wrote:
> On Sat, Jul 29, 2017 at 02:59:19PM +0200, Mark Kettenis wrote:
> > This is apparently very hard. Caught this on arm64 where
> > efi_device_path_depth() returned 0, which resulted in always selecting
> > the first device. Clearly if the first path component (i = 0) matches
> > the desired type, we should return 1, not 0. Here is the amd64
> > version of the diff which is easier to test for people.
> >
> > ok?
>
> God damn, this feels like the tenth time this thing has to be fixed up.
> Fix looks good to me, please commit that on arm64 and armv7 as well.
>
> ok patrick@
The changes to arm64 broke boot on the overdrive 1000.
Press ESCAPE for boot options .....>> OpenBSD/arm64 BOOTAA64 0.5
boot>
cannot open sd0a:/etc/random.seed: Device not configured
booting sd0a:/bsd: open sd0a:/bsd: Device not configured
failed(6). will try /bsd
boot>
cannot open sd0a:/etc/random.seed: Device not configured
booting sd0a:/bsd: open sd0a:/bsd: Device not configured
failed(6). will try /bsd
Turning timeout off.
Press ESCAPE for boot options .....>> OpenBSD/arm64 BOOTAA64 0.4
boot>
booting sd0a:/bsd: 3792240+572652+505240+673568 [86+446424+237176]=0x7c7060
type 0x0 pa 0x8000000000 va 0x0 pages 0xe80 attr 0xe
type 0x7 pa 0x8000e80000 va 0x0 pages 0x180 attr 0xe
type 0x2 pa 0x8001000000 va 0x0 pages 0x4000 attr 0xe
type 0x7 pa 0x8005000000 va 0x0 pages 0x1adfd attr 0xe
type 0x4 pa 0x801fdfd000 va 0x0 pages 0x203 attr 0xe
type 0x7 pa 0x8020000000 va 0x0 pages 0x1d8086 attr 0xe
type 0x2 pa 0x81f8086000 va 0x0 pages 0x67a attr 0xe
type 0x9 pa 0x81f8700000 va 0x0 pages 0xa0 attr 0xe
type 0x2 pa 0x81f87a0000 va 0x0 pages 0xc attr 0xe
type 0x7 pa 0x81f87ac000 va 0x0 pages 0x1 attr 0xe
type 0x1 pa 0x81f87ad000 va 0x0 pages 0x13 attr 0xe
type 0x7 pa 0x81f87c0000 va 0x0 pages 0x196f attr 0xe
type 0x4 pa 0x81fa12f000 va 0x0 pages 0x681 attr 0xe
type 0x7 pa 0x81fa7b0000 va 0x0 pages 0x16 attr 0xe
type 0x4 pa 0x81fa7c6000 va 0x0 pages 0xeda attr 0xe
type 0x7 pa 0x81fb6a0000 va 0x0 pages 0x46 attr 0xe
type 0x3 pa 0x81fb6e6000 va 0x0 pages 0x14a attr 0xe
type 0x5 pa 0x81fb830000 va 0x0 pages 0x3e0 attr 0x800000000000000e
type 0x7 pa 0x81fbc10000 va 0x0 pages 0x200 attr 0xe
type 0x6 pa 0x81fbe10000 va 0x0 pages 0x1f0 attr 0x800000000000000e
type 0x7 pa 0x81fc000000 va 0x0 pages 0x1f attr 0xe
type 0x4 pa 0x81fc01f000 va 0x0 pages 0x1 attr 0xe
type 0x7 pa 0x81fc020000 va 0x0 pages 0x3732 attr 0xe
type 0x4 pa 0x81ff752000 va 0x0 pages 0x87a attr 0xe
type 0x7 pa 0x81fffcc000 va 0x0 pages 0x4 attr 0xe
type 0x6 pa 0x81fffd0000 va 0x0 pages 0x20 attr 0x800000000000000e
type 0x7 pa 0x81ffff0000 va 0x0 pages 0xc attr 0xe
type 0x4 pa 0x81ffffc000 va 0x0 pages 0x4 attr 0xe
[ using 684968 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-2017 OpenBSD. All rights reserved. https://www.OpenBSD.org