/srv/irclogs.ubuntu.com/2016/04/29/#ubuntu-arm.txt

=== chihchun_afk is now known as chihchun
=== chihchun is now known as chihchun_afk
=== chihchun_afk is now known as chihchun
=== chihchun is now known as chihchun_afk
MartynGood morning everyone!14:23
=== yofel_ is now known as yofel
MartynI am -><- this close to screaming at the UEFI code16:43
MartynI hate doing first-article bring-up of new chips sometimes16:43
MartynBooting can be a real pain in the ass16:44
MartynAnyone here have extensive experience with UEFI and arm64?16:46
mrutlandMartyn: I have some16:50
MartynHEY!  You're online!16:50
mrutlandMartyn: what trouble are you having?16:51
Martynokay, so I am trying to bring up on a Juno board16:52
mrutlandThose have upstream support in EDK2, so what exactly are you trying to do?16:52
MartynI'm trying to boot over PCIe16:53
Martynso I need to initialize the PCIe bus early, in UEFI16:53
Martyn( this is on the A57 )16:54
MartynHowever, once I do that initialization and copy/unpack the kernel into a bootable memory address -- The kernel fails to boot as -it- tries to re-initialize it16:55
mrutlandMartyn: which Juno revision?16:56
Martynr216:57
Martynr2p016:57
Martynoh wait -- that's wrong16:58
MartynI have Cortex A57 - r1p116:58
Martynand the a53 is r0p316:58
Martynso it's juno r116:58
mrutlandHmm, that _should_ work. Which FW, which kernel, and are you using ACPI or DT?16:59
MartynI'm using devicetree, kernel 4.6-rc5 ( current mainline ), and unsure which firmware17:00
MartynAlso, I've tested booting from SATA just to make sure that I'm not having some weird XAUI issue, and I can boot from SATA just fine17:01
Martynalso I can boot from 10GigE ( also XAUI )17:01
mrutlandMartyn: So which PCIe device(s) do you have plugged in in the failing case?17:02
Martynbut when I try to cluster boot over PCIe .. somehow initializing the PCIe bus early results in a deadlock condition once the mainline kernel starts to boot.  I don't have a 1wire debug available, or KEIL debug over JTAG, so I'm kind of stuck17:02
mrutlandMartyn: I was under the impression that the SATA was over PCIe, so what do you mean by "boot over PCIe"? Which device?17:03
Martynjust a PCIe debug board I built.  I'm clocking the data in, and all the data is well ordered17:03
MartynI'm trying to do something San Mehat did back at VA Linux Systems back in the early 2000's ... I am putting together a TCP/IP stack over PCIe, so that I can use one a64 card to boot another directly.17:04
mrutlandMartyn: given that SATA works (over PCIe), the issue sounds specific to your debug board; I'm not sdure I can be of much help. :/17:05
Martynso the board that's plugged into the PCIe bus is fairly simple -- a SPEAr 1340 w/ single channel PCIe 2.0 RC/EP port17:06
Martynand all it does it clock in the data -- the kernel does load correctly into memory, and I have uncompressed it into RAM and can even start booting it17:06
Martynthe -problem- is that the entire PCIe bus locks up right afterwards.  I don't think the PCIe bus likes being re-initialized by when the kernel reboots17:07
Martynreboots/boots17:07
MartynIs there a way to prevent the kernel from attempting to re-initialize the PCIe bus, given that I've already done it during UEFI?17:07
Martynoh .. interesting.  I just tried to checkout a fresh copy of EDK2 -- issues with git17:12
Martynwarning: remote HEAD refers to nonexistent ref, unable to checkout.17:12
mrutlandMartyn: I don't follow why that would only be a problem when your board is plugged in? Surely it re-initialises it anyway?17:12
MartynThat's what I was thinking... PCIe has to be initialized to get SATA working, so I figured this would be safe as houses17:13
Martynhowever, I'm not doing anything significantly more complex than what happens during SATA boot17:13
MartynI am copying data from the card I built, the data copies in, and as soon as the kernel does a PCIe probe -- BANG17:14
Martyndeadlock17:14
MartynBah .. I need to get JTAG on this17:15
mrutlandIt may be worth asking on the linux-arm-kernel mailing list; this sounds like a PCIe issue, and people there are more familiar with the ARM/ARM64 details for that than I am17:19
MartynYeah.  With the A57/v8 chips starting to get a lot more popular out there ... I figured that y'all might be doing some unusual cluster booting techniques like I am here17:19
MartynWill do17:19
MartynLKML can be ... contentious :)17:20
MartynLAKML is also .. contentious :)17:20
mrutlandI boot my Juno with GRUB and TFTP, which works well enough for me17:22
mrutlandThere are some nice people on LAKML (and LKML), if you can ignore the noise17:23
MartynHeh .. this work doesn't end with the Juno, of course.  just like with Smooth-Stone/Calxeda -- early steps17:25
MartynWell, for now I'll stick to booting on 10gigE17:25
MartynBut I need to crack this PCIe issue17:25
Martynmrutland : GAH!  solved it.19:03
Martynmrutland : It was an out-of-order transaction happening on the PCIe bus... for some weird reason, the PCIe IP on the Juno isn't allowing it.19:04
MartynIS there a limitation on the a57's architecture that breaks when there are out-of-order transactions on PCIe? ( like there was on the A9's? )19:05
MartynIs relaxed ordering allowed?19:06
Martyn( If I turn off the relaxed ordering bit in the TLP, things work )19:06
Martynthat would be bad news for things like 8 and 16 lane graphics cards...19:07

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!