caemyr@myopera.com wrote:
For that we need Colin to explain Aleksiej how is linux sysreg doing backtrace with /KDSERIAL enabled
In the loop which reads from the serial buffer:
if (strstr(Buffer, "kdb:>")) { ++KdbgHit;
if (KdbgHit == 1) { /* We hit Kdbg for the first time, get a backtrace for the log */ safewrite(ttyfd, "bt\r", 3); continue; } else { /* We hit it yet another time, give up here */ [Reboot the VM and let rosautotest continue with the next test] } } else if (strstr(Buffer, "--- Press q")) { /* Send Return to get more data from Kdbg */ safewrite(ttyfd, "\r", 1); continue; }
And yes, /KDSERIAL is the key here. All these commands are sent over the serial line. I don't remember how it's done exactly, but bootcdregtest should always boot into "ReactOS (RosDbg)", which includes the /KDSERIAL parameter.
- Colin