Date: Fri, 18 Dec 2015 15:24:51 -0800 From: Adrian Chadd <adrian.chadd@gmail.com> To: Thomas Skibo <thomasskibo@yahoo.com> Cc: "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org> Subject: Re: u-boot and ubldr on arm64 Message-ID: <CAJ-VmokxwNDNM9fNEaPC_%2BKHwkjc8Y_F%2BxKK0dTsGTvZuNU39g@mail.gmail.com> In-Reply-To: <5695944F-A052-4959-8F9A-ACD4CD3413D6@yahoo.com> References: <5695944F-A052-4959-8F9A-ACD4CD3413D6@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
hey cool! Can you post your patches to freebsd and uboot? Let's get them somewhere reviewed! -a On 18 December 2015 at 10:18, Thomas Skibo via freebsd-arm <freebsd-arm@freebsd.org> wrote: > > Hello. > > I=E2=80=99ve been taking a stab at getting an arm64 kernel running on qem= u acting as a Zynq Ultrascale evaluation board. The first hurdle was getti= ng the u-boot API and ubldr to compile and run in 64-bit mode. I=E2=80=99v= e managed to get that much to work and wanted to let you know in case this = is interesting and I can share the code. Or, so you can tell me that u-boo= t/ubldr is the wrong approach. > > In any case, here=E2=80=99s how far it boots. The next step is to whip m= y kernel configuration into shape but I may have to put this aside until af= ter the holidays. > > Cheers, > =E2=80=94Thomas > > =E2=80=94 > Thomas Skibo > thomasskibo@yahoo.com > > > Script started on Fri 18 Dec 2015 09:34:49 AM PST > skibo@robleda:~/Projects/Zynq/qemu$ source GO.txt > WARNING: Image format was not specified for '../debug.qemu/SDCARD.img' an= d probing guessed raw. > Automatically detecting the format is dangerous for raw images, = write operations on block 0 will be restricted. > Specify the 'raw' format explicitly to remove the restrictions. > QEMU 2.4.93 monitor - type 'help' for more information > (qemu) c [K > (qemu) > > U-Boot 2015.07-00006-gd3fba7f-dirty (Dec 18 2015 - 09:30:17 -0800) Xilinx= ZynqMP > > I2C: ready > DRAM: 1 GiB > Enabling Caches... > > EL Level: EL1 > NAND: ERROR:arasan_nand_reset timedout > ERROR:arasan_nand_read_buf timedout:Buff RDY > ERROR:arasan_nand_read_buf timedout:Xfer CMPLT > ERROR:arasan_nand_read_buf timedout:Buff RDY > ERROR:arasan_nand_read_buf timedout:Xfer CMPLT > ERROR:arasan_nand_read_buf timedout:Buff RDY > ERROR:arasan_nand_read_buf timedout:Xfer CMPLT > ERROR:arasan_nand_read_buf timedout:Buff RDY > ERROR:arasan_nand_read_buf timedout:Xfer CMPLT > arasan_nand_init: nand_scan_ident failed > NAND init failed > 0 MiB > MMC: zynq_sdhci: 0 > Using default environment > > In: serial > Out: serial > Err: serial > Bootmode: JTAG_MODE > SCSI: SATA link 0 timeout. > AHCI 0001.0000 32 slots 2 ports 1.5 Gbps 0x3 impl SATA mode > flags: ncq only > scanning bus for devices... > Found 0 device(s). > Net: Gem.ff0b0000 > Hit any key to stop autoboot: 5 0 > ZynqMP> fatls mmc 0 > 254704 ubldr > 172 uenv.txt > 160405 demo > 1408 board.dtb > > 4 file(s), 0 dir(s) > > ZynqMP> fatload mmc 0 0x1000000 ubldr > reading ubldr > 254704 bytes read in 72 ms (3.4 MiB/s) > ZynqMP> setenv fdt_file board.dtb > ZynqMP> bootelf 0x1000000 > ## Starting application at 0x010000b0 ... > Consoles: U-Boot console > Compatible U-Boot API signature found @3df02860 > > FreeBSD/aarch64 U-Boot loader, Revision 1.2 > (skibo@ashbury, Fri Dec 18 09:33:17 PST 2015) > > DRAM: 1024MB > Number of U-Boot devices: 2 > U-Boot env: loaderdev not set, will probe all devices. > Found U-Boot device: disk > Probing all disk devices... > Checking unit=3D0 slice=3D<auto> partition=3D<auto>... good. > Booting from disk0s2a: > | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ |= / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / = - \ | / - \ | /boot/kernel/kernel data=3D0x5ead28+0x2f4620 / - \ | / - \ | = / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / - \ | / -= \ | / syms=3D[0x8+0xc0120- \ | / - \ +0x8+0xbde15| / - \ | / ] > > Hit [Enter] to boot immediately, or any other key for command prompt. > Booting [/boot/kernel/kernel] in 9 seconds... Booting [/boot/kernel/kerne= l] in 8 seconds... Booting [/boot/kernel/kernel] in 7 seconds... > > Type '?' for a list of commands, 'help' for more detailed help. > loader> boot -v > [37m [44mBooting... [m > \ | / - \ | / - \ | /boot/kernel/board.dtb size=3D0x580 > Loaded DTB from file 'board.dtb'. > / - \ | / Kernel entry at 0x0x1201000... > Kernel args: -v > KDB: debugger backends: ddb > KDB: current backend: ddb > No CPU data, limiting to 1 core > Copyright (c) 1992-2015 The FreeBSD Project. > Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 > The Regents of the University of California. All rights reserved. > FreeBSD is a registered trademark of The FreeBSD Foundation. > FreeBSD 11.0-CURRENT #11 r292424M: Fri Dec 18 01:16:09 PST 2015 > skibo@ashbury:/usr/obj/arm64.aarch64/usr/src/sys/EP108 arm64 > FreeBSD clang version 3.7.0 (tags/RELEASE_370/final 246257) 20150906 > WARNING: WITNESS option enabled, expect reduced performance. > Preloaded elf kernel "/boot/kernel/kernel" at 0xffffff8000a61000. > Preloaded dtb "/boot/kernel/board.dtb" at 0xffffff8000a61a28. > CPU(0): ARM Cortex-A53 r0p4 > CPU0 affinity: 0.0.0.0 > FreeBSD/SMP: Multiprocessor System Detected: 1 CPUs > ULE: setup cpu 0 > random: entropy device external interface > null: <full device, null device, zero device> > openfirm: <Open Firmware control device> > mem: <memory> > nfslock: pseudo-device > crypto: <crypto core> > random: harvesting attach, 8 bytes (4 bits) from nexus0 > ofwbus0: <Open Firmware Device Tree> > simplebus0: <Flattened device tree simple bus> on ofwbus0 > random: harvesting attach, 8 bytes (4 bits) from simplebus0 > simplebus1: <Flattened device tree simple bus> on ofwbus0 > random: harvesting attach, 8 bytes (4 bits) from simplebus1 > random: harvesting attach, 8 bytes (4 bits) from ofwbus0 > gic0: <ARM Generic Interrupt Controller> mem 0xf9010000-0xf901ffff,0xf902= f000-0xf9030fff,0xf9040000-0xf905ffff,0xf906f000-0xf9070fff on simplebus0 > gic0: pn 0x0, arch 0x0, rev 0x0, implementer 0x0 irqs 192 > random: harvesting attach, 8 bytes (4 bits) from gic0 > uart0: <Cadence UART> mem 0xff000000-0xff000fff irq 53 on simplebus1 > uart0: console (115200,n,8,1) > uart0: fast interrupt > uart0: PPS capture mode 2 (DCD) > random: harvesting attach, 8 bytes (4 bits) from uart0 > uart1: <Cadence UART> mem 0xff010000-0xff010fff irq 54 on simplebus1 > uart1: fast interrupt > uart1: PPS capture mode 2 (DCD) > random: harvesting attach, 8 bytes (4 bits) from uart1 > simplebus1: <ethernet@ff0b0000> mem 0xff0b0000-0xff0b0fff irq 89,89 compa= t cadence,gem (no driver attached) > cryptosoft0: <software crypto> > crypto: assign cryptosoft0 driver id 0, flags 100663296 > crypto: cryptosoft0 registers alg 1 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 2 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 3 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 4 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 5 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 16 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 6 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 7 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 18 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 19 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 20 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 8 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 15 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 9 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 10 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 13 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 14 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 11 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 22 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 23 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 25 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 24 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 26 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 27 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 28 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 21 flags 0 maxoplen 0 > crypto: cryptosoft0 registers alg 17 flags 0 maxoplen 0 > random: harvesting attach, 8 bytes (4 bits) from cryptosoft0 > Device configuration finished. > procfs registered > panic: No usable event timer found! > cpuid =3D 0 > KDB: stack backtrace: > db_trace_self() at db_trace_self_wrapper+0x28 > pc =3D 0xffffff80004460b4 lr =3D 0xffffff800004eaf8 > sp =3D 0xffffff800000b8e0 fp =3D 0xffffff800000ba00 > > db_trace_self_wrapper() at vpanic+0x170 > pc =3D 0xffffff800004eaf8 lr =3D 0xffffff80001c9088 > sp =3D 0xffffff800000ba10 fp =3D 0xffffff800000ba90 > > vpanic() at panic+0x4c > pc =3D 0xffffff80001c9088 lr =3D 0xffffff80001c9118 > sp =3D 0xffffff800000baa0 fp =3D 0xffffff800000bb20 > > panic() at cpu_initclocks_bsp+0x3b4 > pc =3D 0xffffff80001c9118 lr =3D 0xffffff800045bff8 > sp =3D 0xffffff800000bb30 fp =3D 0xffffff800000bb80 > > cpu_initclocks_bsp() at initclocks+0x28 > pc =3D 0xffffff800045bff8 lr =3D 0xffffff8000171994 > sp =3D 0xffffff800000bb90 fp =3D 0xffffff800000bb90 > > initclocks() at mi_startup+0x11c > pc =3D 0xffffff8000171994 lr =3D 0xffffff800016ea90 > sp =3D 0xffffff800000bba0 fp =3D 0xffffff800000bbd0 > > mi_startup() at virtdone+0x5c > pc =3D 0xffffff800016ea90 lr =3D 0xffffff800000108c > sp =3D 0xffffff800000bbe0 fp =3D 0x0000000000000000 > > KDB: enter: panic > [ thread pid 0 tid 100000 ] > Stopped at kdb_enter+0x40: > db> > > _______________________________________________ > freebsd-arm@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-arm > To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmokxwNDNM9fNEaPC_%2BKHwkjc8Y_F%2BxKK0dTsGTvZuNU39g>