caemyr(a)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