> I recently ran into problem where I needed a stacktrace to figure out > why EHCI - USB path (usb_allocmem) is not working and I couldn't get > access to ddb console because the keyboard was unusable. > > I finally found out I could do the print like below and it gave me a > usable stacktrace. > > That 'cold' condition doesn't work for some reason (can BIOS/OS give > indication it is cold boot?). Anyway it is much better to give a > stacktrace to user so that they can give it back to developers.
The use of `cold' here was a quick way to get this working, when we were debugging a much earlier panic in sweden. But I do not really want to perform the backtrace unconditionnaly, because the backtrace code may fault itself (or have bugs), or simply print too much and cause the initial panic message to disappear. When the system is still bootstrapping, the odds of the traceback causing trouble, are lower. However I have been working recently on kernel console code changes, which (among other things) let the kernel know if console _input_ is available. The `cold' test will then change to `no console input available' and this should work in your case. Miod