On 08/26/2017 07:00 PM, Michael Brown wrote: > On 26/08/17 17:11, Heinrich Schuchardt wrote: >>> If you somehow have SetTimer() working without being interrupt driven, >>> then I am prepared to commit a patch to iPXE which avoids halting the >>> CPU if interrupts are disabled (at the CPU level). You then just need >>> to ensure that U-Boot explicitly disables interrupts at the CPU level >>> (rather than leaving them enabled but with no active interrupt sources). >> >> I guess the information concerning config/nap.h could be added to >> http://ipxe.org/buildcfg/. > > I don't plan to add it there. It's a sufficiently ugly hack that I'd > prefer people to have to find this mailing list thread if they want to > use it; it's not something that should ever be documented as the > "proper" way to fix it. > > I still don't understand how you have SetTimer() working without any > interrupts but, on the assumption that you have somehow made this work, > I'm still happy to add code to iPXE that will skip halting the CPU if > interrupts are disabled (at the CPU level, i.e. detectable with just a > CPU instruction). > > Your U-Boot UEFI implementation (which is apparently not using > interrupts anyway) can then just choose to disable interrupts at the CPU > level. This would then cause iPXE to skip halting the CPU. End users > need never even know that there was a problem that had to be solved. > >> With the cpu_nap adjustment iPXE is now working fine for me when >> starting from U-Boot. I have tested >> * dhcp >> * sanhook iSCSI-target >> * chain http-target >> * kernel http-target >> * boot (after calling kernel) >> * exit >> * reboot > > Excellent! When will your code be available for general use? I'd like > to try this out.
See https://github.com/xypron/u-boot-odroid-c2/tree/protocols The relevant patches are enumerated in https://github.com/xypron/u-boot-odroid-c2/blob/protocols/patch/patch-efi-next They are applicable to the HEAD of http://git.denx.de/u-boot.git If you have no U-Boot based system you can also try it on x86 via QEMU. I am happy to receive you feedback. Regards Heinrich > >> I used a lot of DEBUG options to analyze what was going wrong in >> U-Boot's UEFI implementation. I could not find a documentation page on >> this > > It's documented on the main download page, at > > http://ipxe.org/download#debug_builds > > Michael > _______________________________________________ ipxe-devel mailing list ipxe-devel@lists.ipxe.org https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel