On Sun, May 01, 2016 at 05:32:53PM +0200, Vincent Gross wrote:
> On Sun, 1 May 2016 13:27:29 +0200
> Patrick Wildt <patr...@blueri.se> wrote:
> 
> > Hi,
> > 
> > I updated the diff with the feedback received.  This basically adds
> > a tree-like topology by making mainbus FDT aware and implementing
> > a simplebus that can span the tree's roots into more branches.
> > 
> > Next steps (and diffs) are implementing an FDT platform for armv7,
> > similar to imx/omap/... and having the generic interrupt controller
> > and timer attach to a simplebus/fdt bus.
> > 
> > Comments?
> 
> Legacy boot works fine on my novena laptop, fdt boot fails, I lack
> expertise but it seems that cortex0 and its children were skipped.

I was actually surprised to see that it booted as far as it did with
FDT.  The reason is that the platform's match function only checks for
the boardid (that is passed by u-boot) and attaches if the boardid
matches.  This means that the "legacy" busses still attach, even though
we're running with a device tree.

> 
> Thank you for pushing a better arm support :)

Thank you for testing. :)

> 
> Both output below :
> 
> ## Booting kernel from Legacy Image at 10300000 ...
>    Image Name:   boot
>    Image Type:   ARM Linux Kernel Image (uncompressed)
>    Data Size:    4993156 Bytes = 4.8 MiB
>    Load Address: 10300000
>    Entry Point:  10300000
>    Verifying Checksum ... OK
>    Loading Kernel Image ... OK
> Using machid 0x10ad from environment
> 
> Starting kernel ...
> 
> 
> OpenBSD/imx booting ...
> arg0 0x0 arg1 0x10ad arg2 0x10000100
> atag core flags 0 pagesize 0 rootdev 0
> atag cmdline [sd0i:/bsd.imx.umg]
> atag revision 00063012
> atag mem start 0x10000000 size 0xf0000000
> bootfile: sd0i:/bsd.imx.umg
> bootargs: 
> memory size derived from u-boot
> bootconf.mem[0].address = 10000000 pages 983040/0xf0000000
> Allocating page tables
> freestart = 0x107c4000, free_pages = 981051 (0x000ef83b)
> IRQ stack: p0x107f2000 v0xc07f2000
> ABT stack: p0x107f3000 v0xc07f3000
> UND stack: p0x107f4000 v0xc07f4000
> SVC stack: p0x107f5000 v0xc07f5000
> Creating L1 page table at 0x107c4000
> Mapping kernel
> Constructing L2 page tables
> undefined page pmap [ using 715008 bytes of bsd ELF symbol table ]
> board type: 4269
> Copyright (c) 1982, 1986, 1989, 1991, 1993
>         The Regents of the University of California.  All rights
> reserved. Copyright (c) 1995-2016 OpenBSD. All rights reserved.
> http://www.OpenBSD.org
> 
> OpenBSD 5.9-current (GENERIC) #31: Fri Apr 29 22:42:20 CET 2016
>     
> dermi...@russell.kilb.yt:/home/dermiste/OpenBSD/srcsys/arch/armv7/compile/GENERIC
> real mm  = 4026527744 (3839MB)
> avail mem = 3940864000 (3758MB)
> warning: no entropy supplied by boot lader
> mainbus0 at root: no device tree
> cortex0 at mainbus0
> ampintc0 at cortex0 nirq 160
> amptimer0 at cortex0: tick rate 396000 KHz
> armliicc0 at cortex0: rtl 7 waymask: 0x0000000f
> cpu0 at mainbus0: ARM Cortex A9 R2 rev 10 (ARMv7 core)
> cpu0: DC enabled IC enabled WB disabled EABT branch prediction enabled
> cpu0: 32KB(32b/l,4way) I-cache, 32KB(32b/l,4way) wr-back D-cache
> imx0 at mainbus0: Kosagi Novena
> imxccm0 at imx0: imx6 rev 1.2 CPU freq: 792 MHz
> imxiomuxc0 at imx0
> imxdog0 at imx0
> imxocotp0 at imx0
> imxuart0 at imx0 console
> imxgpio0 at imx0
> imxgpio1 at imx0
> imxgpio2 at imx0
> imxgpio3 at imx0
> imxgpio4 at imx0
> imxgpio5 at imx0
> imxgpio6 at imx0
> imxesdhc0 at imx0
> sdmmc0 at imxesdhc0
> imxesdhc1 at imx0
> sdmmc1 at imxesdhc1
> ehci0 at imx0
> usb0 at ehci0: USB revision 2.0
> uhub0 at usb0 "i.MX6 EHCI root hub" rev 2.00/1.00 addr 1
> imxenet0 at imx0
> imxenet0: address 00:1f:11:02:17:de
> ukphy0 at imxenet0 phy 7: Generic IEEE 802.3u media interface, rev. 1:
> OUI 0x000885, model 0x0021 ahci0 at imx0 AHCI 1.3
> ahci0: port 0: 3.0Gb/s
> scsibus0 at ahci0: 32 targets
> sd0 at scsibus0 targ 0 lun 0: <ATA, Samsung SSD 850, EMT0> SCSI3
> 0/direct fixed naa.5002538da0003f36 sd0: 238475MB, 512 bytes/sector,
> 488397168 sectors, thin scsibus1 at sdmmc1: 2 targets, initiator 0
> sd1 at scsibus1 targ 1 lun 0: <SD/MMC, Drive #01, > SCSI2 0/direct fixed
> sd1: 7600MB, 512 bytes/sector, 15564800 sectors
> uhub1 at uhub0 port 1 "Genesys Logic USB2.0 Hub Charger" rev 2.00/1.97
> addr 2 axe0 at uhub1 port 2 configuration 1 interface 0 "ASIX
> Electronics AX88772B" rev 2.00/0.01 addr 3 axe0: AX88772B, address
> 00:0e:c6:87:72:01 ukphy1 at axe0 phy 16: Generic IEEE 802.3u media
> interface, rev. 1: OUI 0x000ec6, model 0x0008 ugen0 at uhub1 port 3
> "AsureWave product 0x3393" rev 1.10/0.01 addr 4 uhub2 at uhub1 port 4
> "Genesys Logic USB2.0 Hub Charger" rev 2.00/1.97 addr 5 vscsi0 at root
> scsibus2 at vscsi0: 256 targets
> softraid0 at root
> scsibus3 at softraid0: 256 targets
> boot device: sd0
> root on sd0a (46b8d5734c644ff3.a) swap on sd0b dump on sd0b
> 
> 
> 
> 
> ## Booting kernel from Legacy Image at 10300000 ...
>    Image Name:   boot
>    Image Type:   ARM Linux Kernel Image (uncompressed)
>    Data Size:    4993156 Bytes = 4.8 MiB
>    Load Address: 10300000
>    Entry Point:  10300000
>    Verifying Checksum ... OK
> ## Flattened Device Tree blob at 10100000
>    Booting using the fdt blob at 0x10100000
>    Loading Kernel Image ... OK
>    reserving fdt memory region: addr=10100000 size=b000
>    Using Device Tree in place at 10100000, end 1010dfff
> Using machid 0x10ad from environment
> 
> Starting kernel ...
> 
> 
> OpenBSD/imx booting ...
> arg0 0x0 arg1 0x10ad arg2 0x10100000
> Allocating page tables
> freestart = 0x107c4000, free_pages = 981051 (0x000ef83b)
> IRQ stack: p0x107f2000 v0xc07f2000
> ABT stack: p0x107f3000 v0xc07f3000
> UND stack: p0x107f4000 v0xc07f4000
> SVC stack: p0x107f5000 v0xc07f5000
> Creating L1 page table at 0x107c4000
> Mapping kernel
> Constructing L2 page tables
> undefined page pmap [ using 715008 bytes of bsd ELF symbol table ]
> board type: 4269
> Copyright (c) 1982, 1986, 1989, 1991, 1993
>         The Regents of the University of California.  All rights
> reserved. Copyright (c) 1995-2016 OpenBSD. All rights reserved.
> http://www.OpenBSD.org
> 
> OpenBSD 5.9-current (GENERIC) #31: Fri Apr 29 22:42:20 CET 2016
>     
> dermi...@russell.kiob.yt:/home/dermiste/OpenBSD/src/ss/arch/armv7/compile/GENERIC
> realmem  = 4026527744 (3839MB)
> avail mem = 3940823040 (3758MB)
> warning: no entropy supplied by boot lader
> mainbus0 at root: Kosagi Novena Dual/Quad
> cpu0 at mainbus0: ARM Cortex A9 R2 rev 10 (ARMv7 core)
> cpu0: DC nabled IC enabled WB disabled EABT branch prdiction enabled
> cpu0: 32KB(32b/l,4way) I-cahe, 32KB(32b/l,4way) wr-back D-cache
> imx0 at mainbus0: Kosagi Noven
> imxccm0 at imx0: imx6 rev 1.2 CPU freq: 792 MHz
> imxiomuxc0 at imx0
> imxdog0 at imx0
> imxocotp0 at imx0
> imxuart0 at imx0panic: arm_dflt_inr_establish called
> Stopped at      $d:     ldrb    r15, [r15, r15, ror r15]!
>    TID    PID    UID     PRFLAGS     PFLAGS  CPU  COMMAND
> *    0      0      0     0x10000      0x200    0  sapper
> panic+0x18
>         scp=0xc03bf6b4 rlv=0xc053c518 ($d)
>         rsp=0xc07f6cf4 rfp=0xc07f6d04
> arm_dflt_intr_establish+0x10
>         scp=0xc053c510 rlv=0xc053c214 (arm_intr_establish+0x24)
>         rsp=0xc07f6d08 rfp=0xc07f6d20
> arm_intr_establish+0xc
>         scp=0xc053c1fc rlv=0xc05f3da8 (imxuartattach+0x38)
>         rsp=0xc07f6d24 rfp=0xc07f6d4c
>         r4=0xc89acc00
> imxuartattach+0xc
>         scp=0xc05f3d7c rlv=0xc03b4d34 (config_attach+0x1d4)
>         rsp=0xc07f6d50 rfp=0xc07f6d88
>         r8=0xc06eaf70 r7=0xcc9a2100 r=0xc069a824 r5=0xc89acc14
>         r4=0x89acc00
> config_attach+0xc
>         scp=0xc03b4b6c rlv=0xc053d174 (armv7_attach+0xa0)
>         rsp=0xc07f6d8c rfp=0xc07f6dbc
>         r10=0x00000000 r9=0c07f6dfc r8=0xc06e89f8 r7=0xcc9a2100
>         r6=0xc07f6d8c r5=0xc0699d3c r4=xc06927d0
> armv7_attach+0xc
>          scp=0xc053d0e0 rlv=0xc03b4d34 (config_attach+0x1d4)
>         rsp=0xc07f6dc0 rfp=0xc07fdf8
>          r8=0xc06eaf70 r7=0xcc9a2080 r6=0xc6999a8 r5=0xcc9a2114
> -       r4=0xcc9a2100
> config_attach+0xc
> -        scp0xc03b4b6c rlv=0xc052d23c (mainbus_attach_node+0xd0)
>          rsp=0xc07f6dfc rfp=0xc07f6b4
>         r10=0xc06a19d4 r9=0x00000000 r=0xcc9a2080 r7=0x000007b8
> -        r6=xc0690478 r5=0xc0690764 r4=0xc07f6dfc
> mainbus_attach_nde+0x10
>         scp=0xc052d17c rlv=0xc05d320 (mainbus_attach+0xc0)
>        rsp=0xc07f6eb8 rfp=0xc07f6f58
> -       r10=0x00000000 r8=0xc06eaf70 r7=0xc06a19d4 r6=0x0000004
>         r5=0xcc9a2080 r4=0x00007b8
> mainbus_attach+0x10
> -       scp=0xc052d270 rlv=0xc03b4d34 (config_attach+0x1d4)
>         rsp=0xc07f6f5c rfp=0xc076f94
>         r7=0x00000000 r6=0xc069064 r5=0xcc9a2094 r4=0xcc9a2080
> config_attach+0xc
>         scp=0xc03b4b6c rlv0xc053e504 (cpu_configure+0x20)
>        rsp=0xc07f6f98 rfp=0xc07f6fa8
>        r10=0xc06e62a4 r9=0xc06e8470 r8=0xc066108 r7=0xc06e6434
>         r6=0x00000000 r5=0xc0e606c r4=0xc0711ce4
> cpu_configure+0xc
>          scp=0xc053e4f0 rlv=0xc0392f94 (main+0x324)
>         rsp=0xc07f6fac rfp0xc07f6fec
> main+0xc   
> -       scp=0xc0392c7c rlv=0xc0300164 (kernel_text+0x50)
>         rsp=0xc07f6ff0 rfp0xc07f6ffc
>         r10=0xfc76ba44 r9=0x1000000 r8=0xc0711ce4 r7=0x000010ad
> -       r6=0x10100000 r5=0x000010ad r4=0x10300104
> kernel_text+0x4c
>         sc=0xc0300160 rlv=0xc053acfc (mtx_leave+0x50)
>        rsp=0xc07f7000 rfp=0x00000000
> http://www.openbsd.org/db.html describes the minimum inforequired in bug
> -reports.  Inufficient info makes it difficult to ind and fix bugs.
> ddb>  
> 

Reply via email to